Teil 1: Der eigene CalDAV-Server mit sabre/dav
Die meisten Menschen sind es heute gewohnt, Ihre Kontakte, Termine und Aufgaben mit verschiedenen Geräten zu synchronisieren. Im Hintergrund wird dies von cleveren Serverdiensten ermöglicht, die die Daten verarbeiten, speichern und auf Anfrage an andere Geräte übermitteln. Dabei nutzen sie die weit verbreitete Standards wie WebDAV, CalDAV und CardDAV.
sabre/dav ist ein solcher Serverdienst. Der große Unterschied ist jedoch, dass die eigenen Daten nicht auf Servern von Google und co. gespeichert werden, sondern auf dem eigenen Server, den man sich mit etwas Know-how und Geduld selbst aufbauen kann, da das Framework unter einer OpenSource Lizenz von Github heruntergeladen weden kann.
Die folgende Artikelserie soll dabei helfen einen schnellen und einfacheren Einstieg in sabre/dav zu ermöglichen. Jeder der Grundkenntnisse in PHP mitbringt, sollte nach der Lektüre der folgenden Artikel seinen eigenen CalDAV-/CardDAV-Server aufbauen können, der die gleichen Funktionen bietet, wie man Sie von iCloud oder Google Calendar gewohnt ist.
Woher kommt sabre/dav?
sabre/dav ist eine Entwicklung der Firma fruux aus Münster, die kommerzielle Synchronisationslösungen und individuelle Dienstleistungen auf Basis von sabre/dav anbietet. Wer sabre/dav nur mal schnell ausprobieren will, kann sich unter dem folgenden Link einen kostenlosen Testaccount anlegen, mit dem man zwei Geräte synchronisieren kann.
Der Chefentwickler von fruux Evert Pot arbeitete die letzten 10 Jahre fast ununterbrochen an sabre/dav. Leider hat Evert Pot im März 2017 angekündigt sein Engagement in Bezug auf sabre/dav einzustellen. Grund genug um engagierten Entwicklern den Einstieg in diesen CalDAV/CardDAV-Serverdienst so einfach wie möglich zu machen.
Welche Funktionen bietet sabre/dav?
Ein eigener sabre/dav-Server ermöglicht es Termine, Aufgaben und Kontakte auf allen seinen Geräten synchron zu halten. Sobald man auf einem der Geräte einen Eintrag anlegt oder verändert, wird diese Änderung an den sabre/dav-Server geschickt. Dieser speichert die Änderung und verteilt diese anschließend an alle anderen Geräte. So hat man immer auf allen seinen Geräten den gleichen Datenstand.
Darüber hinaus kann man mit sabre/dav auch seine Kalender und Aufgabenlisten an Andere freigeben. Ich beispielsweise teile meine Kalender mit meiner Frau, wobei Sie meine Termine nur einsehen jedoch nicht bearbeiten kann. Umgekehrt macht Sie es genauso, so dass ich immer auf dem Laufenden bin, welche Termine Sie gerade in Ihrem iPhone eingetragen hat.
sabre/dav arbeitet komplett plattformunabhängig und nutzt weit verbreitete Standards. So kann ich die Termine meiner Frau sowohl auf meinem Android Handy, meinem iPad oder in Thunderbird ansehen. Für jedes Betriebssystem gibt es passende Software oder die nötigen Apps, die eine Synchronisation ermöglichen.
Ausblick auf diese Artikelserie zum sabre/dav-Framework
In den folgenden Tagen werden in diesem Blog weitere Artikel zu sabre/dav veröffentlicht werden. Geplant sind aktuell Artikel zu den folgenden Themen und sobald diese veröffentlich sind, werde ich diese hier verlinken:- Installation eines sabre/dav-Servers unter Ubuntu Server
- Benutzerverwaltung und -authentifizierung
- Synchronisation mit verschiedenen Clients
- Funktionsübersicht von sabre/dav
- Programmierung eines eigenen PHP-Clients
Obwohl sabre/dav das weltweit am häufigsten verwendete WebDAV-Framework ist und auch bekannte Softwarelösungen wie OwnCloud und Baikal darauf aufbauen, ist sabre/dav für kaum jemanden ein Begriff, da sabre/dav ein Framework von Entwicklern für Entwickler ist.
Ich hoffe, mit der folgenden Serie Interessierten einen schnellen und einfacheren Einstieg zu ermöglichen, so dass jeder der Grundkenntnisse in PHP mitbringt, seine iCloud- oder Google Calendar Alternative aufbauen kann.