[sync] Trouble keeping SyncML in sync with IMAP store

Gunnar Wrobel p at rdus.de
Mon Sep 8 06:30:07 UTC 2008


Jan Schneider <jan <at> horde.org> writes:

> 
> Zitat von Jan Christoph Ebersbach <ebersbach <at> univention.de>:
> 
> > Good morning,
> >
> > I'm experiencing some trouble keeping a mobile device in sync with data that
> > is stored in an IMAP folder. I.e. creating an event with Kontact-Calendar and
> > trying to sync this event with my mobile device causes SyncML to think that
> > there is no new event in the IMAP folder.
> >
> > I tracked the problem down to a missing entry in the horde_histories table
> > which is not updated by the SyncML implementation at the moment. Btw, when I
> > open the calendar in kronolith the missing entry is added automatically.
> >
> > I wrote a small patch to work around this problem by syncing the IMAP folder
> > every time a SyncML-sync is performed. So far there is still a problem with
> > syncing the IMAP folder this way because the changes are not included in the
> > current but the next SyncML sync.
> >
> > Do you have any suggestions solving this problem in a better way?
> 
> This is definitely not the correct way. The history entries have to be  
> created directly in the drivers. In some cases this already happens  
> either outside the drivers or in the driver parent class. Where this  
> is not the case, it has to happen in the Kolab drivers, just like we  
> do in the other drivers already.

I think Jan Christoph did refer to the problem we already discussed briefly on
the dev mailing list (http://thread.gmane.org/gmane.comp.horde.devel/16954).

You seem to refer to the SQL driver in your answer as this storage system only
allows for Horde as a client. If a storage backend allows modifications from
external clients this is a different story though. The Horde history system will
not catch external modifications at the moment.

I think the submitted patch is still a little bit too direct but in principle it
goes into the right direction. I believe that we need to fix the listBy() call
with a synchronization method so that the backend can check for external
modifications.

Cheers,

Gunnar

> 
> Jan.
> 






More information about the sync mailing list