[OGo-Developer] Re: additional field for synchronizatin
Helge Hess
developer@opengroupware.org
Thu, 23 Aug 2007 21:27:49 +0200
On 23.08.2007, at 21:08, Wolfgang Sourdeau wrote:
> That is what we do. Ludovic's plugin receives a query about which
> elements were deleted from this to that date. By setting
> "c_deleted" to 1 and updating the "c_lastmodified" field, I can
> answer taht question appropriately without returning every deleted
> events.
>
> The idea of a log table would be specific to Funambol, but the idea
> of adding the "c_deleted" field can be considered as a facility of
> SOGo/SOPE which could probably be useful to other synchronisation
> systems too.
Might be. In fact OGo has "db_status" which is 'inserted', 'archived'
or 'updated' (and quite often objects are "only" archived, not really
deleted).
Maybe use the same field instead of the plain c_deleted flag?
I do not really like that the change states are stored in the table
instead of a proper transaction table, but its probably the pragmatic
thing to do.
(querying c_lastmodified (a date) is highly unreliable given that you
can have hundreds of updates in a second - which is extremely common
especially during synchronizations - which is why there are SyncML
anchors ...)
> Regarding your etag thing, I don't think it would be useful here
> since Ludovic's plugin directly talk to the SOGo database, so it
> doesn't rely on groupdav to communicate with SOGo.
? The etag is stored in the database, its the object change marker
(called object_version in OGo, don't remember about SOGo, but should
be named similiar). Its not just used for GroupDAV (in fact thats not
even GroupDAV, its plain HTML).
Helge
--
Helge Hess
http://www.helgehess.eu/