Firefox/Go Faster/Client Implementation Plan: Difference between revisions

Jump to navigation Jump to search
Add known-good set info
(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 all system add-ons currently available for that build. This means including the add-ons in installers, packages, dmgs and the update mars for the application.
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 and compare them to those in the system add-ons install location. If the add-on doesn't exist in the install location or the version there is older than the shipped version or incompatible with the current application then the shipped version will be copied to the install location.
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 any new or updated system add-ons into the system add-on install location"
* '''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.
canmove, Confirmed users
1,570

edits

Navigation menu