Index: components/variations/proto/study.proto |
diff --git a/components/variations/proto/study.proto b/components/variations/proto/study.proto |
index d86a36239b2b5818ce7ed40ddae34a3dc59bc77f..0e3c240406b9414942233d92aeef0ea39b2572b2 100644 |
--- a/components/variations/proto/study.proto |
+++ b/components/variations/proto/study.proto |
@@ -44,7 +44,7 @@ message Study { |
// An experiment within the study. |
// |
- // Next tag: 11 |
+ // Next tag: 12 |
message Experiment { |
// A named parameter value for this experiment. |
// |
@@ -79,6 +79,34 @@ message Study { |
// Optional id used to uniquely identify this experiment for Chrome Sync. |
optional uint64 chrome_sync_experiment_id = 10; |
+ // Specifies the feature association parameters for this experiment group. |
+ // |
+ // Next tag: 5 |
+ message FeatureAssociation { |
+ // Optional list of features to enable when this experiment is selected. |
+ // Command-line overrides take precedence over this setting. No feature |
+ // listed here should exist in the |disable_feature| list. |
+ repeated string enable_feature = 1; |
+ |
+ // Optional list of features to disable when this experiment is selected. |
+ // Command-line overrides take precedence over this setting. No feature |
+ // listed here should exist in the |enable_feature| list. |
+ repeated string disable_feature = 2; |
+ |
+ // Similar to |forcing_flag|, this is an optional name of a feature which |
+ // will cause this experiment to be forced on, if that feature is enabled |
+ // from the command-line. Experiment with this set are not eligible for |
+ // selection via a random dice roll. |
+ optional string forcing_feature_on = 3; |
+ |
+ // Similar to |forcing_flag|, this is an optional name of a feature which |
+ // will cause this experiment to be forced off, if that feature is |
Ilya Sherman
2015/09/16 00:50:44
It's weird to say "will cause this experiment to b
Alexei Svitkine (slow)
2015/09/23 22:01:27
Good catch, you're right - the wording is incorrec
|
+ // disabled from the command-line. Experiment with this set are not |
+ // eligible for selection via a random dice roll. |
+ optional string forcing_feature_off = 4; |
Ilya Sherman
2015/09/16 00:50:44
Am I understanding correctly that only one of forc
Ilya Sherman
2015/09/16 00:50:44
Am I understanding correctly that for a single exp
Alexei Svitkine (slow)
2015/09/23 22:01:27
I considered this approach earlier but didn't like
Alexei Svitkine (slow)
2015/09/23 22:01:27
Correct. The following are mutually exclusive:
{f
Ilya Sherman
2015/09/24 01:11:32
Hmm. Any experiment that has a forcing_feature_on
Alexei Svitkine (slow)
2015/09/24 20:49:20
Again, I think that reduces flexibility. We've see
Ilya Sherman
2015/09/25 03:47:22
Well, the field could be repeated, if the concern
Alexei Svitkine (slow)
2015/09/25 03:56:51
Groups have other features though, such as associa
Ilya Sherman
2015/09/25 04:33:36
Alright, you've convinced me :)
|
+ } |
+ optional FeatureAssociation feature_association = 11; |
+ |
// Optional name of a Chrome flag that, when present, causes this experiment |
// to be forced. If the forcing_flag field is set, users will not be |
// assigned to this experiment unless that flag is present in Chrome's |