Summary | SyncML: calendar does not syn'c anylonger; "{GUID} not found" error |
Queue | Synchronization |
Queue Version | Git master |
Type | Bug |
State | Duplicate |
Priority | 1. Low |
Owners | |
Requester | cedric.dufour (at) ced-network (dot) net |
Created | 07/20/2014 (3977 days ago) |
Due | |
Updated | 07/24/2014 (3973 days ago) |
Assigned | |
Resolved | 07/24/2014 (3973 days ago) |
Github Issue Link | |
Github Pull Request | |
Milestone | |
Patch | Yes |
State ⇒ Duplicate
Priority ⇒ 1. Low
Bug: 13394Priority ⇒ 3. High
New Attachment: horde.kronolith-syncml.patch
Patch ⇒ Yes
Milestone ⇒
Queue ⇒ Synchronization
Summary ⇒ SyncML: calendar does not syn'c anylonger; "{GUID} not found" error
Type ⇒ Bug
State ⇒ Unconfirmed
Since a few daysm SyncML calendar fails entirely with following error message:
"ERR: HORDE API export call for {GUID} failed: {GUID} not found"
Tracking the code path from .../lib/Horde/SyncMl/Sync.php (line 484),
I believe the culprit is commit
1ce32155134bdcb36bc1f63f740b881aec2b6819 (Allow filtering by calendars
in calendars/export; @since 4.2.0) and an inconsitency between
kronolith code and SyncML code.
*IF* I understand Horde call path correctly and looking at the
calendar export code in .../kronolith/Api.php (line 884):
public function export($uid, $contentType, array $options =
array(), array $calendars = null)
And the corresponding call in .../lib/Horde/SyncMl/Backend/Horde.php
(line 329):
return $GLOBALS['registry']->call(
$this->normalize($databaseURI) . '/export',
array('guid' => $suid, 'contentType' => $contentType,
'dummy' => null, 'fields' => $fields));
One can see the 'export' function expects a 'calendars' array as 4th
argument while the SyncML code sends a 'fields' array. (up until
commit 1ce32155134bdcb36bc1f63f740b881aec2b6819, the 'fields' argument
was ignored since the 'export' function took only 3 arguments).
Modifying the SyncML call to:
return $GLOBALS['registry']->call(
$this->normalize($databaseURI) . '/export',
array('guid' => $suid, 'contentType' => $contentType));
Temporarily fixed the problem for me. But I don't trust my
understanding of the entire kronolith code to be sure this is the
definite/appropriate fix.
Hope I/you could/can help fix this issue.
Best,
Cédric