Firefox/Projects/Extension Manager API: Difference between revisions
Jump to navigation
Jump to search
Line 7: | Line 7: | ||
= Goals / Use Cases = | = Goals / Use Cases = | ||
* Support a wider range of add-on types managed through the same | * Support a wider range of add-on types managed through the same API | ||
* Allow application/extension developers to be able to easily query the state of installed items | * Allow application/extension developers to be able to easily query the state of installed items | ||
* Make it easier for applications to replace the add-ons UI with their own implementation | * Make it easier for applications to replace the add-ons UI with their own implementation by making all necessary information available through the defined API | ||
* Remove direct access to the datastore | |||
* Simplify the internal code and speed up startup times | * Simplify the internal code and speed up startup times | ||
* Minimize the use of RDF throughout the backend | * Minimize the use of RDF throughout the backend to allow for easy replacement in the future | ||
* Remove | * Migrate from an RDF based datastore to an SQLite based datastore | ||
* Remove extensions.cache | |||
* Reduce the number of unnecessary restarts during startup | |||
= Design = | = Design = |
Revision as of 12:03, 30 June 2009
Overview
Sprint lead: Mossop
Reviewers: Rob Strong, sdwilsh
- Description
- When encountering a blocked or missing plugin, give the user a button to push that will download and run the plugin installer so they can see their content.
Goals / Use Cases
- Support a wider range of add-on types managed through the same API
- Allow application/extension developers to be able to easily query the state of installed items
- Make it easier for applications to replace the add-ons UI with their own implementation by making all necessary information available through the defined API
- Remove direct access to the datastore
- Simplify the internal code and speed up startup times
- Minimize the use of RDF throughout the backend to allow for easy replacement in the future
- Migrate from an RDF based datastore to an SQLite based datastore
- Remove extensions.cache
- Reduce the number of unnecessary restarts during startup
Design
The new API is proposed at Extension Manager:API Rewrite
Bugs
Progress
- [22/06/09] - Implemented basic API framework and detection of items that need to be processed during startup.
- [23/06/09] - Read manifest data from install.rdf and hook the public API up to the backend. Add tests that verify install location priorities and startup detection.
- [24/06/09] - Performance improvements and hook app all manifest data in the database. Make public wrappers around internal data and add stubs for the install APIs.
- [25/06/09] - Hook up installing from xpi files and add an update checker module.
- [30/06/09] - Set up for processing disabling during startup and add checks for application compatibility.