Using PHP pspell Spell Check Functions with a Custom Dictionary
JQuery Venetian Blinds Transition Effect
Native Linux Space Warfare: Freespace 2
Installing Xdebug for use with Eclipse or Netbeans on Linux
Changing Mailman Python Scripts for Virtual Host Support
Getting Set up with Ogre 3D on Ubuntu

The iCalendar Format for Sharing Scheduling with PHP

Friday, 6 March 15, 10:32 am
iCalendar is a format for sending out meeting requests that are handled by email clients like Outlook and Thunderbird.

- iCalendar data has the MIME content type text/calendar
- The filename extension of ics is to be used for files containing calendaring and scheduling information
- By default, iCalendar uses the UTF-8 character set
- Each line is terminated by CR+LF
- Lines should be limited to 75 octets (not characters) long
- Where a data item is too long to fit on a single line it can be continued on following lines by starting the continuation lines with a space character (in hex: 20) or a tab character (in hex: 09)
- Actual line feeds in data items are encoded as a backslash followed by the letter n or N (the bytes 5C 6E or 5C 4E in UTF-8)
- "[R]ecurring and repeating meetings still have a bit of mystery and ambiguity associated with them. Resulting in no true interoperability between the current calendaring and scheduling vendors."

- The first line must be BEGIN:VCALENDAR, and the last line must be END:VCALENDAR; the contents between these lines is called the "icalbody".
- The second line VERSION:2.0 indicates that the data is in iCalendar format. VERSION:1.0 was used to specify that data is in the old vCalendar format.
- The body of the iCalendar object (the icalbody) is made up of a list of calendar properties and one or more calendar components. The calendar properties apply to the entire calendar. The calendar components are several calendar properties which create a calendar schematic (design)
- VEVENT describes a calendar event with a scheduled amount of time: DTSTART = starting time, DTEND = ending time. If the calendar event is recurring, DTSTART is the start of the first event
- If you need to send in a cancellation for an event, the UID should be same as the original event, and the component properties should be set to cancel
- For sending an UPDATE for an event the UID should match the original UID, and the SEQUENCE component property is required specifying which update this is (starting at 1)
- In Microsoft Outlook, the SUMMARY corresponds to the "Subject" entry in the "Appointment" form, and DESCRIPTION to the descriptive text below it. In addition, Outlook 2002 and Outlook 2003 demand a UID and a DTSTAMP.

Please enter your comment in the box below. Comments will be moderated before going live. Thanks for your feedback!

Cancel Post

/xkcd/ Pub Trivia