Mobile/Fennec/Android/Switchboard/Admin
< Mobile | Fennec | Android | Switchboard
Jump to navigation
Jump to search
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 :)