thunderbird / enterprise-docs

Documentation for deploying and managing Thunderbird within an organization.
3 stars 4 forks source link

Add section to explain managed storage and how Enterprise IT can preconfigure add-ons deployed in their infrastructure #5

Open jobisoft opened 3 years ago

jobisoft commented 3 years ago

Legacy add-ons had their preferences stored in a Thunderbird preference branch and IT admins could use Enterprise policies to preset extension.* values to override/pre-configure add-on settings.

WebExtensions have no access to Thunderbird's preference branches. They can instead use the managed storage. Using Enterprise policies to override/pre-configure add-on preferences did not require the add-on itself to "know" about this. This is different for the managed storage: The add-on needs to support it as it is the add-on who needs to check if there is a value in the managed storage. To get the colour value of the managed storage, it has to do this:

let managed_colour = await messenger.storage.managed.get("colour");

So if add-ons are used in Enterprise environments and IT admins need the feature to preset some settings, they first need to get in touch with the developer.

Once the add-on supports the managed storage, IT admins can deploy configuration files as described here:

There is an example add-on, which can be used to test this concept:

  1. Follow the instructions given to deploy the storage file. On Windows, one has to create a registry key for the example add-on, which points to a json file:

image

And that file should look like so:

{
  "name":  "favourite-colour-examples@mozilla.org",
  "description": "ignored",
  "type": "storage",
  "data": {
    "colour": "management thinks it should be blue!"
  }
}
  1. Clone the entire example repository, or download it as a zip file.
  2. Open Thunderbird and click on the hamburger menu and select Tools -> Developer Tools ->Debug Add-on
  3. Click on the Load Temporary Add-on ... button and select the manifest.json file in the favourite-colour folder of the downloaded and extracted zip file / cloned repository
  4. Go back to the inbox tab (the tab which has your folders and emails) and click on the Favorite color options button in the toolbar, or go to the add-on manager and manually open the add-ons options. You should see this:

image

It depends on the add-on how the information from the managed storage is used. In this case it is just presented as an information, but it could also lock the config field and enforce the value from the management.

jobisoft commented 3 years ago

I learned, that this is now possible using the standard enterprise policies. See https://github.com/thundernest/sample-extensions/tree/master/managedStorage

So a dedicated section seems no longer needed, but I think it would be a good idea in general, to showcase what is actually possible using enterprise policies, giving some examples, including the managed storage.