canmove, Confirmed users
1,570
edits
(Change update procedure) |
(Add known-good set info) |
||
| Line 1: | Line 1: | ||
This is a straw-man client implementation plan that covers the main [[Firefox/Go Faster/Client Requirements|Client Requirements]]. The rough set of bugs needed to implement this are called out. | This is a straw-man client implementation plan that covers the main [[Firefox/Go Faster/Client Requirements|Client Requirements]]. The rough set of bugs needed to implement this are called out. | ||
=Known-good sets= | |||
To reduce the number of possible configurations thus simplifying QA and dependency issues the client implementation depends on the concept of a "known-good set" of system add-ons. This is a list of add-on IDs and versions to run for a particular application. The application will only run with a known-good set of system add-ons available or it will not enable any system add-ons and run standalone. | |||
Every application package and update will be distributed with a known-good set of system add-ons for that application. Periodically the application will attempt to discover a new known-good set to be installed and used. | |||
=Running system add-ons= | =Running system add-ons= | ||
| Line 61: | Line 67: | ||
=Bootstrapping= | =Bootstrapping= | ||
In order to give a good experience to users using a new profile or updating after not having used the client in a while the application should ship with | In order to give a good experience to users using a new profile or updating after not having used the client in a while the application should ship with a known-good set of system add-ons for that build. This means including the add-ons in installers, packages, dmgs and the update mars for the application. | ||
* '''Bug: Include system add-ons in application packages and updates''' | * '''Bug: Include system add-ons in application packages and updates''' | ||
On the startup of a new version of an application the client will find the add-ons included with the application | On the startup of a new version of an application the client will find the add-ons included with the application, copy them to the install location and then use them as the known-good set. | ||
* '''Bug: On startup with a new application version install | * '''Bug: On startup with a new application version install all bundled system add-ons into the system add-on install location" | ||
=Add-on Dependencies= | =Add-on Dependencies= | ||
Declaring dependencies between add-ons isn't supported. Each add-on is downloaded individually and if there are network issues it will be possible for one system add-on to update when another doesn't. For now if add-ons have dependencies they should either be shipped in Firefox so we can use version checks to enforce them or the add-on should programmatically check that the necessary dependencies are installed. | Declaring dependencies between add-ons isn't supported. Each add-on is downloaded individually and if there are network issues it will be possible for one system add-on to update when another doesn't. For now if add-ons have dependencies they should either be shipped in Firefox so we can use version checks to enforce them or the add-on should programmatically check that the necessary dependencies are installed. | ||