dynaperl

100% porentief rein
3612555

Artikel mit ‘caldav’ getagged

Caldav Client(s)

Mittwoch, 14. Januar 2009

Ich habe ja vor ein paar Wochen geschrieben das ich einen Caldav Server teste. Aktuell haben wir ein dutzend Kalender eingerichtet und nutzen diese von einem halben dutzend Clients. Wobei mit Clients momentan Sunbird gemeint ist. Leider ist Sunbird inzwischen dermaßen langsam geworden das selbst auf einem 3GHz Rechner mit 2GB Ram das Arbeiten keinen Spaß mehr macht. Als Alternative funktioniert Apple iCal mit den gleichen Kalendern sehr gut und schnell. Allerdings wollen wir nur wegen dem Kalendern nicht für alle Mitarbeiter neue Mac’s kaufen.

Unter Windows habe ich nun folgende Clients getestet: Mulberry, Chandler, Outlook plug-in und Evolution. Nicht einer der Kandidaten war ansatzweise eine Alternative. Teilweise hatten die Programme schon zu tun nicht im Ide-Betrieb abzustürzen. Das Outlook hat meine Test Outlook installation zerschossen.

Nun verstehe ich wie so viele das Risiko eingehen und den Google Kalender einsetzen :-)

iPhone Kalender mit externem CalDav Kalender synchronisieren

Donnerstag, 11. Dezember 2008

Natürlich kann man seinen iPhone Kalender per mobile.me auf mehreren Rechnern synchronisieren. Aber will man persönliche Daten wirklich bei einem externen Dienstleister ablegen? Nein will man natürlich nicht. Deswegen betreibt man neben einem Mailserver auch einen Caldav Server. Hier kann man dann z.B. Sunbird oder Apple-iCal als Clients verwenden. Eigentlich sollte es dann auch kein Problem sein diesen Kalender per iTunes auf sein iPhone zu bekommen. Aber weit gefehlt.

Zwar lässt sich ein Remote Kalender auf das iPhone Syncen. Dieser lässt sich auf dem iPhone dann aber nicht mehr verändern. Also weder neue Einträge hinzufügen noch bestehende löschen. Auf dem iPhone sind nur lokale Kalender Veränderbar.

iCal kann zwar lokale Kalender veröffentlichen. Dabei schiebt es jede Änderung als ics Datei auf einen externen Server. Leider geht das nur mit einem Webdav und nicht mit einem Caldav Server und natürlich dann auch nur in eine Richtung.

Aktuell also noch eine unbefriedigende Lösung.

CalDav Kalender Server

Mittwoch, 10. Dezember 2008

Bisher hatten wir einige Kalender mit Apache_moddav realisiert. Das führte aber immer wieder zu Problemen beim gleichzeitigen Zugriff mehrer Clients auf einen Kalender. Dabei kam dann teilweise die ICS-Datei abhanden.

Ich habe mir jetzt mal freie CalDav Server angeguckt (die Java basierenden Versionen Cosmo und Bedework habe ich gleich außen vorgelassen). DAViCal macht einen ganz interessanten Eindruck setzt aber PostgreSQL als Backend voraus. Zudem war die Liste der Abhängigkeiten (Apache + tausende Perl und Php Pakete) mir etwas zu lang. Positiv fällt allerdings auf das man Davical unter Lenny einfach als Paket installieren kann.

Ich habe mich jetzt für den Darwin Calendar Server entschieden. Der ist in Python geschrieben und unter Lenny als Debian Paket zu beziehen. Abgesehen von den unangenehmen plist Konfigurationsdateien ist mir noch nichts negatives aufgefallen. Über zwei Dateien sind schnell User und Gruppen (/etc/caldavd/accounts.xml) angelegt, x509 Zertifikat installiert und SSL aktiviert  (/etc/caldavd/caldavd.plist). Schon kann es los gehen.

Auf der Projekte Website ist die Konfiguration der Gängigen Clients beschrieben. Was hilfreich ist da sich die richtige URL zwischen Apple-iCal und Sunbird unterscheidet. Dabei ist noch anzumerken das Apples iCal die Verbindung verweigert wenn man SSL mit einem selbst signierten Zertifikat verwendet. Bevor die Anmeldung kalppt muß man sein Root-CA (oder das von cacert wenn man hier ein Zertifikat geordert hat) in der Schlüsselbundverwaltung importieren. Dazu zieht man die PAM kodierte Zertifikats Datei auf Schlüsselbunde/Anmeldung, öffnet das Zertifikat mit einem Doppelklick, öffnet den Punkt vertrauen und stellt die Auswahl auf immer vertrauen.

Der Server legt jeden Termin als eigene ics-Datei ab. Als Index verwendet er ein SQL-light Datenbank File. So funktionieren auch gleichzeitige Änderungen an einem Kalender problemlos. Ändern mal zwei Sunbird-Clients auch noch den gleichen Termin bekommt der eine von beiden (der langsamere) eine Warnung das sich der Eintrag in der Zwischenzeit geändert hat. Man hat nun die Auswahl seine Änderungen zu verwerfen oder die fremden Änderungen zu überschreiben.  Apples iCal gibt keine Warnung aus. Die Änderung geht verlohren.

Leider unterstützt der Darwin Calendar Server noch kein IPv6:

twisted.internet.error.CannotListenError: Couldn’t listen on [2001:7f0:23::42]:80: (-2, ‘Name or service not known’).

Update:

Der Server erkennt Änderungen an dem accounts.xml und liest das File neu ein. Das ist blöd wenn man einen Syntaxfehler gemacht hat und schön da man sich ein reload spart.

Offensichtlich kann man auch eine Directory Service wie LDAP oder Active Directory als Usersdatenbank verwenden. Das gucke ich mir dann als nächstes an. :-)