[OGo-Developer] Re: additional field for synchronizatin

Wolfgang Sourdeau developer@opengroupware.org
Thu, 23 Aug 2007 15:08:21 -0400


On 2007-08-22 18:43:00 -0500 Helge Hess <helge.hess@opengroupware.org> 
wrote:

> 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!).

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.

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.


W.