Re: [Evolution] Evolution Bug Day, Take 2



On Sun, Aug 26, 2001 at 05:10:12PM -0400, Damon Chaplin wrote:
On Fri, 2001-08-24 at 23:14, Thomas O'Dowd wrote:
On Fri, Aug 24, 2001 at 10:16:41PM -0400, Damon Chaplin wrote:

 o Outlook doesn't like some types of recurrence rules,
   e.g. it doesn't like the BYMONTHDAY part of:
RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=1,2,3,4,5,6,7;BYMONTH=4

   We may be able to rewrite the rules in a different way, or in the
   worst case we can forget about recurrence rules and use specific
   dates. This is a bit of a pain to fix.

Looks like this means the first Sunday in April every year which can
be rewritten as:

RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=4

Yeah, I spotted that as well. That gets rid of a lot of the uses in our
VTIMEZONE data. But there are still ~30 uses of BYMONTHDAY like the
above (but not starting at 1). Maybe a few could be replaced with
BYDAY=-1SU, but I don't think there are many like that.

Hi Damon, I'm wondering how it is possible from the current interface
to generate this kind of rule. I say this because "Custom Recurrance"
is disabled on my beta snapshot so I'm not sure if that is how you
are doing it.

Looking at the current possible simple recurrances the following should
be the rrules.

(Lets just assume forever to keep the rules simple)

DAY: (every $1 days)
         RRULE:FREQ=DAILY;INTERVAL=$1

WEEK: (every $1 weeks, on comma separated day list, $2, MO,WE,FR)
    RRULE:FREQ=WEEKLY;INTERVAL=$1;BYDAY=$2

MONTH: (2 possibilities according to interface)
    RRULE:FREQ=MONTHLY;INTERVAL=$1;BYDAY=$2     ($2 th day of the month, $2=20)
 or RRULE:FREQ=MONTHLY;INTERVAL=$1;BYDAY=$2     (xth named day of the month)
                                                (eg. $2=1SU or -1SU)

YEAR: (every $1 years)
        RRULE:FREQ=YEARLY;INTERVAL=$1

As I said above, I'm not quite sure how you're generating the other choices
with the interface. I can only presume that it is hidden under Custom 
Recurrances which is ghosted on my interface.

I think we only have 2 options to deal with this:

 1) split the RRULE into separate RRULEs for each of the days, e.g.

   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=1;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=2;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=3;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=4;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=5;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=6;BYMONTH=4
   RRULE FREQ=YEARLY;INTERVAL=1;BYDAY=SU;BYMONTHDAY=7;BYMONTH=4

 I'd have to check that Outlook accepts this. This is also obviously
 7 times slower, though we don't have to expand it very often.

 2) use RDATEs instead of RRULEs and expand up to a certain year,
    say 2037.

Lets hope we don't have to do this...
 
 This makes the VTIMEZONE quite a bit bigger, and means it is only
 valid up to 2037. But it is simpler and quicker.

Ahhh, it's just dawned on me that you are talking about VTIMEZONE, so 
I guess you are representing when day summer time kicks in? Can you give
me an explicit example of some of the rules? I live in Japan so remembering
when the clock goes back and forward is something I haven't had to do in
a while... Ie, if it is the 1st Sunday in April then the BYDAY=1SU thing
is the simpliest rule. Is there anything more complex?

Why don't you also try getting Outlook to send you some appointments
and see what RRULES they are using for timezone changes in different
timezones?

Cheers,

Tom.
-- 
Thomas O'Dowd. - Nooping - http://nooper.com
tom nooper com - Testing - http://nooper.co.jp/labs




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]