[Ietf-calsify] new section in recurrence rule definition (exact duration versus nominal duration)

Arnaud Quillaud Arnaud.Quillaud at Sun.COM
Thu Apr 5 12:22:48 PDT 2007


Hello,

I'm having a hard time trying to understand the following new section in the recurrence rule definition at: http://tools.ietf.org/html/draft-ietf-calsify-rfc2445bis-06#section-3.8.5.3

<<
If the duration of the recurring component is specified with the
      "DTEND" or "DUE" property, then the same exact duration will apply
      to all the members of the generated recurrence set.  Else, if the
      duration of the recurring component is specified with the
      "DURATION" property, then the same nominal duration will apply to
      all the members of the generated recurrence set and the exact
      duration of each recurrence instance will depend on its specific
      start time.  For example, recurrence instances of a nominal
      duration of one day will have an exact duration of more or less
      than 24 hours on a day where a time zone shift occurs.  The
      duration of a specific recurrence may be modified in an exception
      component or simply by using an "RDATE" property of PERIOD value
      type.
>>

While browsing the archives, I have found the following example (from http://lists.osafoundation.org/pipermail/ietf-calsify/2005-April/000482.html) which summarized quite well my layman undestanding of the difference between using DTSTART+DTEND versus DTSTART+DURATION in a recurring event.

<<
Case a:

  A shift of work: 10pm - 6am. This is when I work, those times being in
  my local timezone. Most days my shift will be 8 hours long, on
  occaisonal days it will be 7, and on others it will 9.
  
Maybe my company will pay me for the 8 hours on days I only work 7,
thats an accounting issue, not a scheduling issue. Either way, they
don't have two chairs at the security desk that I work at, there is no
point me standing there looking over the other guards shoulder. Our
shifts do not overlap, on any day.

This is an example of when DTEND would be used. DTSTART is when I start
work, DTEND is when I end work, very simple, always right.


Case b:

  My lunch break: it is at 1 AM, and I am allowed 1 hour. I don't get
  more or less.

This is an example of when DURATION would be used.
>>

What I thought was a clear example is in opposition with the new calsify section, especially with the DTEND part:

"If the duration of the recurring component is specified with the "DTEND" or "DUE" property, then the same exact duration will apply to all the members of the generated recurrence set."

Has the meaning of a DTSTART/DTEND recurring event changed ? Or is the example above plain wrong ? Or maybe I don't understand the meaning of "exact duration" ? 

About the DURATION part, I think it would really help to state (e.g. in the duration definition) what we mean by nominal duration, for example (taking almost verbatim from the ISO 8601 definition):

<<
Duration can be expressed by a combination of components with accurate duration (hour, minute and second)
and components with nominal duration (week and day).

The duration of a calendar week or a calendar day depends on its position
in the calendar. Therefore, the exact duration of a nominal duration can only be evaluated if the duration of the calendar
years, calendar months, calendar weeks or calendar days used are known.
>>

Finally, in most cases, a DURATION will contain only accurate durations and hence, all instances will have the same exact duration. A few extra words could clarify that I think. Something like:

      If the
      duration of the recurring component is specified with the
      "DURATION" property, then **that same duration** will apply to
      all the members of the generated recurrence set. **If this duration contains values with nominal duration**, the exact
      duration of each recurrence instance will depend on its specific
      start time.  For example, recurrence instances of a nominal
      duration of one day will have an exact duration of more or less
      than 24 hours on a day where a time zone shift occurs...


Arnaud Q



More information about the Ietf-calsify mailing list