On Sun, Jan 09, 2011 at 03:58:24PM +0100, Lukas Zeller wrote:
On Jan 9, 2011, at 14:04 , Chris G wrote:
>> Even if there was, how would such a system handle conflicts? To resolve
>> conflicts without simply duplicating items and putting the burden on the
>> user, you will end up parsing the conflicting items and merging them,
>> which defeats much of the advantage of "moving around blobs of data"
as
>> rsync does.
>>
> Rsync (or at least wrappers which use it) can decide which of two files
> to keep by looking to see which is the newer.
If it was that easy :-)
Sync peers all have slightly differening ideas of the concept "calendar item"
or "contact", so the real challenge is not just to find which side has most
recent data, but especially which data is available at one side at all. If you just choose
"most recent", you'll eventually loose all data but what the dumbest (most
limited) sync participant can store.
Just imagine a mobile which stores name and tel numbers, but no postal address. If the
most recent update (say, to a telephone number) comes from such a device, there's a
whole lot of field by field merging magic needed to avoid loosing the postal address a
more capable device might have.
I'm designing (in my mind) the way the data is stored as well as the
synchronisation system.
If the data is stored as one file per record - e.g. each address/contacts
entry is a separate file then I see no major issue. *Both* ends store
all the data, name, address, phone number, E-Mail and whatever. Then
an rsync type approach of always keeping the latest one will work pretty
well - the only case it won't handle is if both ends are changed between
synchronisation runs.
By the way, no, I can't imagine a mobile which stores only names and
telephone numbers! :-) Part of the point of synchronising two devices
(for me anyway) is to have the same data on both, by which I mean *all*
of the same data for a given person.
If I add some data to my desktop contacts list and then synchronise with
my PDA/phone I would be most upset if the synchronisation software
silently ignored that change because the phone/PDA doesn't have a
matching field to put it in. It's exactly this issue which prompted my
initial comments about the difficulty of handling the differences
between what different devices store. I want to force them to be the
same, otherwise it's almost inevitably broken.
--
Chris Green