Wikimedia Product/Wikimedia Product Infrastructure team/Web Store Notes

The Product Infrastructure team (passively) maintains browser extensions allowing app users to add the current wiki page to their default reading list.

Web store links:


 * Chrome: https://chrome.google.com/webstore/detail/wikipedia-reading-lists/nngeaaogaldpfiedmmpicdnoddglbkmi
 * Firefox: https://addons.mozilla.org/en-US/firefox/addon/wikipedia-reading-lists

The Safari extension is a legacy -style extension and is no longer available through official Apple channels as of the sunset of the Safari Extension Gallery in September 2019. It will require converting to a Safari App Extension if we wish to distribute it again through the app store. (T251311)

Code repos:


 * WebExtension (Chrome/Firefox): https://github.com/wikimedia/webextension-readinglists
 * Legacy Safari extension: https://github.com/wikimedia/readinglists-extension-safari

Packaging

 * zip up files intended for distribution
 * make sure  is in the root directory of the zip file

Sign in

 * 1) go to https://chrome.google.com/webstore/developer/dashboard
 * 2) sign in as androiddevconsole@wikimedia.org

To add a new extension

 * 1) click "add new item"
 * 2) upload the zip file
 * 3) add all relevant screenshots/details
 * 4) save draft or publish

NOTE: See full process for detailed instructions

To edit an existing extension

 * 1) click the "edit" link corresponding to the relevant extension
 * 2) adjust desired info

Sign in

 * 1) go to https://addons.mozilla.org/en-US/developers/
 * 2) sign in as androiddevconsole@wikimedia.org

To add a new extension

 * 1) click "submit a new add-on"
 * 2) upload the zip and add screenshots and brief summary
 * 3) submit
 * 4) full description and details can be added later

NOTE: see full process for detailed instructions

To edit an existing extension

 * 1) click "edit listing" for the relevant add-on
 * 2) to upload a new version, click "upload new version" in the upper left box
 * 3) click "edit" in any section to edit any other desired info

Full process
Web store process notes copied from https://docs.google.com/document/d/19EQStRx3jNPoEm6M9L6sozk9r9jfQJ1yBuIwK7tf7mU/edit

Chrome

 * 1) Create your app’s zip file
 * 2) Must contain app’s manifest:
 * 3) App name
 * 4) Version
 * 5) Images
 * 6) Icon, at least one screenshot and one promo image
 * 7) If using Native Client, can reduce size of download package
 * 8) Create a developer account
 * 9) Use new account instead of personal
 * 10) https://developer.chrome.com/webstore/terms
 * 11) For hosted app, need to prove that your dev account owns the URLs that comprise the app
 * 12) To have Chrome Web Store show “Available for Android”, app must have same  name as Google Play listing, both apps owned by same dev account
 * 13) Upload your app
 * 14) If need app ID or OAuth access token to complete code = need to upload while still writing code
 * 15) Otherwise can wait until app is finished; can upload many times before publishing
 * 16) Sign into dev account from above
 * 17) If never uploaded before, need to accept dev agreement
 * 18) Pick a payments system
 * 19) Can omit for free apps
 * 20) Provide store content
 * 21) Detailed description of app
 * 22) 128x128 icon (may reuse app icon) - for store
 * 23) At least one 1280x800 or 640x400 screenshot or YouTube video
 * 24) 440x280 small tile icon - for Chrome Web Store wall
 * 25) https://developer.chrome.com/apps/manifest/icons
 * 26) Primary category where app should be listed
 * 27) App’s language
 * 28) Pay the developer signup fee
 * 29) Before publishing 1st app, pay one-time $5 fee
 * 30) Publishing to test accounts
 * 31) Will not appear in search results
 * 32) Need to give testers direct link to listing
 * 33) Will need to unpublish app if want to publish to world later
 * 34) Publishing to the world
 * 35) Internationalizing
 * 36) Decide which locales you want to support.
 * 37) Internationalize and localize the app's UI.
 * 38) Localize your app's name and description.
 * 39) Upload your app using the Chrome Developer Dashboard.
 * 40) Edit your listing, providing localized versions of the detailed description and screenshots.
 * 41) Specify which regions you want to support.
 * 42) Control how fast your app reaches users
 * 43) “Max deploy percentage” control can limit the percentage of existing users that are updated to the latest version of the app through the Chrome auto-update mechanism

Firefox

 * Icons: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/icons
 * https://developer.mozilla.org/en-US/Add-ons/AMO/Policy/Agreement
 * Must provide testing info, and, if applicable, testing credentials required to use the add-on if an account is needed for any part of the add-on’s functionality
 * Must provide human-readable source code during submission, as well as instructions on how to reproduce the build
 * Must disclose how the add-on collects, uses, stores and shares user data in the privacy policy field on AMO
 * Privacy policy must be the full policy text; it cannot be a link to an externally hosted privacy policy. In addition, the privacy policy must:
 * be specific and exclusive to the add-on,
 * clearly describe the purpose of the data collection,
 * set forth the exact data to be collected,
 * address the add-on’s particular privacy properties.
 * A summary of this information must be included in the add-on’s listing description.
 * Add-on must be signed using a Mozilla Certificate
 * https://developer.mozilla.org/en-US/Add-ons/AMO/Policy/Agreement
 * Firefox Account
 * Describe Add-on:
 * Name
 * Add-on URL
 * Summary
 * This add-on is experimental
 * This add-on requires payment, non-free services or software, or additional hardware
 * Select up to 2 Firefox categories for this add-on
 * Select up to 2 Firefox for Android categories for this add-on
 * Support email and website
 * License
 * This add-on has a privacy policy
 * Notes to Reviewer