Firefox:1.5 Extension Manager Upgrades
Low opportunity cost updates to EM
Contents
Enhanced Installation
Goal
Simplify the way extensions are installed and registered so that:
1. third party applications can easily register and deregister extensions that live with their code. 2. developers can easily register extensions that they are developing out of a location apart from their build (e.g. their home directory) 3. developers can easily install extensions for testing.
Method of Installing
There are two methods of installing - installing and registering. Installing is copying the extension's files into the Firefox Application or Profile directory, and Registering is telling Firefox that the extension's files live elsewhere.
To install an extension, simply copy (or deflate) its files to:
bin/firefox/extensions/{GUID}/ or <profile>/firefox/extensions/{GUID}/
To register an extension, create a text file containing the file URI to the extension in:
bin/firefox/extensions/{GUID} or <profile>/firefox/extensions/{GUID}
See http://www.mozilla.org/projects/firefox/extensions/em-changes.html for a description of the changes.
Details
The Extension System will check the mtime of the two extensions folders every time Firefox starts. If the mtime changes, then Firefox will correlate the contents of the dir with the extensions list it has in its datasource. If there is a difference, it will register the extension present either in the new dir or in the dir pointed to by the text file, or deregister if a directory or file is missing.
Notes
Improvements to command line flags are no longer needed since this system is portable and usable by developers and installers.
Installed/Uninstalled Notifications
Observer notifications when an extension is installed, uninstalled, enabled or disabled.
Server-Side GUID Blacklist
Ability to shut down extensions remotely using a blacklist that we control. Client checks in periodically for additions and if it finds one, disables the extension. The disabled extension should say disabled because of blacklist, provide a link to the reason why, and a button to easily uninstall (what about an option for the user to override blacklisting per extension?).
More: Firefox:1.1 Extension Manager Blacklist
Improvements to Installation Experience
Likely OUT. Make user type "I agree" or some such when installing untrusted content.
Work Estimate
Identify + Implement + Land = 15d