[sync] Sync4j class name and evolution

Todd Pytel tppytel at sophrosune.org
Mon Aug 7 02:17:17 PDT 2006


The current class naming scheme is somewhat misleading. Using a
syncevolution deviceID of sync4j-evolution-home-tppytel (sensible
enough) leads to a SyncML_Device_sync4j object because of the "sync4j"
substring. But SyncML_Device_sync4j assumes that the client is Outlook
and presumes to convert everything to sif format by overriding
convertServer2Client. This confuses syncevolution, which expects (and
requested in Rx-Pref) to receive 'text/calendar' when syncing
calendars. 

(The only reason I didn't notice this with the address book sync is that
convertServer2Client only checks for 'text/x-vcard' and not
'text/vcard'. So it sort of accidentally worked right.)

Changing the deviceID to just "evolution-home-tppytel" leads to the
device being treated as an unknown, generic SyncML device, in which case
everything works just fine because it's not being translated to sif.
While this is fine as a workaround, it obviously doesn't match the
meaning of the code very well. Syncevolution is built on sync4j, so if
there's going to be SyncML_Device_sync4j class, then it should be part
of it. Perhaps SyncML_Device_sync4j should be renamed to
SyncML_Device_outlook and the identification algorithm modified
appropriately?

--Todd



More information about the sync mailing list