vCalendar and iCalendar and vCal and iCal
Well as I move forward with a project at work to get Exchange Calendaring working in our environment. I am faced with understanding how email invites from an Outlook user show up on non-outlook email readers. Apparently Microsoft formats an email with a iCalendar attachment. The other names for representing it are wrong, or refer to other technologies. Here is the link to RFC-2445 which defines iCalendar, which is based on vCalendar. vCalendar came first, and iCalendar adds extensions to it to support things like recurrance, attendees, etc. Here is the IMC's definition of vCard and vCalendar which also links to the above RFC. All iCalendar items are saved with the ICS or .ics file extension, you can also save as vCalendar, which is VCS and .vcs.
You also can't save recurring meetings in vCalendar format. iCalendar seems to support more features, and is definately the more powerful of the two, or atleast more verbose.
The articles I found the most helpful were:
Dissecting the vCalendar File - which also links to Creating Clickable Appointments
How to Manually Process a vCalendar File As a Text File - From microsoft, in reference to how Outlook 2003 processes the file. Quickly defines key fields such as date formating and time.
The hope is to be able to develop internal applications that can have links to pop meetings into people's calendar. 🙂
Sample vCalendar from Microsoft
BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN VERSION:1.0 BEGIN:VEVENT DTSTART:19980114T210000Z DTEND:19980114T230000Z LOCATION:My office CATEGORIES:Business DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is a note associated with the meeting=0D=0A SUMMARY:Meeting to discuss salaries PRIORITY:3 END:VEVENT END:VCALENDAR
Sample vCalendar from eVite.com
BEGIN:VCALENDAR VERSION:1.0 BEGIN:VEVENT URL:http://www.evite.com/r?iid=WPOICERTYUEPRWVV ORGANIZER:MAILTO:[email protected] DTSTART:20041113T200000Z DTEND:20041113T200000Z SUMMARY:Group Gathering CATEGORIES:Party_top DESCRIPTION:For details, click here: http://www.evite.com/r?iid=WPOICERTYUEPRWVV DXJV LOCATION:TBD END:VEVENT END:VCALENDAR
Microsoft activity in vCalendar format
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN
VERSION:1.0
BEGIN:VEVENT
DTSTART:20041018T233000Z
DTEND:20041019T000000Z
LOCATION;ENCODING=QUOTED-PRINTABLE:This is the Location
UID:040000008200E00074C5B5656A82E0080000000070D1878F3AB5C4010000000000000000100
00000917681A7B41ED145BC577ACE43920723
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is the description of the meetin=
g.=0D=0A
SUMMARY;ENCODING=QUOTED-PRINTABLE:This is the subject of the meeting
PRIORITY:3
END:VEVENT
END:VCALENDARMicrosoft activity in iCalendar format
BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT ATTENDEE;CN="Lastname, Firstname";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected] ORGANIZER:MAILTO:[email protected] DTSTART:20041018T233000Z DTEND:20041019T000000Z LOCATION:This is the Location TRANSP:OPAQUE SEQUENCE:0 UID:040000008200E00074C5B5656A82E0080000000070D1878F3AB5C4010000000000000000100 00000917681A7B41ED145BC577ACE43920723 DTSTAMP:20041019T004739Z DESCRIPTION:This is the description of the meeting.n SUMMARY:This is the subject of the meeting PRIORITY:5 CLASS:PUBLIC END:VEVENT END:VCALENDAR
Meeting with invites in iCalendar format and reminder and guestBEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 10.0 MIMEDIR//EN VERSION:2.0 METHOD:REQUEST BEGIN:VEVENT ATTENDEE;CN="Lastname, Host";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected] ATTENDEE;CN="Lastname, Guest";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:[email protected] ORGANIZER:MAILTO:[email protected] DTSTART:20041018T233000Z DTEND:20041019T000000Z LOCATION:This is the Location TRANSP:OPAQUE SEQUENCE:0 UID:040000008200E00074C5B5656A82E0080000000070D1878F3AB5C4010000000000000000100 00000917681A7B41ED145BC577ACE43920723 DTSTAMP:20041019T005542Z CATEGORIES:Categories DESCRIPTION:This is the description of the meeting.n SUMMARY:This is the subject of the meeting PRIORITY:5 CLASS:PRIVATE BEGIN:VALARM TRIGGER:-PT15M ACTION:DISPLAY DESCRIPTION:Reminder END:VALARM END:VEVENT END:VCALENDAR