Teil 4: Synchronisation mit sabre/dav

Teil 4: Synchronisation mit sabre/dav

Nachdem in den vorherigen Artikeln dieser Serie der eigene sabre/dav-Server erklärt und dann installiert wurde, geht es in diesem Teil nun um die Synchronisation mit verschiedenen Desktop- und mobilen Clients. Die Synchronisation soll beispielhaft mit eM-Client , den iPhone Standardapps sowie mit Thunderbird gezeigt werden.

Sie werden dabei feststellen, dass die Clients unterschiedlich konfiguriert werden müssen, da die verschiedenen Programme auf unterschiedliche Art die Informationen vom CalDAV / CardDAV Server abfragen. Nach dem Lesen dieses Artikels werden Sie wissen, wie die verschiedenen Programme konfiguriert werden müssen und worauf man achten muss.

Datenstruktur von sabre/dav

Es gibt zwei verschiedene Arten, wie man Termine, Kontakte und Aufgaben mit sabre/dav synchronisieren kann. Ein großer Teil der Clients benötigt für die Synchronisation lediglich die Serveradresse sowie die Zugangsdaten, um danach selbstständig die gesamte Konfiguration vom Server abzurufen. D.h. der Client kann selbstständig aus dem sogenannten Principals-Objekt ermittelt, welche Kalender, Adressbücher und Aufgabenlisten dem jeweiligen Benutzer gehören und welche Kalender ggf. von anderen Benutzern an diesen freigegeben wurden.

Daneben gibt es leider noch Clients, die mit dieser Art der Berechtigungsermittlung nicht umgehen können. In diesen Clients muss man die jeweiligen Kalender und Adressbücher eines Benutzers direkt über die zugehörige URL ansprechen. Dies macht die Ersteinrichtung und Administration deutlich komplizierter, weil man deutlich mehr Informationen benötigt und man bei Änderungen wie z.B. einem neu angelegten Kalender oder einer neuen Freigabe immer wieder die Synchronisation in den Clients anpassen muss.

Genau dies, soll auch der Screenshot zeigen: die einen Clients suchen im Ordner principals nach dem Benutzer und finden dort alle Berechtigungen und URLs zu den einzelnen Adressbüchern und Kalendern des Benutzers. Andere Clients hingegen ignorieren das principals Verzeichnis und der Anwender muss für jeden Kalender- und jede Adressbuchsynchronisation die vollständige URL eintragen. Wenn Sie die folgenden drei Einrichtungsbeispiele ansehen, werden Sie verstehen, was damit gemeint ist.

Synchronisation von sabre/dav mit eM-Client

eM-client gehört zu der ersten Gruppe von DAV-Clients, weshalb die Einrichtung der Synchronisation wirklich spielend einfach ist. Bei der Anlage eines neuen Kontos bietet eM-Client direkt die Möglichkeit unter Kalender ein neues CalDAV-Konto einzurichten. Im folgenden Eingabefenster erwartet dann em-Client lediglich die Angabe der Serveradresse sowie den Benutzernamen und das Passwort. eM-Client holt sich daraufhin selbst vom Server die verfügbaren Kalender des Benutzers und zeigt diese an.

eM-Client bietet aber noch mehr Komfort und prüft automatisch, ob der Anwender auch Zugriff auf ein Adressbuch hat. Sollte der Anwender ein eigenes Adressbuch haben, wird dieses auch direkt eingebunden. Die Einrichtung eines zusätzlichen CardDAV-Kontos kann somit entfallen.

Bei jeder zukünftigen Synchronisation prüft eM-Client nun, ob sich die Berechtigungen des Anwenders verändert haben. Wenn beispielsweise der Anwender einen weiteren Kalender anlegt oder ein Kalender für Ihn freigegeben wird, aktualisiert eM-Client automatisch die Anzeige und bietet den Kalender und die Termine zu Anzeige an.

Zusammenfassung für eM-Client

Betriebssystem:  
DAV-Support:  
Zugriff per:   http(s)://IP-oder-URL (unter der sabre/dav erreichbar ist)

Synchronisation von sabre/dav mit dem iPhone

Auch Apple hat ein Herz für CalDAV und CardDAV und so unterstützen alle Betriebssysteme aus Cupertino dieses Protokoll. Auch das iPhone erkennt automatisch mit Hilfe des Principals-Objekts sämtliche Kalender des Benutzers, so dass es genügt ein CalDAV Konto anzulegen um damit Zugriff auf sämtliche Kalender zu erhalten.

Einrichtung der Kalendersynchronisation unter iOS

Die Konfiguration erfolgt unter Einstellungen / Mail, Kontakte, Kalender / Account hinzufügen. Das iPhone erwartet sowohl die Serveradresse, einen Benutzernamen, ein Passwort und eine Beschreibung, die man beliebig wählen kann.

Sobald der Account gespeichert ist, sind die Termine der eigenen und der für einen freigegebenen Kalender in der Kalender App sichtbar.

Leider legt das iPhone nicht automatisch die Adressbuchsynchronisation an, wie eM-Client das tun. Jedoch ist auch die Adressbuchsynchronisation schnell eingerichtet in dem man ein weiteres CardDAV-Konto hinzufügt.

