Re: DTSTART for recurrence instances
Doug Royer <[email protected]>
| Newsgroups | gmane.ietf.calendar |
|---|---|
| Organization | http://INET-Consulting.com |
| Message-ID | <[email protected]> |
Craig Johnson wrote: > Unless I have misunderstood, this seems contrary to common > practice. Some clarification regarding DTSTART value for > recurrence instances would be helpful. > > Suppose we have a recurring event for every Monday in January: > > BEGIN:VEVENT > SUMMARY:Every Monday in January > DTSTART:20040105T100000Z > DTEND:20040105T110000Z > UID:A-Unique-ID > RRULE:FREQ=WEEKLY;UNTIL=20040131T170000Z; > INTERVAL=1;BYDAY=MO;WKST=SU > ... > END:VEVENT > > Now suppose we SEARCH for that event with Expand:TRUE: > > BEGIN:VQUERY > EXPAND:TRUE > QUERY: SELECT * from VEVENT > WHERE UID = 'A-Unique-ID' > END:VQUERY > > What will be returned in the query? Will the DTSTART > (and DTEND) of each recurrence instance be the same as > the 'master' (as in column 1 below)? Yes. And each object returned will have a RECURRENCE-ID property added with its value set to the effective start time of that instance of the component. All objects returned will have the same DTSTART / [ DTEND | DURATION ] IN 2445 (EXDATE) (a similar section for EXRULE also exists): The "EXDATE" property can be used to exclude the value specified in "DTSTART". However, in such cases the original "DTSTART" date MUST still be maintained by the calendaring and scheduling system because the original "DTSTART" value has inherent usage dependencies by other properties such as the "RECURRENCE-ID". The only time the DTSTART is not the same as the master is when specifying a change to a single instance as described in iTIP 3.7.1 and 4.4.2 . Then the master is not altered, just the specifc object declaring the change details. > Or will DTSTART and > DTEND have the 'effective' value for the recurrence instance > (as in column 2 below)? No. Why would there need to be a new property (RECURRENCE-ID)? It could be done with a boolean (this is a single instance) to DTSTART if that were true. > The expected result, intuitively and instinctively, is Column 2. > The prior discussion thread implied that Column 1 is correct > (along with some discussion explaining that this is why DTSTART > is not always suitable for use in QUERYs, whereas RECURRENCE-ID > is more suitable). DTSTART is a fixed value for any specific revision of a UID. RECURRENCE-ID is calculated only when the object is expanded. > > This is a fundamental issue that impacts interoperability. > I'd like to hear others view on this issue: > What is the value of DTSTART for recurrence instances? > - DTSTART is the same as the 'master'. > - DTSTART is the 'effective' value for the instance. -- Doug Royer | http://INET-Consulting.com -------------------------------|----------------------------- [email protected] | Office: (208)520-4044 http://Royer.com/People/Doug | Fax: (866)594-8574 | Cell: (208)520-4044 We Do Standards - You Need Standards
smime.p7s
(application/x-pkcs7-signature, 4.6 KB) - not displayed