innerjoin

innerjoin | iCalendar
Innerjoin Home Up Help

Sunbird and Mozilla Calendar Notes and Queries

Need to set up an 'all-day' event and/or an 'event on a day' in iCalendar .ics files? Confused that the Mozilla or Firefox calendar extension or Sunbird treats these as the same?

These notes were originally written round Calendar 0.8 with Mozilla 1.1, September 2002

They were revisited and revised to bring them up to date for Sunbird 0.2, the stand-alone Calendar release of January 2005

Notes and Queries

Dates, Times and Precision

The details in an .ics file for an event from 20:00 to 21:00 is clear, the event has a start time and an end time:

See: RFC 2445 Section 4.6.1 for VEVENT, 4.8.2.4 for DTSTART, and 4.8.2.2 for DTEND

In the RFC this is described as a inclusive start time and a non-inclusive end time

If you specify the start time and no end time, iCalendar treats the event as happening on an 'instant', it has no duration but happens at that given time:

So what about things which have no duration and happen on a given day? Things like Birthdays, Anniversaries and when the rent is due?

Similarly what about the things which will happen on the day but which you don't know the time yet?

Calendars have to be able to convey all these meanings.

All Day Events

Applying the logic of an event to a date, an 'all day' event is flagged as starting at the beginning of one day and lasting until the beginning of the next:

gives an event lasting the whole day. Or to be very precise:

Try subscribing to a test all day event. The same data downloadable with a text/plain MIME type (so you can read it) is here.

Events on that day

An 'event on a day', such as anniversaries and birthdays as described in the RFC, is specified with a DTSTART without a DTEND:

Sunbird, as of version 0.2, presents 'events on a day' in the same fashion as 'all day' events.

Compare the presentation of an 'on the day' event [text/plain] and an 'all day' event [text/plain]

See the discussion with respect to Chandler about importing/exporting iCal.

This markup may also be appropriate for 'dates where you don't know the times', for example that you know it is on the 22nd September, but not when on the 22nd of September. This usage however does not appear in the RFC and the VEVENT definition says that in this case there is an implicit DTEND.

TODO: Bring this section and the test cases up to date

These events with just a 'start time' and no duration are treated as TRANSPARENT and therefore not interfering with the 'free busy' information maintained by the calendar.

For example, that the day is an anniversary does not, by itself, mean that you cannot book anything else on it, a recipe for disaster. Similarly, if you have noted a concert happening on a date far in the future, you also better not let your calendar think you are busy for the whole day just because you don't know whether the gig is at 20:00 or 21:00. This is what 'transparent' status does.

Transparency

See: RFC 2445, Section 4.8.2.7 TRANSP

Sunbird 0.2 does not implement TRANSP. Compare the transparent 'on the day' event [text/plain] in comparison to the straight 'on the day' event [text/plain]

Events on a day are treated as transparent, equivalent to having

set. 'Transparent' events don't take any time on your calendar, you can happily organise other things around and overlapping it.

Navigation: [ Home ] [ Index ] [ Site Map ] [ Translate ] [ Up ] [ What's New ]
Mail: mgk@iv.mmv.innerjoin.org, 2005/05/15
URI: http://www.innerjoin.org/iCalendar/all-day-events.html
Keywords:innerjoinorg200502, innerjoinorg, innerjoin, mozilla, calendar, events, on day, all day