Subject: Recurring Anniversary Instances?

From: "Dan Hickman" <[email-masked]>
Date: Tue, 27 Jul 1999 09:29:59 -0500

Quick question (I hope).

If I have a recurring event set to occur every Wednesday at 1:00PM, is it
legal to reschedule a specific occurrence to be an anniversary type
occurrence.  For example, reschedule a Wednesday 1:00PM to a Tuesday
anniversary date?  VEVENT example shown below.

   BEGIN:VCALENDAR
   PRODID:-//ACME/DesktopCalendar//EN
   METHOD:PUBLISH
   VERSION:2.1
   BEGIN:VEVENT
   ORGANIZER:mailto:[email-masked]
   DTSTAMP:19990714T190000Z
   UID:[email-masked]
   DTSTART:19990714T130000
   DTEND:19990714T150000
   RRULE:FREQ=WEEKLY;INTERVAL=1
   EXDATE:19990721T130000
   RDATE;VALUE=DATE:19990720		*** is this valid?
   SUMMARY: Example Event
   END:VEVENT
   END:VCALENDAR

Thanks,
Dan Hickman

---

From: [email-masked]
Date: Tue, 27 Jul 1999 16:12:37 -0400

Doug wrote:
>> If you want to make this an 'anniversary' type then you should use 
>> FREQ=YEARLY.  Other than that, your example is fine.
>
>I don't think that is what you wanted to say.
>Why can't I have *any* frequency of anniversary?

  Actually it was (that time).  Check out www.m-w.com and look up 
anniversary:

Etymology: Middle English anniversarie, from Medieval Latin anniversarium, from Latin, neuter of anniversarius returning annually, from annus year + versus, past participle of vertere to turn -- more at ANNUAL, WORTH
Date: 13th century
1 : the annual recurrence of a date marking a notable event
2 : the celebration of an anniversary 

If its not annual, its not technically an anniversary.  Sure, _you_ could say that every Wednesday is an anniversary but not everyone would 
understand you...

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: Doug Royer <[email-masked]>
Date: Tue, 27 Jul 1999 13:32:09 -0700 (PDT)

> From: [email-masked]
> Date: Tue, 27 Jul 1999 16:12:37 -0400
> ...
> Etymology: Middle English anniversarie, from Medieval Latin anniversarium, 
from Latin, neuter of anniversarius returning annually, from annus year + 
versus, past participle of vertere to turn -- more at ANNUAL, WORTH
> If its not annual, its not technically an anniversary.  Sure, _you_ could say 
that every Wednesday is an anniversary but not everyone would 
> understand you...

PICKY, Picky, picky :-)

-Doug

---

From: [email-masked]
Date: Tue, 27 Jul 1999 21:03:57 GMT

Dan said:
> Thanks for your reply.  I was using the term "Anniversary" in generic 
terms as it is used in iTIP section  "4.1.5 >Anniversaries or Events 
attached to entire days".  An anniversary doesn't necessarily have to be a 
yearly event (IMHO).
I agree with Dan that an anniversary does not have to be a yearly event. 
At least give me an option to make it so or not.

---

From: [email-masked]
Date: Tue, 27 Jul 1999 21:26:08 GMT

Ok then, if a "not really annual" event is not an "anniversary" what do we 
call it so that it makes sense to anyone trying to implement the protocol.

Bruce_Kahn
Sent by: Bruce Kahn
07/27/99 04:12 PM

        To:     Doug Royer <[email-masked]>
        cc:     [email-masked]
        Subject:        Re: Recurring Anniversary Instances?

Bruce

---

From: [email-masked]
Date: Wed, 28 Jul 1999 09:46:04 -0400

As I wrote in reply to Doug earlier, you _could_ call anything you want an anniversary but not everyone will understand 
you...  Im _not_ claiming that you cannot use anniversary for sub-annual 
(or multi-annual) recurring entries, just that its not accurate to do so.

Bruce

---

From: [email-masked]
Date: Wed, 28 Jul 1999 14:50:42 GMT

>Thanks for your reply.  I was using the term "Anniversary" in generic 
terms as it is used in iTIP section 
>"4.1.5 Anniversaries or Events attached to entire days".  An anniversary 
doesn't necessarily have to
>be a yearly event (IMHO).

Most dictionaries refer to an "anniversary" as an annual event.

---

From: Doug Royer <[email-masked]>
Date: Wed, 28 Jul 1999 13:47:57 -0700 (PDT)

