[OGo-Developer] Re: additional field for synchronizatin
Helge Hess
developer@opengroupware.org
Thu, 23 Aug 2007 01:43:00 +0200
... moving to the list ...
On 22.08.2007, at 20:09, Wolfgang Sourdeau wrote:
> We are working on a plugin for Funambol for enabling users to
> synchronize their data with SOGo.
> The remaining issue is that events and contacts deleted from the
> server by the web ui or in dav are not deleted in Funambol since
> there is no way to know whether en entry has been deleted or not.
> THe solution I have in mind for this was to add a field "c_deleted"
> to the quicktables. Once this flag would be active, the elements
> would no longer appear in SOGo (web or dav) but the funambol
> connector would still see them as deleted.
>
> From there, a cronjob should run periodically to effectively delete
> those objects from the database.
IMHO (if I remember SyncML right) this is wrong. SyncML transactions
are just that, transactions. Whether an object is deleted is keyed to
the state of the SyncML transaction, not to the object itself (which
might even get resurrected!). Ie SyncML needs to know which objects
got deleted since the last transaction, not *all* deleted objects
(this would slow it down significantly, much more than the initial
GroupDAV fetch overhead!).
I think the proper thing to do for Funambol is to create a separate,
SyncML transaction table which maps a specific path+etag state to the
relevant transaction-id (not sure whether Funambol exposes the TX-ID,
some specific timestamp might do).
But besides that, I don't have objections to a deleted flag. Really
deleting the data is rarely useful :-) (assuming that vCards/iCals
usually don't consume GBs of data ...)
Helge
--
Helge Hess
http://www.helgehess.eu/