[Tickets #8483] Re: Contact deleted from mobile after sync because of a move into a new addressbook

bugs at horde.org bugs at horde.org
Fri Aug 7 21:22:13 UTC 2009


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/8483
------------------------------------------------------------------------------
  Ticket             | 8483
  Updated By         | ryu at ryux.org
  Summary            | Contact deleted from mobile after sync because of a
                     | move into a new addressbook
  Queue              | SyncML
  Type               | Bug
  State              | Unconfirmed
  Priority           | 2. Medium
  Milestone          |
  Patch              |
  Owners             |
------------------------------------------------------------------------------


ryu at ryux.org (2009-08-07 17:22) wrote:

Ok,

I found the problem !

Real how to reproduce bug :

1. Create a new contact with mobile

2. Sync this contact in Horde (default addressbook A)
sync line created in horde_syncml_map, timestamp = 1249678393
an add line is created in history table for the addressbook A =>  
turba:1b6e0d16bbb5eb2216da5d2265e95d0b:20090807225313.19014a63moznjl15 at mail-test.exemple.fr, timestamp =  
1249678393

3. Move this contact from the addressbook A to addressbook B (the both  
are marked as synced in turba options)
add line created in history table for addressbook B =>  
turba:localldap:20090807225313.19014a63moznjl15 at mail-test.exemple.fr,  
timestamp = 1249678421
delete line created in history table for addressbook A =>  
turba:1b6e0d16bbb5eb2216da5d2265e95d0b:20090807225313.19014a63moznjl15 at mail-test.exemple.fr, timestamp =  
1249678421

4. Sync again mobile with horde
the contact is deleted from mobile !!! Expected result => nothing !

It's in indirectly bind to the file :

lib/SyncML/Backend/Horde.php, line 199.
It call the turba method "getActionTimestamp" to get the TimeStamp for  
add action.
But if we examine the function Turba api.php  
_turba_getActionTimestamp($uid, $action, $sources = null), we see that  
as the source parameter is null, it loop on sync books and as soon as  
it find an entry in history for this contact, it return it ! But there  
is 2 entries for this contact in 2 differents addressbook. And it  
return the result for the bad addressbook... So the timestamp is  
equals to sync timestamp and it finish by "Added to server from  
client: 20090807225313.19014a63moznjl15 at mail-test.exemple.fr ignored"

Well, you have surely a best knowledge of Horde / Turba / SyncML so  
maybe you can submit a patch for this bug. In all cases, I will try to  
resolve it in theses days !

Thanks







More information about the bugs mailing list