[sync] [dev] SyncML errors with contacts

Karsten Fourmont fourmont at gmx.de
Sat Jan 13 08:11:46 PST 2007


Hi,

 > I understand the need for no importinng duplicate entries like this,
 > but  is there a better way to handle it other than just fail?

Well, it only failed because of the bug in Backend.php. Thanks for 
fixing this.

In this case we had the additional issue that Synthesis 3.0 uses a 
different device ID, resulting in a Slow Sync. And a Slow Sync still has 
problems when there are already items in the client as well as in the 
server:

During a slow sync, the client sends all its data to the server as 
"replace" requests. Currently the server simply adds this data. This 
results in duplicate entries for Kronolith, Nag and Mnemo and in 
"Already Exists" errors for Turba. The behavior is a bit inconsistent 
accross the various app's api: only turba does the "Already exists" check.

So the right implementation would be to first look if an entry exists 
and if so, do a replace. That's already in the roadmap:
http://wiki.horde.org/SyncMLRoadmap

The problem that "look if an entry exists" is a bit tricky using only 
the external api. The Kronolith api for example only provides 
"_kronolith_listEvents" and no search. But it can be done of course.

Cheers,
  Karsten


Michael Rubinsky wrote:
> Quoting Michael Rubinsky <mike at theupstairsroom.com>:
> 
>> Just updated our version of the Synthesis SyncML client on Palm 
>> Treo.   This one is version 3.x, and required a total reinstall (from 
>> version  2.x).  Anyway, I finally got everything syncing correctly 
>> except for  Turba.  I get a "No SyncML Response" error when syncing 
>> contacts.  I  traced this down to an error in SyncML/Backend.php, line 
>> 293.  The  error is "SyncML: Already Exists"  Is this an error due to 
>> the fact  that the phone already contains most of the entries, but 
>> horde doesn't  know they were already sync'd?  I tried deleting the 
>> syncml entries in  datatree, but that did not help either...
>>
>> Any ideas where else to start looking?  I don't want to loose changes  
>> that might have been made on the Treos by just starting over!
> 
> 
> OK. FWIW, it was failing when there were identical entries in Turba and 
> on the Treo.  Too make matters worse, the address book would sync up to 
> the point the duplicate entry was detected, but the downloaded data was 
> not rolled back, so no matter how many times I cleaned up the Treo's 
> copy, it was corrupted again on next attempt.  I finally just had to 
> completely erase the Turba address book (by  moving the entries to a new 
> address book), then clear the SyncML client's erased items cache and 
> then sync...geez.
> I understand the need for no importinng duplicate entries like this, but 
> is there a better way to handle it other than just fail?
> 
> Thanks,
> mike
> 
> -- 
> The Horde Project (www.horde.org)
> mrubinsk at horde.org
> 
> 
> ------------------------------------------------------------------------
> 
> 



More information about the sync mailing list