Re: Questions regarding recurrence rules

Reinhold Kainhofer <[email protected]> Fri, 3 Jun 2005 20:24:36 +0200
Newsgroups gmane.ietf.calendar
Organization Vienna University of Technology
Message-ID <[email protected]>
--nextPart4626893.8lntLJgmG2
Content-Type: text/plain;
  charset="iso-8859-6"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi Doug,

Am Freitag, 3. Juni 2005 18:38 schrieben Sie:
>   The "DTSTART" property value, if
>     specified, counts as the first occurrence.

Yes, and? I was discussing exactly this sentence. Did you read what I wrote=
 in=20
the paragraph before the one that you quote?


On Friday, 3. Juni 2005 17:47 I wrote:
> I thought about this issue some more, and I tend to think that the phrase
> "if specified" in the RFC 2445 is actually meant to mean "if the DTSTART
> matches the recurrence rule" (not if the DTSTART is present in the VEVENT
> at all).

The issue here is what "if specified" means.=20
It can't mean "if a DTSTART property is available", because if there is no=
=20
DTSTART (implied or explicit), then an RRULE doesn't make sense at all. So=
=20
what else can it mean?

It's definitely there for a reason, so the only explanation I found was tha=
t=20
"specified" in that context was meant to be "if the first recurrence of the=
=20
RRULE matches the DTSTART, it counts towards the COUNT".=20
This might not seem relevant (or rather, it might seem pretty obvious), but=
 if=20
you look at the larger picture it serves as clarification:=20
The whole recurrence set is generated by DTSTART plus the recurrences=20
generated by the RRULEs and the RDATEs, minus the EXRULES and EXDATEs.=20
Also, rfc 2445 says "Duplicate instances are ignored". The phrase you quote=
=20
simply means that although the the dtstart will be ignored in the RRULE=20
(because it's already in the recurrence set due to its being DTSTART), it=20
still counts towards count.

Also notice the wording: it speaks of the property value, not of the proper=
ty=20
itself. The property needs to be specified (which implies that a value for=
=20
DTSTART is specified in the VEVENT), so the question here is specified *by=
=20
what* ? In the event? (No, I already negated this and brought arguments for=
=20
this) By the recurrence rule?=20



At least that's the explanation I found for that exact phrase in the RFC. I=
=20
may be wrong, but I haven't yet heard a better explanation to what "if=20
specified" really means there. Please correct me, if I'm wrong!

Cheers,
Reinhold

>
> > After re-reading the rfc several times, and reading a thread on the
> > libical mailing list from July 2002
> > (http://www.softwarestudio.org/mail-archives/libical/0680.html, see the
> > thread following this initial mail for the relvant comments), I don't
> > think that the DTSTART is meant to be automatically part of the
> > recurrence set generated by the RRULE (only if it matches the BY* parts=
).
> > So, basically, this means that
> >   DTSTART;VALUE=3DDATE:20050603
> >   RRULE:FREQ=3DDAILY
> >   EXRULE:FREQ=3DWEEKLY;BYDAY=3DMO,WE;COUNT=3D3
> > excludes only Mo June 6, We June 8, and Mo June 13 (the count applies
> > only to the nr of dates that actually match the rule, as explained abov=
e;
> > and the DTSTART is not automatically excluded by the EXRULE, since
> > otherwise the phrase "can be used to exclude ... DTSTART" doesn't make
> > sense).
> >
> > Can anyone confirm this?
> >
> > Cheers,
> > Reinhold

=2D-=20
=2D-----------------------------------------------------------------
Reinhold Kainhofer, Vienna, Austria
email: [email protected], http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at
 * K Desktop Environment, http://www.kde.org/, KOrganizer / KPilot maintain=
er

--nextPart4626893.8lntLJgmG2
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCoKBlTqjEwhXvPN0RAlDyAKDA2Vk8GqYPckWtX2NeY0xfmLwosACfcAlc
fzOShW+WACakk/0skT4UUAo=
=9JkB
-----END PGP SIGNATURE-----

--nextPart4626893.8lntLJgmG2--