Re: DTSTART for recurrence instances

"Michael Fair" <[email protected]>
Newsgroups gmane.ietf.calendar
Message-ID <[email protected]>

"Doug Royer" <[email protected]> wrote in message
news:[email protected]...
>
> (Again the topic is DTSTART for recurrence instances, not any thing else)
>
> Is there any disagreement that these are -also- a valid ways to change
> the 2nd instance:
>
> Again starting from the same original object.
>
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:0
>    ...
>    METHOD:REQUEST
>    ATTENDEE:attendee
>    ...
>    DTSTART: 1-dec-2003 at noon
>    DTEND: 1-dec-2003 at 1pm
>    ...
>    RRULE:FREQ=DAILY;COUNT=3
>    ...
>    END:VEVENT
>
> (And 'attendee' sends a  reply saying yes).

Just to ensure that I am following I am going to describe
the state of the CU's store at the end of each message.


> Method A:  Now later ORGANIZER sends iTIP updates to move the second
> instance
>  from  noon->1pm  and have it at 2pm->3:30pm:
>
>    BEGIN:VCALENDAR
>    ...
>    METHOD:REQUEST
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:1
>    ...
>    DTSTART: 1-dec-2003 at noon
>    DTEND: 1-dec-2003 at 1pm
>    ...
>    RDATE:3-dec-2003 at noon
>    ...
>    END:VEVENT
>    END:VCALENDAR
>
>    BEGIN:VCALENDAR
>    METHOD:ADD
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:2
>    ...
>    DTSTART:2-dec-2003 at 2pm
>    DTEND:2-dec-2003 at 3:30pm
>    ...
>    END:VEVENT
>    END:VCALENDAR

I agree.

This first message would redefine the event XXX to have exactly two
instances (Dec 1, Dec 3), and drop the orginal Dec 2 instance.

The second message then adds to the series of UID XXX one singleton
on Dec 2 and updates the SEQUENCE of all instances to 2.


> Method B:  Now later ORGANIZER sends iTIP updates to move the second
> instance
>  from  noon->1pm  and have it at 2pm->3:30pm:
>
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:1
>    ...
>    METHOD:REQUEST
>    ATTENDEE:attendee
>    ...
>    DTSTART: 1-dec-2003 at noon
>    DTEND: 1-dec-2003 at 1pm
>    ...
>    RRULE:FREQ=DAILY;COUNT=3
>    EXDATE:2-dec-2003 at noon
>    ...
>    END:VEVENT
>
>    BEGIN:VCALENDAR
>    METHOD:ADD
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:2
>    ...
>    DTSTART:2-dec-2003 at 2pm
>    DTEND:2-dec-2003 at 3:30pm
>    ...
>    END:VEVENT
>    END:VCALENDAR

I agree.

The first message redefines the series to contain two instances
on Dec 1 and Dec 3.
The second message redefines the entire series to add a singleton
event happening on Dec 2.

It then updates the SEQUENCE for all instances of XXX to 2.

> Method C:  -OR- this:
>
>    BEGIN:VCALENDAR
>    ...
>    METHOD:CANCEL
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:1
>    ...
>    RECURRENCE-ID:2-dec-2003 at noon
>    ...
>    END:VEVENT
>    END:VCALENDAR
>
>    BEGIN:VCALENDAR
>    METHOD:ADD
>    BEGIN:VEVENT
>    UID:XXX
>    SEQUENCE:2
>    ...
>    DTSTART:2-dec-2003 at 2pm
>    DTEND:2-dec-2003 at 3:30pm
>    ...
>    END:VEVENT
>    END:VCALENDAR
>
> Do you agree that these are also valid objects to tell the ATTENDEE of
> the single instance change?

I agree.

I'm not entirely certain of all the gritty details of how the first message
gets handled because of other questions I raised back in August.
Don't bother looking for them though, they aren't relevant at this point.
For now I'm fine to just accept that this has the effect of cancelling the
second instance in the series leaving just Dec 1 and Dec 3.

The second message then adds a new instance to the series XXX on Dec-2 and
updates the SEQUENCE of all instances of XXX to 2.



Having said that there is one thing I do have a problem with and that is
calling any of the above methods an instance reschedule.  They result in
the intended calendar and that's about all I can say about them.

Everyone of the aboves methods uses extremely invasive reschedules of
the entire series and I cannot consider them as proper methods for
instance updates or reschedules.


Where do we go from here?

-- Michael --
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.