1,007
edits
Line 40: | Line 40: | ||
=== experimentInfo === | === experimentInfo === | ||
This object contains metadata about the experiment: its name and id, its version number, when it is to be run and for how long, whether it recurs, whether it requires an additional layer of opt-in, and the URLs for further information about it. | This object contains metadata about the experiment: its name and id, its version number, when it is to be run and for how long, whether it recurs, whether it requires an additional layer of opt-in, and the URLs for further information about it. It should contain the following fields: | ||
* startDate: if null, then the experiment will start automatically as soon as it is installed. If you want to instead schedule a date in the future for the test to start, instead set it to a parseable date string. | |||
* duration: an integer, giving the number of days the test is to run for. E.g. if duration is 14 then the test will run from startDate to startDate + 2 weeks. Optional; duration defaults to 7 days if not specified. | |||
* testName: The human readable name of the experiment, as it will be displayed in menus and status pages, etc. Required. | |||
* testId: Can be either a number or a string, but must be unique - an experiment must not have the same id as another experiment or survey. These IDs will end up used in preference names, so it must not contain spaces. Required. | |||
* testInfoUrl: the URL of a page where the user can go to get more information about the experiment. | |||
* testResultsUrl: the URL of a page where experiment results have been published. If no results are published yet, leave this undefined. The presence of a defined testResultsUrl property is what lets the Test Pilot extension know that a test has moved on into the results phase, and update its UI accordingly. | |||
* optInRequired: Set this to true if the test should not start automatically on the start date, but should instead only start if the user explicitly tells it to start. This should be the case for tests that change the Firefox UI, such as A-B tests. Note that the UI to support optInRequired has not yet been implemented in the client as of version 0.3. | |||
* recursAutomatically: Set this to true if the test should recur automatically after it ends. Note that support for recurrence has not yet been implemented in the client as of version 0.3. | |||
* recurrenceInterval: If recursAutomatically is true, then this is the number of days (measured from the startDate) after which the study will begin again. For obvious reasons, this must be longer than duration. Has no effect if recursAutomatically is false. | |||
* versionNumber: An integer for telling apart different versions of the same experiment. Whenever a significant change is made to the experiment code, the versionNumber should be incremented. The version number gets attached to the user's data upload when they submit results for the experiment; it can then be detected on the server side to tell apart submissions from different versions of the experiment. Required. | |||
edits