> Date: Wed, 28 Jul 1999 16:32:40 -0400
> 
> As for what to call repeating entries that are not annual, why not just 
> call them "repeating entries"?  Why does some time span have to enter into 
> the generic discussion?  As noted before, we can use precise time span 
> indicators if you have a particular span in mind.

All of the above aside...

Can a VEVENT have a:

	- DTSTRT with a 'date-time' value.

 	- a RRULE of FREQ=WEEKLY (or any other FREQ)
 	
 	- a RDATE with a value of 'date' (not date-time)

Off of the top of my head I would say yes.

-Doug

---

From: [email-masked]
Date: Wed, 28 Jul 1999 21:26:19 GMT

>I think it should be an acceptable option.  The current spec does not 
define this as an error state and we can't be sure >that there isn't some 
use for it.  It is conceivable that a user could have a need for an event 
where one occurrence needs >to be tied to a specific time but another does 
not.

Then these are definitely two different events! A recurring event is one 
that occurs multiple times. Certainly, they may vary in the start or end 
time, but if they are repetitions of the same event, then they should have 
some commonality.
No, this is an error UNLESS the semantics are that when this occurs, it is 
a short-hand for "take the time portion of the date/time" from the 
original DTSTART and DTEND. This makes sense to me. For example, define a 
-T080000Z to -T090000Z meeting (a soiree for us US-Eastern time zone folks 
;-) ) event that is augmented with a RDATE property that specifies 5 other 
dates. The interpretation is that these 5 other occurrences are at the 
same start/end as the first occurrence.
Other wise, there appears to be a value type mismatching here also 
introduces this hybrid event that is both a traditional appointment and a 
day-long event. Too weird. 
-- Frank

---

From: [email-masked]
Date: Wed, 28 Jul 1999 17:25:41 -0400

Dan fired back:

>Forget anything I have written before this point.
 
Done...

>The question is...  "What do you call a recurring event that has a
>date type of DATE instead of a date type of DATE-TIME".  Both 
>are "repeating events", but there is a difference.  Holidays (or 
>Anniversaries) for instance normally happen on a date and not at
>a specific time.  iTIP calls then Anniversary type events.

