Calendar User Agents
A Calendar User Agent (CUA) is software that supports the iCalendar specification. This page provides information regarding the different categories of CUAs.
Rich Clients
Microsoft Outlook
Language: C (?)
License: Proprietary
RFC2445 Deviations:
* allows DATE-TIME representation without specifying a VALUE=DATE-TIME parameter
* Outlook will not read files that don't contain the mandatory UID and DTSTAMP properties in VEVENT, etc. components
* provides quoted TZID parameters, and as such does not conform with RFC2445
* generates additional spaces in recurrence rules containing a BYDAY component
* 2003 will only accept folded lines of exactly 75 octets
* 2007 will fold lines with all folded lines starting with a tab instead of spaces
Non-standard Properties:
* X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
* X-MICROSOFT-CDO-IMPORTANCE:1
* X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
* X-MICROSOFT-DISALLOW-COUNTER:FALSE
* X-MS-OLK-ALLOWEXTERNCHECK:TRUE
* X-MS-OLK-AUTOSTARTCHECK:FALSE
* X-MS-OLK-CONFTYPE:0
* X-MS-OLK-SENDER;CN=Test:mailto:[email protected]
Lotus Notes
Language: C (?)
License: Proprietary
RFC2445 Deviations:
* Requires METHOD:REQUEST for non-optional attendees
Non-standard Properties:
* X-LOTUS-BROADCAST:FALSE (required for non-optional organizer?)
* X-LOTUS-CHARSET:UTF-8
* X-LOTUS-UPDATE-SEQ:1
* X-LOTUS-UPDATE-WISL:$S:1;$L:1;$B:1;$R:1;$E:1;$W:1;$O:1;$M:1
* X-LOTUS-NOTESVERSION:2
* X-LOTUS-NOTICETYPE:I
* X-LOTUS-APPTTYPE:3
* X-LOTUS-CHILD_UID:9DA9112BB4438073C125750E004B7055
Mozilla Calendar
Language: C (?)
License: MPL
RFC2445 Deviations:
* long content lines are folded with a single LF character (should be CRLF)
* folds all property parameters and values
* Generates non-standard "X" properties
Apple iCal
Language: Unknown
License: Proprietary
RFC2445 Deviations:
* uses VALUE=TEXT on some X-properties (NOTE: this is valid behaviour)
* iCal events don't include the mandatory DTSTAMP property
* iCal 1.0 doesn't appear to include VTIMEZONE definitions where applicable (this appears fixed as of 1.5)
Evolution
Language: C (?)
License: GPL
KOrganizer
Language: C (?)
License: GPL
RFC2445 Deviations:
* long content lines are folded with a single LF character (should be CRLF)
* folds all property parameters and values
Chandler
Language: Python
License: GPL
k5n Desktop Calendar (k5nCal)
Language: Java 1.5
License: GPL (3rd party libraries with other licenses)
Web Applications
PHP iCalendar
Language: PHP
License: GPL
RFC2445 Deviations:
* long content lines are folded with a single LF character (should be CRLF)
Webical
Language: Java
License: GPL
Google Calendar
Language: Unknown
License: N/A
RFC2445 Deviations:
* Generates DTSTART properties in DATE format without specifying the required VALUE=DATE parameter
WebCalendar
Language: PHP
License: GPL
RFC2445 Deviations:
* Generates invalid ATTENDEE lines
Calendar Servers
Hula Project
Language: Unknown
License: GPL
Cosmo
Language: Java
License: Apache 2.0