Services/Sync/Addon Sync: Difference between revisions

→‎Are Add-on Settings Synchronized?: Update to archived article for Syncing_custom_preferences
m (formatting)
(→‎Are Add-on Settings Synchronized?: Update to archived article for Syncing_custom_preferences)
 
(7 intermediate revisions by one other user not shown)
Line 4: Line 4:


==What is Synchronized==
==What is Synchronized==
Currently, Sync will only synchronize add-ons that meet the following criteria:
Currently, Sync will synchronize add-ons that meet the following criteria:


* Is an extension or theme (i.e. not a plugin)
* Is an extension or theme (i.e. not a plugin)
Line 15: Line 15:
==Feature Behavior==
==Feature Behavior==


Add-on sync will be enabled for new Sync accounts automatically. Existing Sync users will need to enable add-on sync explicitly (TODO link to SUMO article on how to do this).
Add-on sync will be enabled for new Sync accounts automatically. Existing Sync users will need to enable add-on sync explicitly (see https://support.mozilla.org/en-US/kb/how-do-i-enable-add-sync).


If an add-on meets the criteria for add-on sync (see above), the following actions will be propagated to other Sync-connected devices:
If an add-on meets the criteria for add-on sync (see above), the following actions will be propagated to other Sync-connected devices:
Line 42: Line 42:
This is a complicated issue and the decision was driven mainly by privacy and security concerns.
This is a complicated issue and the decision was driven mainly by privacy and security concerns.


We understand that most users (possibly even an overwhelming majority of them) will want add-on sync to *just work* when they upgrade to a Firefox that supports it. However, there are a number of issues with this.
We understand that most users (possibly even an overwhelming majority of them) will want add-on sync to ''just work'' when they upgrade to a Firefox that supports it. However, there are a number of issues with this.


Most of the issues center around unexpected behavior when syncing add-ons for the first time. It is possible for an existing Sync user to unknowingly launch a Firefox version that supports add-on sync (where the previous version didn't). This could be due to silent Firefox updates, a system upgrade performed by an IT administrator, another user on the machine upgrading Firefox, etc. The first time this device synchronizes, it could pull down add-ons from another device (again, it is possible the other device had add-on sync configured unbeknownst to the user). There are a few issues here:
Most of the issues center around unexpected behavior when syncing add-ons for the first time. It is possible for an existing Sync user to unknowingly launch a Firefox version that supports add-on sync (where the previous version didn't). This could be due to silent Firefox updates, a system upgrade performed by an IT administrator, another user on the machine upgrading Firefox, etc. The first time this device synchronizes, it could pull down add-ons from another device (again, it is possible the other device had add-on sync configured unbeknownst to the user). There are a few issues here:
Line 55: Line 55:
===Why is Functionality Limited to Add-ons from addons.mozilla.org?===
===Why is Functionality Limited to Add-ons from addons.mozilla.org?===


First, this is only the default behavior. The *services.sync.addons.trustedSourceHostnames* preference can be modified to allow other trusted hostnames. (This behavior may change - see {{bug|712834}}).
First, this is only the default behavior. The ''services.sync.addons.trustedSourceHostnames'' preference is a comma-delimited list to allow other trusted hostnames. (This behavior may change to use the trusted sites feature - see {{bug|712834}}).


There are 2 main reasons for this: security/privacy and ease of implementation.
There are 2 main reasons for this: security/privacy and ease of implementation.
Line 65: Line 65:
Since all add-ons on addons.mozilla.org are reviewed prior to being published, there is trust that add-ons hosted there are not malicious and therefore safe to install (providing the user has consented, of course). Since they are safe to install, they are safe to sync.
Since all add-ons on addons.mozilla.org are reviewed prior to being published, there is trust that add-ons hosted there are not malicious and therefore safe to install (providing the user has consented, of course). Since they are safe to install, they are safe to sync.


The second reason is ease of implementation. We eventually want to *support* syncing of **any** add-on. However, there are technical challenges in our way:
The second reason is ease of implementation. We eventually want to support syncing of any add-on. However, there are technical challenges in our way:


* Data storage - Add-ons can be quite large, possibly more than you are allowed to store in Sync's servers. The additional storage of add-on data could also use up a lot more space on Sync's servers, causing the cost of operation of this (free) service to go up (the problem is compounded by the fact that data is encrypted on the client, so we can't de-dupe identical add-ons on the server).
* Data storage - Add-ons can be quite large, possibly more than you are allowed to store in Sync's servers. The additional storage of add-on data could also use up a lot more space on Sync's servers, causing the cost of operation of this (free) service to go up (the problem is compounded by the fact that data is encrypted on the client, so we can't de-dupe identical add-ons on the server).
Line 78: Line 78:
For add-on authors, to sync settings using Sync, there are effectively 3 methods.
For add-on authors, to sync settings using Sync, there are effectively 3 methods.


# Synchronize preferences (see https://developer.mozilla.org/en/Firefox_Sync/Syncing_custom_preferences)
# Synchronize preferences (see https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Firefox_Sync/Syncing_custom_preferences)
# Build a Sync engine (if you need to sync more than just preferences). If you need this, please drop by the #sync channel in [[IRC]] so you can chat with a Sync developer (there are some important details not currently captured formally in any docs).
# Build a Sync engine (if you need to sync more than just preferences). If you need this, please drop by the #sync channel in [[IRC]] so you can chat with a Sync developer (there are some important details not currently captured formally in any docs).
# Build it yourself, not using Sync.
# Build it yourself, not using Sync.


We recognize that having all add-on settings magically synchronize would be a useful feature. We are exploring options for facilitating this. Unfortunately, nothing made the first cut for add-on sync.
We recognize that having all add-on settings magically synchronize would be a useful feature. We are exploring options for facilitating this. Unfortunately, nothing made the first cut for add-on sync.
===Can I have different enabled states on different machines?===
Yes. If you set the preference ''services.sync.addons.ignoreUserEnabledChanges'' to true in '''about:config''' (you may need to create this preference), Sync will not process changes to the enabled state of add-on records coming from the Sync server. However, that Sync client will still generate outgoing record changes, which means that local changes will propagate to clients not having that preference set.
If this preference is set to true, all add-on installs will be installed in the enabled state. However, you can immediately disable the add-on and incoming enabled state changes won't be applied. However, uninstalls will be applied.
Confirmed users
52

edits