Subject: Re: Changes to RECUR

From: [email-masked]
Date: Wed, 25 Apr 2001 15:36:44 -0400

Jonathan suggested:

>Also note that self-contradictory rules are still possible with your
>restrictions, and I don't think they can in general be eliminated. 
Consider
>the obvious
>RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=31

From 2445, Section 4.3.10 Recurrence Rule, p44 precludes the obvious cases but does not 'invalidate' the entire 
rule:

   If BYxxx rule part values are found which are beyond the available
   scope (ie, BYMONTHDAY=30 in February), they are simply ignored.

Bruce
===========================================================================
Bruce Kahn                                INet: [email-masked]
Iris Associates                          Phone: 978.392.5335
Westford, MA, USA 01886                    FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...

---

From: Jonathan Lennox <[email-masked]>
Date: Wed, 25 Apr 2001 17:14:25 -0400 (EDT)

>    scope (ie, BYMONTHDAY=30 in February), they are simply ignored.

Should this be read to mean "treat it as though there were no RRULE
present", or "treat it as though it were RRULE:FREQ=YEARLY;BYMONTH=2"?

If the latter, what's the definition of "Available scope"?  For instance,
does this mean that

DTSTART:20000220T0900
RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=2;BYDAY=29

means "February 20, 2000, plus February 29, every leap year"

but

DTSTART:20010220T0900
RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=2;BYDAY=29

means "February 20, 2001, plus Feburary 20, every year which which is 1 mod
4"

since Feburary 29 is outside of the "available scope" in this case?  I would
certainly find this to be terribly surprising.

A much simpler interpretation would that "February 29, in a year which is 1
mod 4, never occurs.  Therefore, the recurrence has no subsequent
occurences."

By the same token, for a rule with "BYMONTH=2;BYMONTHDAY=30" I would say
that "Feburary 30 never occurs.  Therefore, thus recurrence has no
subsequent occurences."

-- 
Jonathan Lennox
[email-masked]

---

From: "Graham Gilmore" <[email-masked]>
Date: Wed, 25 Apr 2001 18:03:26 -0400

----- Original Message -----
From: "Jonathan Lennox" <[email-masked]>
To: <[email-masked]>
Cc: "Eric Busboom" <[email-masked]>; <[email-masked]>
Sent: 25 April, 2001 17:14
Subject: Re: Changes to RECUR

> On Wednesday, April 25 2001, "[email-masked]" wrote to "Jonathan
Lennox, Eric Busboom, [email-masked]" saying:
> > >From 2445, Section 4.3.10 Recurrence Rule, p44 precludes the
obvious cases but does not 'invalidate' the entire
> present", or "treat it as though it were RRULE:FREQ=YEARLY;BYMONTH=2"?

    I think it should be read to mean, "ignore any individual
recurrences that are non-existant dates/times".   For example:

DTSTART:20010220T0900
RRULE:FREQ=YEARLY;BYMONTH=2;BYDAY=28,29

    The 29th of February is not always a valid date, but it still makes
sense to include those dates that are valid.  I would read this example
as "February 20, 2001, February 28th every year, and February 29th every
leap year."

> RRULE:FREQ=YEARLY;INTERVAL=4;BYMONTH=2;BYDAY=29

    Then yes, it would be equivalent to "treat it as though there were
no RRULE present", because all generated recurrences are ignored.  But
we need not reject the entire rule outright, otherwise you'd have to
reject something like this example (paraphrased from your other mesage),
simply because on 1 day of the year it happens not to exist:

DTSTART;TZID=America/New_York:20010329T0230
DURATION:T20M
RRULE:FREQ=DAILY;UNTIL=20020328T0730Z

    Graham

---

From: Jonathan Lennox <[email-masked]>
Date: Thu, 26 Apr 2001 08:42:37 -0400 (EDT)

On Wednesday, April 25 2001, "Graham Gilmore" wrote to "<[email-masked]>" saying:

> > > obvious cases but does not 'invalidate' the entire rule:
> > >
> recurrences that are non-existant dates/times".

[Examples elided]

Yes, that's the interpretation I'd favor as well; I think it's by far the
least surprising result, and the simplest to implement.

However, it sounded like some people on this list didn't interpret that
sentence this way.  And a close reading of the sentence from RFC2445 quoted
above would have the referent of "they" being "BYxxx rule part values", not
"recurrences".

Is there consensus that this is a wording flaw in RFC 2445, and the spec
should be changed to make Graham's interpretation explicit?

-- 
Jonathan Lennox
[email-masked]