This document is premature. All of it's content are subject to change.

Purpose

The purpose of this document is to provide developer resources for various calendar formats. This is done by

  1. Documenting the formats (components, properties and data types), or add references to existing documentation,
  2. Create mapping tables to ease the transformation between formats, and
  3. Provide information on code components / APIs / logic to use for conversion.

NB: 3) is not meant to duplicate http://wiki.mozilla.org/Calendar:Device_Sync - it's included here because you can handle Outlook personal folder files through several dll's

Calendar formats

iCalendar v2.0

The formats listed here are based on iCalendar RFC.


Mozilla.org/NONSGML Mozilla Calendar V1.0//EN

Microsoft Corporation//Outlook 10.0 MIMEDIR//EN

The following information is based on Outlook 2003 sp1

  • This calendar format is what you get when you save a single event in Outlook to ics.
  • The version number changes between 10.0 and 11.0 depending on some properties, that hasn't yet been determined (it's probably not important either).
  • As of Outlook 2003 sp1 only VEVENTS can be imported and exported. Only single events can be exported (by selecting an event and choose "File>Save as...". Calendar files with multiple VEVENTS can be imported.
  • Known parsing exceptions when importing Mozilla calendar 1.0:
    • Outlook needs a METHOD property in the calendar header (see the samples)
    • Outlook chokes on the VTIMEZONE components or some of it's properties.
    • VTODO doesn't raise exceptions but are simply ignored.

Sample files

Outlook personal folder file

Mapping