Re: RFC2445/RFC2446: SEQUENCE property
"Michael Fair" <[email protected]>
| Newsgroups | gmane.ietf.calendar |
|---|---|
| Message-ID | <[email protected]> |
> >Can recurrence instances of a vevent component have a > >larger(or different) SEQUENCE when the main vevent > >component (that describes the recurrence set) has a > >smaller SEQUENCE? Yes, they absolutely can. > If you have: > > VEVENT: UID:1, SEQUENCE:6 (NO RECURRENCE-ID) > > Then you get a: > > VEVENT: UID:1, SEQUENCE:7 (With a RECURENCE-ID) > > then you are being told that the new SEQUENCE number is 7 > and that exactly one instance has been updated with the details > in the new object. Now the main vevent is also at 7. No, this is not true. The main vevent is still at 6. UID:1/SEQ:6 is the set identifier and descriptor. Any Recurrence-ID generated from the set described by UID:1/SEQ:6 is an instance of UID:1. Any Recurrence-ID not described in that vevent is not an instance of UID:1. Rescheduling any of the instances described by UID:1/SEQ:6 has no impact on the set described by UID:1/SEQ:6. Put another way: The UID:1/SEQ:6 set of Recurrence-IDs are the RECURRENCE-IDs that _must_ be used when addressing individual instances. Any instance update/reschedule (aka with Recurrence-ID), _never_ impacts the SEQUENCE of the base vevent, it is not considered a rescheduling of the entire series. It is just an update to one of the instances described by the set from UID:1/SEQ:6. > >or > >Is SEQUENCE property for a vevent component > >different than the SEQUENCE property of an individual > >vevent recurrence instance? If they are different, how are > >they related? > > > >For example an instance update might change only the > >SEQUENCE of the instance, whereas the main vevent > >does not change. At no point in time will an instance sequence ever be less than the main vevent. If you receive a REQUEST message with UID:1 and no RECURRENCE-ID it has the effect of throwing away ALL prior instances and recreating every instance based on the new description. The SEQUENCE for all instances is the same as the message when the process is complete. If you receive an ADD message with UID:1 this will add all instances described by the message. AT the end of the process it will update the SEQUENCE for all prior instances because this is considered a rescheduling of the entire series. The main vevent will be updated and all instances will be updated to the SEQUENCE from the message. (In this case, the SEQUENCE chosen will be one higher than the largest instance SEQUENCE of the entire series (so 8 in the above snippet). If you received a SEQUENCE that was more than one higher than the largest instance SEQUENCE then you should request a refresh. The same is not true for a REQUEST message.) There, from my understanding, are questions about what impact cancelling an instance has on the entire series. -- Michael --