[caldeveloper-l] DTSTART that doesn't match RRULE pattern

Cyrus Daboo cyrus at daboo.name
Wed Oct 10 12:46:25 PDT 2018


Hi Andrew,

--On October 10, 2018 at 6:53:52 PM +0000 Andrew Laurence 
<atlauren at uci.edu> wrote:

>> My personal opinion is that if DTSTART doesn't match the RRULE, it
>> should NOT be included in the recurrence set and obviously NOT accounted
>> for by COUNT.
>
> I agree with this.  The RDATE text includes, "The recurrence set
> generated with a "DTSTART" property value that doesn't match the pattern
> of the rule is undefined."  To me this means that an RRULE takes
> precedence; if an RRULE exists its first instance defines DTSTART, and
> RDATE is generated from there.

Actually the sentence right before the one you quoted is the key to this:

    The "DTSTART" property value SHOULD match the pattern of the recurrence 
rule, if specified.

And if you also look at Appendix A.1.1, you will see similar text 
indicating that this was added as a new restriction on top of the old 2445 
behavior.

The intent of that was to effectively deprecate the behavior of DTSTART not 
matching the pattern (without making it outright illegal by using a MUST), 
with the idea that a future update to 5545 would switch to MUST.

So the point is no one should be using a DTSTART that does not match the 
RRULE, so no erratum is needed. The behavior was left undefined precisely 
to move people away from relying on it working.

-- 
Cyrus Daboo



More information about the caldeveloper-l mailing list