Closed Bug 1338153 Opened 7 years ago Closed 4 years ago

Add an MDN doc about installing WebExtensions in enterprise environments

Categories

(Developer Documentation Graveyard :: Add-ons, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jimm, Unassigned)

Details

(Whiteboard: we-enterprise)

Our documentation on this is all over the place. Most of the information out there is oriented toward xul based add-ons. Some of this documentation is on MDN (including pages that have been marked deprecated), and out on personal blogs.

Lets put together a good MDN page on the basics.
Component: WebExtensions: General → Add-ons
Product: Toolkit → Developer Documentation
Version: 47 Branch → unspecified
(In reply to Jim Mathies [:jimm] from comment #0)
> Our documentation on this is all over the place. Most of the information out
> there is oriented toward xul based add-ons. Some of this documentation is on
> MDN (including pages that have been marked deprecated), and out on personal
> blogs.
> 
> Lets put together a good MDN page on the basics.

Hi Jim, I'm about to start work on this bug. Do you have a list of the MDN pages and personal blogs that contain the information needed to create the page?

Thanks!
Flags: needinfo?(jmathies)
(In reply to Richard Bloor from comment #1)
> (In reply to Jim Mathies [:jimm] from comment #0)
> > Our documentation on this is all over the place. Most of the information out
> > there is oriented toward xul based add-ons. Some of this documentation is on
> > MDN (including pages that have been marked deprecated), and out on personal
> > blogs.
> > 
> > Lets put together a good MDN page on the basics.
> 
> Hi Jim, I'm about to start work on this bug. Do you have a list of the MDN
> pages and personal blogs that contain the information needed to create the
> page?
> 
> Thanks!

Yeah let me figure something out here. We received great feedback from a 3rd party on enterprise level features, but unfortunately it's under an NDA. So let me put together a summary I can post here.
Flags: needinfo?(jmathies)
Covering most of this would make a great start - 

Installation/Removal - win, mac, linux
* https://developer.mozilla.org/en-US/Add-ons/Installing_extensions
** ^ Some of this data may be obsolete or not apply to webextensions

Open enterprise bugs based on 3rd party feedback
* https://bugzilla.mozilla.org/buglist.cgi?quicksearch=%5Bwe-enterprise%5D&list_id=13563593

Preference and addon locking
* http://kb.mozillazine.org/Locking_preferences
** Do we have a way to lock the install of a webextension? Does pref locking suffice for this?
** Do we have a way to hide a webextension in the addon's manager?  (don't think so)

Certificate Store utlities for managing certs
* https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil

WE APIs
-------
Intercept data sent and received using HTTP “GET”, “POST”, “PUT” methods
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/RequestFilter
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns
* Bug 1255894 - Support a webRequest.onResponseData event to filter HTTP response bytes as they come
* Blocking incoming content
** https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest/BlockingResponse

Managing / monitoring downloads
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/downloads

Basic UI examples
* adding a button, adding a context menu for a link
 
3rd-Party extension mechnisms for custom functionality
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging

Internationalization of extensions
* https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Internationalization

Sample webextension - Code using some of these features would be helpful
Thanks Jim, I'll send you a link to the draft tomorrow or Thursday.
Hi Jim, I've reviewed the links provided and I'm slightly confused. The bug title seemed to refer to 'installing' WebExtensions, but a lot of the links seem to be more specific to 'building' features, e.g. intercepting data APIs, monitoring downloads, internationalization - perhaps I need more background, but I'm unclear how these relate to installation.

I was assuming we were looking for documentation similar to the Chrome guide to adding extensions for IT administrators (https://support.google.com/chrome/a/answer/6306504?hl=en, https://support.google.com/chrome/a/answer/188453?hl=en, etc.) So far I don't seem to have found any useful information, just some hints, e.g. on https://developer.mozilla.org/en-US/Add-ons/WebExtensions/WebExtensions_and_the_Add-on_ID "If you are loading the add-on from it's XPI file, are not loading it temporarily using about:debugging and it is not signed." suggesting there is a mechanism to load unsigned add-ons (e.g.those not submitted to AMO) and the use of "unlisted versions" mentioned on https://developer.mozilla.org/en-US/Add-ons/Distribution for self-distributed AMO signed add-ons - but I'm, so far, missing the instructions for self-distribution.  

Then, with some additional relevant information (e.g. locking preferences, managing certificates) although those seem to be more relevant to managing Firefox in an enterprise environment than being specifically related to installing WebExtensions? And should be included on https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment (which contains the locking preferences details already)?
Flags: needinfo?(jmathies)
Here are the questions this MDN doc should answer - 

Assume the approach involves a 3rd party installer not tied to Firefox, and that Firefxo is already installed on the machine.

1) How to detect if Firefox release is installed?
2) Where should web extension files be installed?
3) Once installed, how to register a web extension with Firefox on windows, osx, and linux?
4) How can this web extension be set up such that users can't disable or uninstall it?
5) How can the installer access and manage the Firefox certificate store?
6) Links to common development related interests

Does this help?
Flags: needinfo?(jmathies)
Priority: -- → P5
I don't recall why the discussion on this thread ended, however, I'm wondering whether this was resolved by the creation of https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Distribution_options/Add-ons_in_the_enterprise
Flags: needinfo?(jmathies)

Hey Mike, this bug came out of some work I did a couple years ago with a 3rd party vendor that was moving away from code injection and adopting webextensions. Not sure if we ever developed the right docs here, they ran into a lot of problems figuring out how to get webext auto-installed and enabled. You were involved in the email threads. I'd like to hand this question to you to make a decision as I'm not involved in the enterprise stuff anymore.

Flags: needinfo?(jmathies) → needinfo?(mozilla)

I think we can use this to create/expand an enterprise document on Sumo.

What do you think Joni?

Flags: needinfo?(mozilla) → needinfo?(jsavage)
MDN Web Docs' bug reporting has now moved to GitHub. From now on, please file content bugs at https://github.com/mdn/sprints/issues/ and platform bugs at https://github.com/mdn/kuma/issues/.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WONTFIX

There is separate work going on to address this. And our enterprise policy docs cover extensions.

Flags: needinfo?(jsavage)
You need to log in before you can comment on or make changes to this bug.