CalDAV | |
---|---|
aufbauend auf | WebDAV |
Einführung: | März 2007 |
Standard: | RFC 4791[1] |
CalDAV (Calendar Distributed Authoring and Versioning) ist ein Netzwerkprotokoll, das es ermöglicht, auf Kalenderdateien über WebDAV zuzugreifen und zu synchronisieren.
Die CalDAV-Spezifikation wurde erstmals 2003 von Lisa Dusseault als Entwurf an die Internet Engineering Task Force (IETF) übermittelt und bekam schnell die Unterstützung einiger Hersteller von Kalendersoftware. Im Januar 2005 erfolgte erstmals ein Test zwischen zwei Servern und drei Clients; diese arbeiteten erfolgreich zusammen. CalDAV hat keine eigene IETF-Arbeitsgruppe, aber die Entwickler haben es dennoch als IETF-Standard RFC 4791 Calendaring Extensions to WebDAV (CalDAV)[1] publiziert. CalDAV ist für die Implementierung in jegliche Kalendersoftware entwickelt worden. Dabei verwaltet das CalDAV-Protokoll die Zugriffe auf die Daten nach fest definierten Zugriffsregeln. Es wurde als offener Standard ausgeführt, um eine plattformunabhängige Nutzung zu fördern.
Die Aufgabe von CalDAV ist es, Ereignisse wie Treffen, Versammlungen sowie die Frei-/Belegt-Zeiten zu verwalten und über HTTP zu veröffentlichen. Jedes Ereignis wird im iCalendar-Format dargestellt. Demzufolge kann jeder Webbrowser ein heruntergeladenes Ereignis in seiner iCalendar-Repräsentation darstellen. Die Daten werden als Datensätze in einer WebDAV-Umgebung verwaltet und synchronisiert. Das CalDAV-Protokoll ergänzt das HTTP- (RFC 2616[2]) und das WebDAV-Protokoll (RFC 2518[3]) um die Funktionen WebDAV-Zugriffskontrolle (ACL) (RFC 3744[4]), iCalendar-Auswertungsfunktionen (RFC 5545[5]) und einige weitere spezielle Kalender-Erweiterungen wie eine Schreibsperre für andere Benutzer, die Übermittlung freier Termine und Regeln zur Zusammenführung von parallelen Veränderungen eines Eintrages. Mit dieser Funktionalität kann ein Benutzer seinen Kalender mit einem CalDAV-Server synchronisieren und ihn mit mehreren Geräten oder anderen Benutzern teilen. Das Protokoll unterstützt auch die Veröffentlichung von nicht-personenbezogenen Kalendern, wie z. B. von Räumen oder Organisationen.
Einige Entwickler haben die Komplexität von CalDAV kritisiert, da es schwer zu implementieren ist und so zu Implementierungsfehlern in unterschiedlichen Kalenderverwaltungsanwendungen führen kann, die wiederum zu Inkompatibilitäten führen.
Aktuelle CalDAV-Informationen können auf der CalDAV-Webseite[6] nachgelesen werden.
Das Beispiel basiert auf dem RFC 4791[1] und wurde dem Linux-Magazin entnommen[7]:
Anfrage:
REPORT /bernard/work/ HTTP/1.1 Host: cal.example.com Depth: 1 Content-Type: application/xml; charset="utf-8" Content-Length: xxxx
<?xml version="1.0" encoding="utf-8"?> <C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav"> <C:time-range start="20060104T140000Z" end="20060105T220000Z"/> </C:free-busy-query>
Antwort:
HTTP/1.1 200 OK Date: Sat, 11 Nov 2006 09:32:12 GMT Content-Type: text/calendar Content-Length: xxxx
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Example Corp.//CalDAV Server//EN BEGIN:VFREEBUSY DTSTAMP:20050125T090000Z DTSTART:20060104T140000Z DTEND:20060105T220000Z FREEBUSY;FBTYPE=BUSY-TENTATIVE:20060104T150000Z/PT1H FREEBUSY:20060104T190000Z/PT1H END:VFREEBUSY END:VCALENDAR
Die Liste der CalDAV-Clients[8] enthält unter anderem:
Die Liste der CalDAV-Server[23] enthält unter anderem: