6.0.0-beta1
7/6/25

[#9253] events sync: wrong data structure in returned array in getServerChanges
Summary events sync: wrong data structure in returned array in getServerChanges
Queue Kronolith
Queue Version Git master
Type Bug
State Resolved
Priority 2. Medium
Owners mrubinsk (at) horde (dot) org
Requester d-fens (at) 00010111 (dot) de
Created 09/16/2010 (5407 days ago)
Due
Updated 10/08/2010 (5385 days ago)
Assigned 09/26/2010 (5397 days ago)
Resolved 10/05/2010 (5388 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
10/08/2010 10:07:44 AM d-fens (at) 00010111 (dot) de Comment #11 Reply to this comment
ok, tested it and now i get this

2010-10-08T11:58:03+02:00 DEBUG: HORDE [horde] Compiling server 
changes from 1970-01-01 01:00:00 to 2010-10-08 11:58:03 [pid 11633 on 
line 640 of "/var/www/_horde/horde/framework/SyncML/SyncML/Sync.php"]
2010-10-08T11:58:03+02:00 ERR: HORDE [horde] contacts/list or 
contacts/listBy failed while retrieving server additions:The method 
"contacts/listUids" is not defined in the Horde Registry. [pid 11633 
on line 596 of "/var/www/_horde/horde/framework/SyncML/SyncML/Sync.php"]
2010-10-08T11:58:03+02:00 DEBUG: HORDE [horde] Sending 0 server 
changes for client URI card [pid 11633 on line 640 of 
"/var/www/_horde/horde/framework/SyncML/SyncML/Sync.php"]
10/05/2010 09:48:59 PM Michael Rubinsky Comment #10
State ⇒ Resolved
Reply to this comment
Assuming this fixed the issue.
09/26/2010 03:10:39 PM Michael Rubinsky Comment #9
State ⇒ Feedback
Reply to this comment
Try now?
09/26/2010 03:08:00 PM Git Commit Comment #7 Reply to this comment
Changes have been made in Git for this ticket:

Standardize on *_Api::listUids() method name for api methods that, 
well, return Uids.
Kronolith_Api::listUids() functionality changed slightly with this 
commit - it now
no longer returns events that represent exceptions, and only includes 
recurring events
once within the requested time period. It looks like the syncml code 
was the only code
currently calling this method, so there should be no issues with this change.

For the other apps, this only represents a method name change.

Bug: 9253

http://git.horde.org/diff.php/framework/SyncML/SyncML/Backend/Horde.php?rt=horde-git&r1=a0ce9ace9c3114b59d4926dd43c89cd19f4794c4&r2=77e901ff8b7f1689c8336e2d5fa6d938cede86d6
http://git.horde.org/diff.php/kronolith/lib/Api.php?rt=horde-git&r1=474382a60011932d21b626aae790da872f1e041e&r2=77e901ff8b7f1689c8336e2d5fa6d938cede86d6
http://git.horde.org/diff.php/mnemo/lib/Api.php?rt=horde-git&r1=7dc54178e1d51a5a1431bfbb88a29a29a47cc5f4&r2=77e901ff8b7f1689c8336e2d5fa6d938cede86d6
http://git.horde.org/diff.php/nag/lib/Api.php?rt=horde-git&r1=474382a60011932d21b626aae790da872f1e041e&r2=77e901ff8b7f1689c8336e2d5fa6d938cede86d6
http://git.horde.org/diff.php/turba/lib/Api.php?rt=horde-git&r1=e0dc07e2b0032aa4a2b3c8ab12dafa66562fd105&r2=77e901ff8b7f1689c8336e2d5fa6d938cede86d6
09/23/2010 09:22:51 PM Jan Schneider Comment #6 Reply to this comment
Eventually I would like to have a separate API just for 
synchronization stuff, but until then, any method name works.
09/23/2010 09:09:02 PM Michael Rubinsky Comment #5 Reply to this comment
It looks like the original list methods were removed when the APIs 
were refactored for H4.  I'll work at re-adding a standardized synch 
api, though we can't revert back to using "list" since this is a 
reserved word in PHP.

Maybe something like listIds?
09/21/2010 04:02:17 PM Jan Schneider Comment #4
State ⇒ Assigned
Assigned to Michael Rubinsky
Reply to this comment
The whole api calling is completely broken. Instead of the 
standardized list() methods there are all kind of listEvents(), 
listTasks() methods etc which take different parameters and return 
different data structures, yet still are handled all the same. This 
should be reverted somehow, we need standard application interfaces 
for synching.
09/21/2010 03:33:42 PM d-fens (at) 00010111 (dot) de Comment #3 Reply to this comment
its line 144
$data = $registry->{$database}->{$apimap[$database]}(
                                 
SyncML_Backend::getParameter($databaseURI, 'source'));

09/21/2010 02:35:56 PM Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
in  lib/SyncML/Backend/Horde.php the $data array for calendars after
Where exactly, if you already tracked it down to that file?
09/16/2010 06:30:59 PM d-fens (at) 00010111 (dot) de Comment #1
Patch ⇒ No
State ⇒ Unconfirmed
Milestone ⇒
Queue ⇒ Kronolith
Summary ⇒ events sync: wrong data structure in returned array in getServerChanges
Type ⇒ Bug
Priority ⇒ 2. Medium
Reply to this comment
hi,

in  lib/SyncML/Backend/Horde.php the $data array for calendars after a 
initial/slow sync is filled
like

[date1]
    [suid1]->[calendar1]
    [suid2]->[calendar2]
[date2]
    [suid3]->[calendar3]

but its expected to be a
[suid1]->[calendar1]
[suid2]->[calendar2]
[suid3]->[calendar3]

structure. So no events are sent to the client, contacts do work as 
they are in that format


Saved Queries