Greg, my thanks for Niklas. These are exactly the kinds of things we need
to see on the list. Taking the examples and putting them into CAP
terminology and coding examples. Perfect use of the list and a great way
to get discussion going.
"Greg FitzPatrick" <gf@medianet.org> on 03/16/99 07:22:32 AM
To: "'Ietf-Calendar@Imc. Org'" <ietf-calendar@imc.org>
cc: (bcc: Pat R Egen/Egen Consulting/01)
Subject: FW: opening times and holidays
From: Niklas Hjelm [mailto:niklas@medialab.nu]
Greg,
Problems about the representation of Opening Times in iCal: Periods can be
multiple but only in the same scale and not nested.
Periods are not allowed in exceptions.
Suggestion: Allow PERIOD in RRULE and EXRULE. But better still - define
combined rules, i.e (I know thoose c++ comments are not allowed, but it
would have been nice).
BEGIN:UNION //new keyword
DTSTART:19870405T020000z
RDATE;VALUE=PERIOD:19000401T000000Z/19000930T240000Z
RRULE:FREQ=YEARLY
//9.00-17.00 mo-fr
DTSTART:19000401T090000z
RDATE;VALUE=PERIOD:19000101T090000Z/PT8M
RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR;UNTIL=19000930T170000z
//12.00-15.00 sa-su
DTSTART:19000401T090000z
RDATE;VALUE=PERIOD:19000101T120000Z/PT3M
RRULE:FREQ=DAILY;BYDAY=SA,SU;UNTIL=19000930T170000z
END:UNION
About Holidays:
Easter, and many non-western holidays, depend on the phase of the moon.
Either you could get the moon phase from the calendar aplication by
defining
the rule part "BYMOON" 0-100 (where 100 is full)like this:
SUMMARY;Easter
RRULE;FREQ=YEARLY;BYMONTH=3,BYMONTHDAY=21,BYDAY=SU,BYMOON=100
Otherwise we need to reference some custom definition. I dont know how to
do
that without defining a new programming language. The following example is
meant merely as food for thought:-)
BEGIN:REF
NAME:moon
//Full moon
DTSTART:190000T000000z //enter some known full moon...
RRULE;FREQ=SECONDLY;INTERVAL=2551443
END:REF
SUMMARY;Easter
RRULE;FREQ=YEARLY;BYMONTH=3,BYMONTHDAY=21,BYDAY=SU,BYREF=moon
--Niklas
Attachment:
Niklas Hjelm.vcf
Description: Binary data
Attachment:
att2.eml
Description: Binary data