Subject: Poll: How should this "recur" value be handled

From: [email-masked]
Date: Thu, 1 Jun 2000 15:38:10 -0400

As others who have worked on building actual engines to handle our very 
powerfull recurrence grammar can attest to, there are some areas where the 
RFC is not clear on what action should be taken.  The case in particular I 
am thinking of is what is the prescribed behaviour of a CUA to a 
recurrence value that is 'discontiguous' when evaluated.  For example:

DTSTART:20000601T040000Z
DTEND:20000601T043000Z
RRULE:FREQ=DAILY,INTERVAL=1,BYMONTH=1,BYYEARDAY=10,200;COUNT=10

The BYMONTH sets the selection range to "all days in January" and then the 
BYYEARDAY part specifies the  10th and 200th day of the year.  The former 
is in January but the latter is not.

So, what is the expected handling of this RRULE?  I can name a few 
choices:

1: Ignore the entire rule and flag the BYYEARDAY value as being 'invalid'
2: Ignore the offending part entirely (BYYEARDAY) and flag the BYYEARDAY 
value as partially 'invalid'
3: Snap your spine bending over backwards to allow the 'out of range' 
BYYEARDAY and say nothing.

Using "The Mantra" (KISS), I would opt for choice #1 any day.

Option #2 is also a possible behaviour but I have to question its 
validity.  If the ORGANIZER really wanted the 100th day of the year to be 
part of the recurrence set, it is MUCH simpler to put it either into a 
separate RRULE or RDATE rather than forcing it into another RRULE.

Option #3 is WAAY too much work for the fractionally tiny case that this 
MAY occur in that its not worth really considering...  From what Ive seen 
of those CUAs that support recurrence anyways, they are well behaved 
enough NOT to try and generate such a funky rule.  (Ive noticed that some 
folks will eat RRULEs they do not like and NOT tell the user too, tsk 
tsk!!)

Sooo, Id be interested in hearing what others think of this and once we 
reach some concensus Ill be glad to propose some new text for the 2445 
maintainers to add.  If I hear no discussion then Ill assume everyone 
agrees that #1 is acceptable and scribble something up for the list to 
that effect.

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: Eric Busboom <[email-masked]>
Date: Thu, 1 Jun 2000 16:24:36 -0700 (PDT)

On Thu, 1 Jun 2000 [email-masked] wrote:

> The case in particular I am thinking of is what is the prescribed
> behaviour of a CUA to a recurrence value that is 'discontiguous' when
> evaluated.  For example:
> 
> DTSTART:20000601T040000Z
> DTEND:20000601T043000Z

There is a similar ambigulty between some interval frequencies and BYxxx
parts. 

RFC2445 indicates that based on the frequency (FREQ) the BYxxx parts can
expand or contract the occurence set. Many of these relationships are
clear, but some are not. RFC 4.3.10 gives some good examples of the clear
cases. 

But, how do the BYxxx parts expand or contract the followig recurrence
intervals?

FREQ=WEEKLY: BYMONTHDAY, BYYEARDAY
FREQ=MONTHLY: BYYEARDAY, BYWEEKNO

I am guessing that for the WEEKLY case, both are contracting, and for the
MONTHLY case, both are expanding. But, we need to make sure other
developers make the same guess.

eric.