Confirmed users
188
edits
No edit summary |
|||
Line 15: | Line 15: | ||
=== Implementation === | === Implementation === | ||
For our initial prototype, we will simply synchronize a list of Addons as a single WBO with a fixed GUID (say, "ADDONS"). The payload of the WBO will be an array of objects, each object storing the addon guid, version and clients on which it is installed. An example: | For our initial prototype, we will simply synchronize a list of Addons as a single WBO with a fixed GUID (say, "ADDONS"). The payload of the WBO will be an array of objects, each object storing the addon guid, version and clients on which it is installed. The object also contains an array of clients on which the addon must be present. An empty array means that the addon is to be installed on all clients. An example: | ||
[ | [ | ||
{ | { | ||
"guid": "{340c2bbc-ce74-4362-90b5-7c26312808ef}", | "guid": "{340c2bbc-ce74-4362-90b5-7c26312808ef}", | ||
" | "clients": { | ||
"MyFennec": "0.6", | |||
"MyFirefox": "0.7pre2" | |||
}, | |||
"allowed": [] // will be installed on all clients | |||
}, | }, | ||
{ | { | ||
"guid": "jetpack@labs.mozilla.com", | "guid": "jetpack@labs.mozilla.com", | ||
" | "clients": { | ||
" | "MyFirefox": "0.5pre3" | ||
}, | |||
"allowed": ["MyFirefox"] // will not be installed on MyFennec | |||
} | } | ||
] | ] | ||
The engine will override the default engine's reconcile method so that we may determine which addons are present on which clients and then take action on any differences: such as updating an addon, installing and addon etc. |