Open Source im professionellen Einsatz

Drei Standards für Kalenderdaten: V-Cal, I-Cal und CAP

Tag für Tag

Termin- und Aufgabenplanung gehören in größeren Firmen zur täglichen Routine. Kalender-Standards sorgen dafür, dass die Arbeit mit beliebigen Programmen klappt - auch ohne Filofax.

Kalenderdaten bilden den Kern jeder Zeitmanagement-Software (siehe entsprechenden Artikel) und spielen eine zentrale Rolle bei jeder PIM-Software (Personal Information Management). Damit die Terminplanung nicht daran scheitert, dass jedes Programm sein eigenes Format benutzt, haben sich mehrere Standards etabliert. Der erste stammt vom Versit-Konsortium, das 1996 eine Spezifikation für den Austausch von Kalenderdaten veröffentlichte. Noch im gleichen Jahr übertrug das Konsortium - bestehend aus Apple, AT&T, IBM und Siemens - die Rechte an der Spezifikation auf das Internet Mail Consortium [1]. Das Versit-Konsortium existiert nicht mehr; der V-Calendar blieb [2].

Von V-Cal zu I-Cal

Mit zunehmender Bedeutung des Internets wuchs auch die Nachfrage nach Kalender-Lösungen. Microsoft und Lotus veröffentlichten deshalb 1998 gemeinsam eine neue Kalender-Spezifikation unter dem Namen Internet Calendaring and Scheduling Core Object, kurz I-Calendar [3]. Die I-Calendar-Spezifikation baut im Wesentlichen auf den Standards von V-Calendar auf, erweitert um Free/Busy-Optionen.

In Ergänzung zu dem gleichzeitig veröffentlichten I-Calendar Transport-indendent Interoperability Protocol (I-TIP, [4]) beherrscht I-Calendar somit neben grundlegender Terminplanung auch Abfragefunktionen über die Verfügbarkeit von Mitarbeitern und Ressourcen. Die dazu benötigten Informationen veröffentlicht der Client in regelmäßigen Abständen auf einem zentralen Server. Gleichzeitig prüft er die Frei/Besetzt-Informationen anderer Benutzer.

Microsofts Outlook bietet diese Funktionalität in Zusammenarbeit mit einem Exchange-Server bereits seit Jahren. Das Programm benutzt dazu V-Calendar-Dateien mit der Endung ».vfb«. In der Linux-Welt verstehen nur wenige Clients dieses Feature. Mit dem proprietären Plugin von Novell ist aber zum Beispiel Evolution in der Lage, Free/Busy-Informationen mit einem Exchange-Server auszutauschen. In reinen Linux-Umgebungen bieten sich das Gespann Kolab-Kontact oder der Einsatz des OpenExchange-Servers an (Abbildung 1).

Abbildung 1: Eine Besonderheit von I-Calendar-Dateien sind die Free/Busy-Informationen. In Zusammenarbeit mit einem Groupware-Server wertet auch Kontact diese Informationen aus.

Abbildung 1: Eine Besonderheit von I-Calendar-Dateien sind die Free/Busy-Informationen. In Zusammenarbeit mit einem Groupware-Server wertet auch Kontact diese Informationen aus.

Aufbau und Optionen

V-Calendar- und I-Calendar-Dateien sind normale Textdateien. Bei V-Calendar haben sie in der Regel die Dateiendung ».vcs« und sind vom MIME-Typ »text/x-vcalendar«. I-Calendar-Dateien sind vom MIME-Typ »text/calendar« und tragen die Dateiendung ».ics«. Als Konvertierungswerkzeug eignet sich das Skript »ical2vcal« aus dem Paket »kdepim«. Ein Beispiel für eine einfache V-Calendar-Datei zeigt Listing 1.

Listing 1:
V-Calendar

01 BEGIN:VCALENDAR
02 VERSION:1.0
03 BEGIN:VEVENT
04 DTSTART:20050519T162500Z
05 DTEND:20050519T163500Z
06 SUMMARY:Kaffeepause
07 LOCATION;ENCODING=QUOTED-PRINTABLE:B=FCro
08 AALARM:20050519T162100Z
09 CATEGORIES:APPOINTMENT
10 CLASS:PUBLIC
11 END:VEVENT
12 END:VCALENDAR

Die meisten PIM-Programme erlauben das Organisieren von Appointments (Gruppenterminen) und Tasks. Die V-Calendar-Spezifikation sieht dafür die Typen »VEVENT« (Termin) und »VTODO« (Aufgaben) vor. I-Calendar-Dateien kennen zusätzlich den Typ »VJOURNAL« für Tagebucheinträge und »VFREEBUSY« für die Verfügbarkeitsinformationen.

In jeder Zeile stehen ein Schlüsselwort und - durch einen Doppelpunkt getrennt - der zugehörige Wert. Beide Kalenderformate beginnen mit dem Eintrag »BEGIN:VCALENDAR« und der Angabe der Version. In der nächsten Zeile folgt die Information, um welchen Typ von Kalenderfunktion es sich handelt. Dabei ist es auch möglich, in einer Kalenderdatei Aufgaben und Treffen zu mischen, zum Beispiel:

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
[...]
END:VEVENT
BEGIN:VTODO
[...]
END:VTODO
END:VCALENDAR


Bei Treffen muss die Datei jeweils Start- und Endzeitpunkt sowie eine kurze Beschreibung enthalten. Aufgaben umfassen auch Status-Informationen.

Das Standard-Encoding von Kalenderdateien ist nach wie vor 7-Bit-US-Ascii. Andere Kodierungen müssen explizit mit »ENCODING=Kodierung« angegeben sein. Mit der Option »CHARSET=« lässt sich zusätzlich das Buchstabenset festlegen. Aktuelle Programme kommen auch mit Unicode-Dateien zurecht. Sie speichern Kalender in UTF-8, ohne von »ENCODING« oder »CHARSET« Gebrauch zu machen.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook