Skip to content

myFUNAMBOL + Device ID => Slow Syncs

In SyncEvolution <= 0.7 it was necessary to configure the so called “deviceId” manually. This string is used by a SyncML server to distinguish multiple different devices of the same user. When different devices use the same ID and use the same account on a server, then the server may get confused about whether it is in sync with the single device that it sees. When that happens, it asks for a slow sync instead of the normal two-way sync.

During a slow sync the client sends all of its items to the server, which then must match these items against the ones it has stored itself. This is an error-prone process because often client and server do not store items in exactly the same way. Failure to match leads to duplicates. myFUNAMBOL tries to avoid duplicates of slightly different items which are recognized as matching by merging them, but when the difference was due to intentional modifications on one side these changes might get discarded. Also, if an item was deleted on one side, but not the other, then it will be recreated. It’s obvious that slow syncs need to be avoided at all costs.

According to the SyncML standard the device ID is an opaque string. As I just learned when I ran into unexpected slow syncs, it has to be in a certain format when connecting to myFUNAMBOL. myFUNAMBOL only supports synchronizing with one phone. Devices which are not phones are detected based on their device ID: it has to start with a known prefix, otherwise myFUNAMBOL assumes that the device is your phone. Each time another client connects which is accidentally recognized as “phone”, a slow sync is requested by the server.

Make sure that your deviceId starts with sc-pim- when talking to myFUNAMBOL!

Starting with 0.8 beta 1, the device ID will be set automatically to a string starting with that prefix, followed by random numbers to ensure that it is unique. This applies only to new configurations, existing configurations will not be updated, because changing the device ID also triggers a slow sync.

Post a Comment

Your email is never published nor shared. Required fields are marked *