[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Recurrence ID changes?




Dan:

Good to hear from you. Hope your iCalendar activities are going great!

The RECURRENCE-ID (along with the UID and SEQUENCE properties) are used to reference (a particular version of) an individual occurrence for a repeating event or to-do. As such, it will change after the DTSTART for the occurrence changes.

>The paragraph below is shown at the very end of section 3.7.1 in the rfc2446
>(iTIP).  The last two sentences seem to conflict in meaning.  The first says
>that "the original DTSTART value is used for RECURRENCE-ID" but the second
>says that "RECURRENCE-ID has changed to the new DTSTART".

For example, if you scheduled a Monday, Wednesday and Friday meeting and you want to reschedule the Wednesday meeting meeting to Thursday, then the RECURRENCE-ID in the reschedule would specify the date/time of the Wednesday meeting as specified in the original REQUEST. Now, after rescheduling to Thursday, if you want to reference that rescheduled occurrence you specify a RECURRENCE-ID that would have the date/time of the Thursday meeting.

>I thought we decided to leave the RECURRENCE-ID the same.  If the last
>sentence is true, then it seems we would have to exclude the original date
>in an "EXDATE" property and then include the new date in an "RDATE"
>property.  Is this right?

Not sure I agree with the last part. You can currently specify a "EXDATE" property in the original REQUEST that has the date/time value of a particular occurrence. You could also specify a duplicate date/time value in a RDATE that is the same as an occurrence specified in a RRULE or other RDATE. However, the set of occurrences will only have one element with a given date/time interval.

You can also reschedule by specifying the revised DTSTART/DTEND for the occurrence. However, if you use EXDATE/RDATE wouldn't that appear to be "ADDing" an occurrence? We use the ADD method to do this. It seems to be problematic if you try to use the EXDATE/RDATE to specify the date/time for the rescheduled meeting. It would seem that we should be using the DTSTART/DTEND properties for that.

-- Frank