Firefox OS/Syncto: Difference between revisions

Add a short Implementation section, ref. https://bugzilla.mozilla.org/show_bug.cgi?id=1191771
(Add a short Implementation section, ref. https://bugzilla.mozilla.org/show_bug.cgi?id=1191771)
Line 35: Line 35:
* Help growing the storage solution around Firefox Account
* Help growing the storage solution around Firefox Account
* Help growing the Firefox Account ecosystem and get rid of the old BrowserID protocol for Firefox Account in favour of the OAuth Bearer Token flow.
* Help growing the Firefox Account ecosystem and get rid of the old BrowserID protocol for Firefox Account in favour of the OAuth Bearer Token flow.
= Implementation =
Adding Firefox OS to the FxSync family involves various components (nice diagram of this coming soon):
* [https://github.com/mozilla-services/syncto syncto server] - sits inbetween the device and the actual Sync server, as a proxy.
* A new 'synchronizer' background app (initially behind a build flag)
* Changes to the settings app (initially behind a build flag) to activate and configure Sync
* Changes to the system app (initially behind a build flag) to wake up the synchronizer app and report successful/failed result back to the settings app
== The synchronizer app ==
The synchronizer app uses [https://github.com/Kinto/kinto.js kinto.js] to handle the sync process, together with [https://github.com/michielbdejong/fxsync-webcrypto fxsync-webcrypto] which takes care of the WebCrypto calls.
It has various 'adapters', which handle the communication with the device's various DataStores and other low-level APIs (initially only for history and passwords, but adapters for tabs and bookmarks will probably also follow later). FxDesktop currently stores data for these four collections, plus addons and preferences [?: what about form data?].