[Kolab-devel] [issue3894] SyncML code sends some event data non-conformant to vCal (1.0) standard

Arvid Requate issues at kolab.org
Thu Oct 1 15:45:28 CEST 2009


New submission from Arvid Requate <requate at univention.de>:

The attached patch fixes two Bugs in the SyncML code that affect the same
function. The Patch for A) only changes one line.

A) SyncML sends end dates not as DateTime, causing BB SyncJE to drop events

1. Create a recurring event with end date (e.g. weekly on days TH and FR).
2. Syncronize to BB/SyncJE client.

The event does not show up in the BB calendar.

Horde seems to send the following recurrence info in the vCal data:
       W1 TH FR 20090502
The vCal-Standard (1.0) mentions the following example:
-------------------------------------------------------
"  Every other week on Monday Wednesday and Friday until 12/24/94:
       W2 MO WE FR 19941224T000000Z"
-------------------------------------------------------

The attached patch changes _exportDate into _exportDateTime, causing BB/SyncJE
to accept the events.

B) For recurring events SyncML sends number of incedences in vCal duration
instead of the number of weeks.

1. Create an event recurring e.g. twice weekly (e.g. TH and FR) with a "Recur
Until" setting of "4 recurrences". [ Note: with the patch for kolab/issue3846
Kronolith shows this as 4 incidents. (i.e. <range type="number">4</range>
according to the kolab format standard v2.0rc7) ]
2. Syncronize to BB/SyncJE client.

The vCal data Horde SyncML sends for this event shows:
 W1 TH FR #4
i.e. Horde sends the number of incidences as "duration". The vCal-Standard (1.0)
expects the number of weeks instead.

The vCal-Standard (1.0) mentions the following examples:
-------------------------------------------------------
"Below is the form of a typical rule. This example causes events to be generated
every other week on Tuesday and Thursday, for 8 occurrences: 
W2 TU TH #4
Where, W is the Frequency, 2 is the Interval, TU and TH are the optional
Frequency Modifiers, and #4 is the Duration."

and

"Weekly on Tuesday and Thursday for 5 weeks:
    W1 TU TH #5"
-------------------------------------------------------

The attached patch fixes the encoding of the "duration" to weeks instead of
incidences. There still might be room for improvement, in partiticular for
events with recurrence incident numbers that are not simply a multiple of the
number of incidences per week. Maybe in this case it might be better to use
"ceil" instead for "floor" rounding and specify the end-date. The patch shows
the necessary point of adjustment.


Affected: horde-webmailer 1.2.0 with kolab-webclient patches
kolab-webclient patches applied:
http://kolab.org/cgi-bin/viewcvs-kolab.cgi/server/kolab-webclient/

----------
assignedto: thomas
files: t_SyncML_UV_recurring_events_week_count.diff
keyword: patch, server
messages: 21893
nosy: martin, requate, schwardt, thomas, wilde, wrobel
status: unread
title: SyncML code sends some event data non-conformant to vCal (1.0) standard

______________________________________
Kolab issue tracker <issues at kolab.org>
<https://issues.kolab.org/issue3894>
______________________________________
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t_SyncML_UV_recurring_events_week_count.diff
Type: text/x-diff
Size: 1327 bytes
Desc: not available
URL: <http://lists.kolab.org/pipermail/devel/attachments/20091001/40ead0b8/attachment.bin>


More information about the devel mailing list