On Fri, 7 Jan 2005 07:41 pm, Mika Raento wrote:
> Ah, no. I realized that for the syncml stuff to work, there would be a
> need to:
>       1 maintain the devinf
>       2 really parse the devinf
>       3 do right version conversions
>       4 filter/transform on supported fields only
> 
> 1 and 3 are alright, 2 is not too bad but 4's the clinch. As it relates
> to syncml, I realized I'd have to go and really read the specs to
> understand how we are supposed to handle the different capabilities of
> the different devices, which I haven't got the time for right now at
> least.

I am especially convinced of the need for (4). 
If a neat means of having each plugin tell the sync engine
which vcard fields it supports, then vcard 1/2/3 version
problems (number 3 on your list) may even melt away as a bonus.
I am not familiar with devinf and suspect (1) and (2)
may be syncml specific. The KDE plugin certainly does not
have such a thing.

I am not convinced by Armin's claim that it is acceptable
for sync engine to send all VCARD fields to the plugin whether
the plugin supports it or not.
I dont believe that his method works properly when vcards fields are
deleted.

As I have already explained, the sync engine can only infer which
fields have been deleted from a VCARD record by diff'ing the before
and after versions of each VCARD returned by the device.
The sync engine achieves this in principle by (incorrectly) presuming
that the device supports all the VCARD fields that it is sent,
and misconstrues any fields missing from the VCARD returned on the subsequent
synchronisation as having been deliberately deleted by the user.
This, of course, is wrong.

To detect deleted fields correctly, the next generation of sync engine
should only send a device VCARD fields that it knows the device supports.
Alternatively, the sync engine could keep a local copy of each record
returned by each device and perform the before and after diffs literally.
But that requires a separate copy for each device to be saved, not a
merged archive.

As a work-around for the branch_08x version, the current plugins could be
given helper functions that allow them to easily extract only those
incoming VCARD fields they want, as well as merge the unsupported fields
back into the outgoing VCARD record.

-- 
Stewart Heitmann <[EMAIL PROTECTED]>


-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
Multisync-devel mailing list
Multisync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/multisync-devel

Reply via email to