Zusammenfassung für das iPhone

Betriebssystem:  
DAV-Support:  
Zugriff per:   http(s)://IP-oder-URL (unter der sabre/dav erreichbar ist)

Termine und Kontakte in Thunderbird

Thunderbird beherrscht leider nicht von Hause aus die Synchronisation von Terminen, Kontakten und Aufgaben mit einem CalDAV- oder CardDAV-Server. Um diese Fähigkeit nutzen zu können, muss man noch zwei zusätzliche Addons installieren. Neben Lightning, welches mittlerweise zur Standardinstalltion von Thunderbird gehört und diesem den Umgang mit Terminen und Aufgaben beibringt, benötigt man den SOGo-Connector um Thunderbird auch CalDAV und CardDAV sprechen zu lassen.

Laden Sie die beiden xpi-Dateien herunter und installieren Sie diese in Thunderbird. Insbesondere wenn Sie Firefox als Browser verwenden, müssen Sie aufpassen, da auch Firefox xpi-Dateien als Addon-Dateien interpretiert.

Sobald die beiden Addons installiert sind und Thunderbird neu gestartet wurde, kann man mit der Einrichtung der Synchronisation beginnen.

Thunderbird braucht zusätzliche Addons für die Synchronisation mit per CalDAV und CardDAV

Thunderbird gehört nun leider zur Gruppe der Client-Lösungen, die nicht mit der Principals-Struktur umgehen können. Stattdessen ist es notwendig für jeden Kalender und für jedes Adressbuch eine eigene Synchronisation einzurichten. Was im privaten Umfeld vielleicht noch akzeptabel ist, kann im Unternehmenseinsatz mit sich ständig wechselnden Kalenderfreigaben schnell unübersichtlich und vielleicht sogar Fehleranfällig werden.

Zusammenfassung für Thunderbird

Betriebssystem:  
DAV-Support:   kostenlose Addons notwendig
Zugriff per:   http(s)://IP-oder-URL/calendar/BENUTZERNAME/KALENDERURI

Um nun die Synchronisation einrichten zu können, müssen Sie für alle Kalender den vollständigen Pfad ermitteln. Dies machen Sie entweder mit Hilfe der Weboberfläche von sabre/dav oder direkt über die Datenbank.

Identifikation der richtigen URI

Die Datenstruktur von sabre/dav folgt dem folgenden Schema:

sabre/dav
    - addressbooks
        - benutzer1
  	        - addresses
        - benutzer2
	        - addresses
		    - ad743645-1b11-6889-898aa-6743ace12211
			    - a.vcf
			    - b.vcf
    - calendars
	    - benutzer1
		    - cfc80623-b1dd-4889-88fe-caa9de79902d
			    - a.ics
			    - b.ics
			- ...
		- benutzer2
			- ...
	- principals
	    - benutzer1
		- benutzer2

Anhand dieser Struktur lässt sich nun einfach nachvollziehen, wie die Synchronisationsurl hergeleitet wird. Diese lautet nämlich beispielsweise http(s)://IP-ODER-URL/calendars/benutzer2/cfc80623-b1dd-4889-88fe-caa9de79902d und bildet den vollständigen Pfad bis zum Kalender des Anwenders ab. Sollte man nun eine Lese- oder Schreibberechtigung auf den Kalender eines anderen Nutzers haben (Delegation ist hier das Stichwort), dann muss man auch hier den vollständigen Pfad angeben. D.h. die URL enthält einen fremden Benutzernamen und die URI des gewünschten Kalenders.

Natürlich können Sie die URI der jeweiligen Kalender und Adressbücher auch direkt aus der MySQL-Datenbank auslesen. Wie das geht, haben Sie bereits im vorherigen Artikel erfahren.

Mit dem Wissen der richtigen URL ist nun auch unter Thunderbird die Anlage der Synchronisation ein Kinderspiel. Wechseln Sie auf die Kalenderansicht, machen Sie einen Rechtsklick im Bereich der angezeigten Kalender und legen Sie einen neuen Kalender im Netzwerk an.

Fazit: Termine und Kontakte immer auf allen Geräten gleich

Mit der eingerichteten Synchronisation von Terminen, Kontakten und Aufgaben haben Sie nun mit jedem ihrer Geräte immer Zugriff auf alle Ihre privaten Informationen und dabei das gute Gefühl, dass Sie ab sofort Herr über Ihre Daten sind.

Natürlich ist diese Synchronisation erst der Anfang. In den kommenden Artikeln wird es um weitere Funktionen von sabre/dav sowie die Entwicklung eines eigenen Webclients gehen.

geschrieben von

Christoph Dyllick-Brenzinger

Christoph ist Gründer und Chefentwickler von datamate. Er ist ein absoluter Linux-Fan und hat schon früh seine Leidenschaft für Technik und Programmierung entdeckt. Seine langjährige Erfahrung als Unternehmensberater spürt man regelmäßig, wenn er nach optimalen Lösungen für die Kunden sucht. Wenn er nicht gerade den Tennisplatz unsicher macht oder bei Overwatch sein Liga-Ranking verbessert, verbringt Christoph seine Freizeit mit seiner Frau und seinen drei Kindern.