0x5F3759DF
0x5F3759DF

Reputation: 393

RECURRENCE-ID in iCalendar (RFC 5545)

I'm a little bit confused about the Property RECURRENCE-ID in the iCalendar specification RFC 5545 and the RANGE parameter in this property.

Assume a calendar component containing a recurring event called "Meeting" which shall be scheduled each monday 10 to 12 o'clock starting on August 6th 2012. The recurrence end shall be the October 29th 2012. The "Meeting" is rescheduled from 12 to 15 o'clock each monday by September 3rd 2012 with RANGE set to THISANDFUTURE to inidcate that all subsequent events will also be scheduled from 12 to 15 o'clock. By October 1st 2012 the "Meeting" shall be rescheduled again from 10 to 13 o'clock every tuesday (instead of monday) also with RANGE set to THISANDFUTURE. Additionally the single event on September 17th 2012 will be rescheduled from 8 to 10 o'clock.

The event in iCalendar-format will look like this:

BEGIN:VCALENDAR
...
BEGIN:VEVENT
DTSTART:20120806T100000Z
DTEND:20120806T120000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20120903T120000Z
DTEND:20120903T150000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20120903T100000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20121002T100000Z
DTEND:20121002T130000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID;RANGE=THISANDFUTURE:20121001T100000Z or 20121002T120000Z???????????
END:VEVENT
BEGIN:VEVENT
DTSTART:20120917T080000Z
DTEND:20120917T100000Z
UID:[email protected]
SEQUENCE:1
SUMMARY:Meeting
RRULE:FREQ=WEEKLY;UNTIL=20121029T100000Z
RECURRENCE-ID:20120917T100000Z or 20120917T120000Z?????????
END:VEVENT
END:VCALENDAR

The values I'm unsure are the values of the RECURRENCE-IDs and the RRULES.

-) Which of the dates shall be used in the third and fourth event? Shall they reference to the main event (very first event) or to the event the second event, because this is the "nearest" event, which is rescheduled?

-) If my interpretation of RFC5545 is right, the RRULE may not be changed or rescheduled. This means that the rrule will be the same also in the subevents. What happens to the very last event, which is scheduled from 10 to 12 o'clock on October 29th 2012 but rescheduled to 10 o'clock of the following day by the third event. Is this last event in the recurrence set of the calendar component or has the UNTIL value to be changed at all events so that that the October 30th 10 o'clock is included?

Thanks in Advance! :-)

Upvotes: 4

Views: 4214

Answers (1)

Auberon Vacher
Auberon Vacher

Reputation: 4775

the difficulty of rescheduling using THISANDFUTURE and interoperability has been documented in calconnect interop oct 2010.

If you can, it would propably be easier / safer for interop to follow the note in the RFC5545 § 3.8.4.4.

The "RANGE" parameter may not be appropriate to reschedule specific subsequent instances [...] . In such cases, the calendar application could simply truncate the unbounded recurring calendar component (i.e., with the "COUNT" or "UNTIL" rule parts), and create two new unbounded recurring calendar components for the future instances.

Upvotes: 4

Related Questions