vCalendar - die Basis für das hCalendar-Mikroformat

So wie das hCard-Mikroformat auf dem vCard-Format basiert, lehnt sich das hCalendar-Mikroformat an das iCalendar-Format an, das ebenso wie das vCard-Format ein Industriestandard ist. Allerdings unterstützen die meisten Anwendungen nur vCalendar, den Vorläufer des iCalendar-Formats. Auch dieses Format kennen Sie vielleicht aus Microsoft Outlook oder vergleichbaren Anwendungen als Export- und Import-Format für Terminkalendereinträge. Entsprechende Dateien haben die Standardendung .vcs. oder .ics.

Um das hCalendar-Format besser zu verstehen, betrachten wir zunächst zwei Kalendereinträge im iCalendar-Format –- zunächst ein Tagesereignis und dann einen Termin.

BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20070406
DTEND:20070406
SUMMARY:Karfreitag
END:VEVENT
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20070510T200000
DTEND:20070510T235900
TZOFFSETFROM:+0100
LOCATION:Stragula Realwirtschaft
SUMMARY:Jahresversammlung 2007 der gescheiterten Existenzen
ATTENDEE;ROLE=OWNER;CN=Rainer Wahnsinn;MAILTO=rwahnsinn@example.com
ATTENDEE;ROLE=ATTENDEE;CN=Anna Lyse;MAILTO=alyse@example.com
END:VEVENT
END:VCALENDAR

Die gewählten Beispiele sind recht einfach und beschreiben nur wenige typische Daten. Die Spezifikation des iCalendar-Formats kennt wesentlich mehr Eintragsmöglichkeiten, um auch Aspekte wie Teilnehmeranforderungen, wiederkehrende Termine, Alarmeinstellungen usw. zu speichern.

Die offizielle Spezifikation und Dokumentation des iCalendar-Formats finden Sie unter:
http://tools.ietf.org/html/rfc2445
RFC (Request for Comment) 2445

Die Datenstruktur weist die gleichen Merkmale auf wie diejenige des vCard-Formats. Der gesamte Kalendereintrag wird durch BEGIN:VCALENDAR eingeleitet und durch END:VCALENDAR abgeschlossen. Durch BEGIN:VEVENT bzw. END:VEVENT wird der Kalendereintrag typisiert. Termine und Tagesereignisse fallen unter die Kategorie VEVENT. Andere Kategorien sind VTODO (für Aufgaben) und VJOURNAL für Journaleinträge.

Terminanfang und -ende werden durch DTSTART bzw. DTEND definiert. Bei Tagesereignissen wie im ersten unserer Beispiele wird das Datum ausschließlich in Ziffernform notiert, wobei die ersten vier Ziffern für das Jahr stehen, die nächsten zwei Ziffern für den Monat und die letzten beiden für den Monatstag. Bei Uhrzeit-Terminen wie in unserem zweiten Beispiel folgt hinter der Datumsangabe ein T und dahinter die Uhrzeit als Folge von sechs Ziffern, wobei die ersten beiden Ziffern die Stunde bedeuten, die zweiten beiden die Minuten und die letzten beiden die Sekunden.

Bei Uhrzeitangaben ist auch die Angabe der Zeitzone sinnvoll. Dies geschieht durch TZOFFSETFROM. Deutschland beispielsweise hat die Zeitzone + 1 Stunde gegenüber der UTC-Zeit (Greenwich-Zeit). Notiert wird das in der Form +0100.

Wenn es für einen Termin einen Veranstaltungsort gibt, kann dieser durch LOCATION angegeben werden. Falls mit dem Ereignis auch eine Webadresse verknüpfbar ist, kann zusätzlich ein Feld URL notiert werden. SUMMARY ist das Feld für den Titel des Kalenderereignisses. Längere Beschreibungen können in einem zusätzlichen Feld DESCRIPTION stehen. Komplexer wird es wieder bei an ATTENDEE-Feldern. In diesen Feldern können Teilnehmer eingetragen werden, beispielsweise bei Meeting-Ereignissen. Für jeden namentlichen Teilnehmer wird ein ATTENDEE-Feld notiert. Im Unterfeld ROLE kann die Funktion des jeweiligen Teilnehmers angegeben werden. Die Wertzuweisung OWNER steht für den Organisator, Einladenden oder Hauptverantwortlichen des Ereignisses, und die Zuweisung ATTENDEE für normale Teilnehmer ohne spezielle Funktion. In den Feldern CN kann der Name des Teilnehmers angegeben werden, und bei MAILTO dessen Mailadresse.

page_revision: 3, last_edited: 1191534078|%e %b %Y, %H:%M %Z (%O ago)