Actually the only reference iTIP has to "anniversary type events" is the 
title of section 4.1.5.  iTIP never directly called them anything (hence 
your confusion and this thread).  Originally there was aversion to making 
such a generalization (hence the title "Anniversaries or Events attached 
to entire days" and not just "Anniversaries").

In order to be constructive I propose we adopt the following nomenclature 
from now on:

  We refer to non-repeating DATE only entries as simply "an all day 
entry".   For a repeating DATE only entry it will be called "a repeating 
all day entry".   If a specific span of time is relvant, its qualifier can 
be added (ie: "A semi-annual all day entry", etc). 

  For entries that are DATE-TIME, simply remove the phrase "all day" from 
the above descriptions.  If relevant to the discussion, a qualifier can be 
added (ie: "A semi-annual 9AM - 5PM clearance sale", etc).

  Perhaps we should consider ammending iTIP to include some examples of 
each.  Examples of "an all day entry" are Boston Tea Party, D-Day (not PC 
but not my fault), "My roadtrip to New York City from Boston", etc. 
Examples of "a repeating all day entry" are Bastille Day, Independence 
Day, Thanksgiving, New Years Day, etc.  Examples of "a repeating entry" 
are The Boston Marathon (12PM - 5PM Officially), "The Day After 
Thanksgiving Sale from 6AM - 11PM", etc.

  Thoughts??

Bruce

---

From: [email-masked]
Date: Fri, 30 Jul 1999 18:48:59 GMT

Dan:
See my recent post on the technical issues with this. It is problematic 
for both the alarms and also for recurrence-id.
It needs to be an error.
-- Frank

---

From: Doug Royer <[email-masked]>
Date: Fri, 30 Jul 1999 12:39:58 -0700 (PDT)

> Date: Fri, 30 Jul 1999 12:01:24 -0400
> 
> ...
>
> Is DTSTART;VALUE=DATE:19990730 equivalent to 
> DTSTART;VALUE=DATE-TIME:19990730T000000Z?

No, not at all!

> Is DTEND;VALUE=DATE:19990730 equivalent to 
> DTEND;VALUE=DATE-TIME:19990730T235959Z (or should that be 
> DTEND;VALUE=DATE-TIME:19990801T000000Z since its "non-inclusive")?

No, not at all!

> RFC 2445 has only the following relevant text (for DTSTART):
> ...

> There is no explicit declaration of what the start (or end) time default 
> to in the VALUE=DATE cases.   Before continuing Id like to get concensus 
> (or murmers)...

No time at all - that's the point.

If I PUBLISH a VEVENT for New Years Day, it's Jan 1 in the CUA's time zone.
Its not 00:00:00Z, or 00:00:00 US/Pacific or 00:00:00 in any other time zone.

---

From: [email-masked]
Date: Fri, 30 Jul 1999 16:56:12 -0400

Dan replied:
>A DATE-TIME value specifies a specific point in time, whereas a DATE 
value actually can be thought of as specifying a range of time 
(19990730000000Z to 19990730235959).

Actually, no it cannot.  By your statement:

DTSTART;VALUE=DATE:19990730
DTEND;VALUE=DATE:19990802

could be claimed to be "All day 30-Jul-1999 and all day 02-Aug-1999".  In 
fact its all the time between 19990730T00:00:00 and 19990802T235959 
(inclusive).  A range of time is specified by a PERIOD, not a DATE data 
type.

Dan's claim is valid IFF there is a DTSTART;VALUE=DATE:19990730 and no 
DTEND or if there is a DTEND;VALUE=DATE w/the same date value!  Otherwise 
it is inaccurate and misleading.

>Hence, "All-Day".

Backstep a bit on this...  The original example from RFC 2446 is simply:

   BEGIN:VCALENDAR
   PRODID:-//ACME/DesktopCalendar//EN
   METHOD:PUBLISH
   VERSION:2.0
   BEGIN:VEVENT
   ORGANIZER:mailto:[email-masked]
   DTSTAMP:19970614T190000Z
   UID:[email-masked]
   DTSTART;VALUE=DATE:19970714
   RRULE:FREQ=YEARLY;INTERVAL=1
   SUMMARY: Bastille Day
   END:VEVENT
   END:VCALENDAR

so it is relying on the omission of DTEND to make this "all day".  (See 
previously quoted snippet from RFC 2445 on this.)   That is not the same 
as specifying a DTSTART;VALUE=PERIOD:...  (which happens to be illegal to 
do!!!!!)  The start time is implied (so far, noone has disagreed) to be 
T000000 on the given date.  There is NO implied end time; its simply a 
single starting point in time.  The end time is inferred by the text 
originally quoted from RFC 2445 about defaulting values in this particular 
case; but it is not true for all cases.

Bruce

---

From: [email-masked]
Date: Fri, 30 Jul 1999 17:12:29 -0400

> DTEND;VALUE=DATE-TIME:19990801T000000Z since its "non-inclusive")?

So, tell me then what is the effective 'starting time' (or 'ending time') 
of each of the following:

1: DTSTART;VALUE=DATE:19990730
2: DTSTART;VALUE=DATE-TIME:19990730T000000
3: DTEND;VALUE=DATE:19990730
4: DTEND;VALUE=DATE-TIME:19990730T235959

(2 are freebies I know but included for refrence.).  When I used the term 
equivalent I mean they refer to the same point in time; not that they are 
necessarily interchagable (ie: mixing a VALUE=DATE w/a VALUE=DATE-TIME, 
etc).  Until now I thought we had agreement on this but perhaps not. 

What about input from the other RFC and draft editors (Steve S., Steve M., 
Derik S, Lisa, Tony, etc)??

>Its not 00:00:00Z, or 00:00:00 US/Pacific or 00:00:00 in any other time 
zone.

Actually using 00:00:00 (floating WRT the CU/CUAs TZ) is what it is.  When 
its 19990102T000001 in New York City, its only 19990101T230001 in the 
Central Time Zone (Chicago??, Kansas City?) and hence its still "New years 
day" there for another 59+ minutes.

Bruce

---

From: Doug Royer <[email-masked]>
Date: Fri, 30 Jul 1999 14:32:56 -0700 (PDT)

> Date: Fri, 30 Jul 1999 17:12:29 -0400
> 
> Doug shot back:

It's only valid if you ask: "Is this event this day (19990730)?".
It has no time.

> 2: DTSTART;VALUE=DATE-TIME:19990730T000000

00:00:00

> 3: DTEND;VALUE=DATE:19990730

It's only valid if you ask: "Is this event this day (19990730)?".
It has no time.

> 4: DTEND;VALUE=DATE-TIME:19990730T235959

23:59:59

> etc).  Until now I thought we had agreement on this but perhaps not. 

In CAP we had said that you must ask for events in ZULU and not
local time. I think this is going to be a bug given the CS has
no idea what TZID the CUA is in, and the CUA has no idea what TZID
the CS is in.