Mobile/Fennec/Android/Switchboard/Admin
From MozillaWiki
< Mobile | Fennec | Android | Switchboard
Switchboard entries are added through the Kinto Web Administration tool. Only authorized members of the Fennec Team can manipulate the experiments.
- Login via the Kinto admin page (VPN connection is required)
- Authentication method: LDAP
- Username: jdoe@mozilla.com. This is your full LDAP email address.
- Password: your_ldap_password
All experiments are first created in the fennec-staging bucket, are later moved to the fennec-preview bucket for testing and review, and then deployed to the final fennec bucket.
Both fennec-preview and fennec buckets are read-only for all admins.
Experiments
Staging
- Click on fennec-staging bucket :: experiments
- Click on "Create" (or edit/delete icons if you need to change an existing record)
- Enter in the appropriate fields. Example below (see the current list1 for more examples)
- You'll generally want to enter the Name, buckets.min and buckets.max.
- The Description field can be set to explain what the experiments is about.
- The Matching rules can be set to define which people are part of the experiment.
- The Region field can be set to filter people by IP address.
- When done, click on Create Record. This saves the block in the staging bucket.
- If you don't need to make more changes to the list, click on Request review back in the main bucket view. The block should be moved to the fennec-preview bucket.
- Notify your reviewer/QA that the block is ready for testing.
1 Data for the experiments can be found in the public JSON endpoint.
Testing
To test a staged block:
- You can have a look at the preview collection in the preview public JSON endpoint.
JSON Example
{ "last_modified": 1497356981967, "buckets": { "min": "0", "max": "50" }, "match": { "lang": "eng", "country": "USA", "regions": [ "US", "TW", "DE" ] }, "description": "Enable Leanplum SDK - Bug 1351571", "id": "12f8f0dc-6401-402e-9e7d-3aec52576b87", "schema": 1497356742877, "name": "leanplum-start" }
The schema of the available fields is defined below:
{ "required": [ "name", "match", "buckets" ], "type": "object", "properties": { "name": { "type": "string", "title": "Name" }, "match": { "type": "object", "title": "Matching", "properties": { "version": { "title": "Android App Version", "type": "string", "description": "A regexp on the Android app version number (e.g. 47.0a1', 46.0)" }, "device": { "type": "string", "description": "Android device name" }, "lang": { "type": "string", "description": "Language, pulled from the default locale (e.g. eng)" }, "manufacturer": { "type": "string", "description": "Android device manufacturer" }, "country": { "type": "string", "description": "Country, pulled from the default locale (e.g. USA)" }, "userAgent": { "type": "string", "description": "Browser User-Agent regexp. i.e: Firefox/46.0" }, "appId": { "title": "Android App ID", "type": "string", "description": "^org.mozilla.fennec|org.mozilla.firefox_beta|org.mozilla.firefox$" }, "regions": { "uniqueItems": true, "type": "array", "default": [], "description": "Compared with GeoIP lookup.", "items": { "minLength": 0, "title": "Regions", "type": "string", "default": "", "description": "Similar to a GeoIP lookup" }, "title": "Regions" } } }, "description": { "type": "string", "title": "Description" }, "buckets": { "required": [ "min", "max" ], "type": "object", "title": "Buckets", "properties": { "max": { "minLength": 1, "type": "string", "pattern": "^0|100|[1-9][0-9]?$" }, "min": { "minLength": 1, "type": "string", "pattern": "^0|100|[1-9][0-9]?$" } } } } }
Deploying
- Click on staging bucket :: addons
- The staged blocks should be shown with an option to Approve.
- Approve :)