DEPRECATED. Please use https://github.com/mozilla/normandy-nextgen-study-example instead (Old description: Example Firefox Add-on Shield Study built as a Web Extension with Web Extension Experiments to run privileged code where necessary)
Перейти к файлу
Fredrik Wollsén 694a547ae0 Making sure the final add-on does not show in about:addons 2019-03-01 23:49:49 +02:00
.circleci Updated ci cachebusters to ensure that latest nightly is used 2018-08-31 18:52:58 +03:00
dist Using dist/ as build output directory 2018-04-25 09:36:30 -05:00
docs Making sure the final add-on does not show in about:addons 2019-03-01 23:49:49 +02:00
src Making sure the final add-on does not show in about:addons 2019-03-01 23:49:49 +02:00
test Corrected some test assertions 2019-03-01 10:50:17 +02:00
.babelrc Code coverage for unit tests 2018-06-09 00:34:07 -07:00
.eslintignore Upgraded to shield utils 5.2.0 + ported over improvements from the jestr study 2019-01-31 00:51:32 +01:00
.eslintrc.js Synced eslint rules with utils eslint 2018-06-21 11:28:41 +03:00
.gitignore Upgraded to shield utils 5.2.0 + ported over improvements from the jestr study 2019-01-31 00:51:32 +01:00
LICENSE Added default license file to template 2018-03-09 23:23:16 +02:00
README.md Improved docs in general 2019-03-01 23:45:44 +02:00
karma.conf.js Producing trace-level geckodriver logs in test/results/logs - for debugging failing functional tests in CI 2018-07-29 20:17:14 +03:00
package-lock.json Npm audit fix 2019-03-01 12:13:58 +02:00
package.json Format code after npm run generate 2019-03-01 12:14:27 +02:00
run-firefox.js Added code to npm run test:manual updating the TELEMETRY.md example ping sequence 2019-03-01 23:47:17 +02:00
web-ext-config.js A bit easier docs on using a specific variation 2019-03-01 23:49:17 +02:00

README.md

Shield Studies Add-On Template

CircleCI badge Coverage Status

About This Repository

This repository is intended as an example repository containing templates and good practices for creating a Shield Study add-on for Firefox.

Important notice

We just started supporting a pure Web Extension Experiment workflow in this template with a new version, v5, of the Shield utilities. Even though support for these workflows are yet to pass official QA review, we do not recommend using the old template (for creating legacy boostrapped add-ons using Shield Utils v4) of this template. Creating a legacy boostrapped add-on with the outdated master branch will likely result in a broken Shield study add-on in recent versions of Firefox.

Instead, we recommend that you:

Example Shield add-ons using the experimental Shield API(s):

Chat with us: #shield on Slack about the latest progress and how to help us move faster away from legacy add-ons.

Aims

The aim is to bring together tools and services we've used on other Shield Study add-ons into a template/example repository, so that new projects can come along and get infrastructure together, and be up and running with code, test suites, coverage etc quickly.

Using this template will get you these things:

Bonus:

  • Consistent package.json (fixpack) and package-lock.json
  • Addon-linter
  • Runs nsp during lint

Documentation

It is intended that all parts of this repository have at least outline documentation. If you find any parts that are missing, please file an issue or create a PR.

Using this template

  1. Fork this repository, rename it to reflect your study. Make the repo end with -shield-study
  2. Make this README reflect your study (including removing all of this About This Repository section whilst keeping Seeing the add-on in action and below)
  3. Remove irrelevant example code
  4. Build your study add-on and make the docs reflect your study
  5. File issues/PRs against https://github.com/mozilla/shield-studies-addon-template/ when you come across things to improve in the template

Seeing the add-on in action

See TESTPLAN.md for more details on how to get the add-on installed and tested.

Data Collected / Telemetry Pings

See TELEMETRY.md for more details on what pings are sent by this add-on.

Analyzing data

Telemetry pings are loaded into S3 and re:dash. Sample query:

(OR, if Pioneer, use the below instead)

Telemetry pings are loaded into the encrypted Pioneer pipeline.

Improving this add-on

See DEV.md for more details on how to work with this add-on as a developer.

References