Nachdem ich CalDAV zur Synchronisierung von Kalendern schon einige Zeit im Einsatz habe, stolperte ich erst kürzlich über das Adressbuch-Pendant CardDAV. Das Protokoll – ein weiteres der DAV Familie – ist erst im Request For Comments Status, aber dieser ist quasi schon abgeschlossen.
Interessant wurde CardDAV für mich als ich hörte, dass Davical – der CalDAV Server den ich einsetze – seit einiger Zeit (Version 0.9.9.4) auch CardDAV vollständig beherrscht.
Ich muss noch dazusagen, dass ich immer noch einen openLDAP Adressserver laufen habe, welcher aber an 2 Krankheiten leidet (und das schon seit Jahren)
- Es gibt kein verbindliches Personenschema für die Applikationen (Mozilla verwendet ein anderes als Apple.. und das wiederum hat nichts gemeinsam mit anderen Welten der kommerziellen LDAP Server)
- Schreibunterstützung: nada – am besten man programmiert sich seinen eigenen LDAP Client – aber da der Tag nur 24h hat…
Ok – genug geschwafelt: CardDAV rocks – es geht alles
..aber nur nach stundenlanger Frickelei (es lohnt sich aber, also dranbleiben).
- Davical updaten, falls nicht schon geschehen. Folgende Stolperfallen warten:
Ev. sind die User davical_app und davical_dba noch nicht angelegt (kommt bei sehr alter davicaldb vor). In diesem Fall mit
psql -qXAt -c "CREATE USER davical_app NOCREATEDB NOCREATEROLE;" template1
psql -qXAt -c "CREATE USER davical_dba NOCREATEDB NOCREATEROLE;" template1
die User anlegen.
Einige Sequenzen und Tables gehören ev. direkt postgres anstatt davical_dba – mit folgendem Befehl wird bspw. hier die Sequenz dav_id_seq geändert:
psql davical -c "ALTER SEQUENCE dav_id_seq OWNER TO davical_dba"
- Das Anlegen einer neuen Collection (Principal Collection) ist ganz einfach.
In der neugestalteten Webseite einfach Ist ein Kalender ab- und Ist ein Adressbuch anhacken. Der Name der Collection ist natürlich wählbar – es empfiehlt sich z.B. „contacts“Konkret ist dann diese Kollektion (das Adressbuch) unter
/davical/caldav.php/USERNAME/contacts
auf dem Server zu erreichen. -
Mac OS X Adressbuch anschliessen
Oh ja – wenn man mittels SSL drauzugreift, dann gibts Probleme.
Im der Applikation Adressbuch kann man zwar ein CardDAV Account anlegen bei dem man die Authorisierungsdaten und den kompletten Serverpfad (s.o.) eingeben kann, man läuft aber immer auf eine Fehlermeldung hinaus.
Die Lösung ist, zweimal „Create“ anzuklicken um den fehlerhaften Account anzulegen.Dann editiert man manuell folgende Datei:
~/Library/Application Support/AddressBook/Sources/<UNIQUE-ID>/Configuration.plist
Dort trägt man unter Server String die komplette URL ein.
https://SERVERNAME/davical/caldav.php/USERNAME/contacts
Am besten modifiziert man noch das Feld HaveWriteAccess auf den Wert auf „1“ - iPhone Konfigurieren
Das geht im Falle eines SSL Zugriffes NICHT am Handy selber. Es geht nur über das iPhone Configuration Utility welches man von Apple herunterladen muss.
Dort erstellt man einen neues Konfigurationsprofil mit einem CardDAV Account und installiert dieses dann auf dem angeschlossenen iPhone (es beeinträchtigt ein ev. vorhandenes Profil nicht!)
Das Konfigurationsprofil innerhalb dieses Programmes erlaubt die komplette Angabe einer URL (Principal URL). - KDE / akonadi
Unglaublich – es geht einfach – man muss nur erstmal draufkommen wie.
In den KDE Systemeinstellungen kann man bei
Persönliche Informationen -> Einrichtung der Akonadi Resourcen -> GroupDAV Resourcen
u.a. CardDAV und CalDAV Anschlüsse einrichten, welche dann von allen akonadi-aware Programmen (wie KMail oder Adressbook) genutzt werden kann.
Was noch fehlt ist ein nativer Thunderbird CardDAV Anschluss, es soll über ein 3rd Party Produkt names SoGo gehen.. aber ich sehe grade keinen Grund es auszuprobieren. Stattdessen geniesse ich mit CardDAV eine weitere Perle der OpenSource Welt.
Auf welche Version von Mac OS X bezieht sich dieser Beitrag?
Hallo Gerhard,
hatte Probleme mit dem ganzen Comment-SPAM, daher die Verzögerung:
Das Posting bezieht sich auf Mac OS X Snow Leopard (10.6.8)
Der aktuelle SoGo Connector 10.0.3 funktioniert sehr gut mit Thunderbird. Konzipiert ist das Add-on eigentlich für Thunderbird 10 ESR (Enterprise Release) – funktioniert bei mir aber auch mit den aktuellen Versionen 14 und 15.
Nach der Installation des Add-Ons muß man in Thunderbird ins Adressbuch gehen und mit
Neu -> Remote Adressbuch
die Verbindung zum CardDAV Adressbuch herstellen. Auch die Schreibunterstützung funktioniert. Ob Felder (Einträge) anderer Hersteller (v.a. Apple) in einem Adresssatz überschrieben werden, kann ich noch nicht sagen… erfahrungsgemäß ist aber die Gefahr umso größer, je esoterischer ein Feld ist.
Hey Harald! Ich versuche schon seit langem meinen Adressbuch Server unter Mac OS X Server 10.8.6 über sogo mit meinen Remote CLients zu verbinden, kriege das aber nicht gebacken. Könntest du vielleicht Konfiguration ein bisschen näher beschreiben? Was muss ich außer Port-Freigaben von Seite des Servers beachten? Welche URL ist die bei Thunderbird eintragen muss? Wie melde ich mich unter einen bestimmten Benutzer ein (Login, Password). Ist eine SSL Verbindung möglich.. etc, etc. Ich glaube du verstehst was ich meine. Falls ich was vergessen haben, einfach bescheid geben.
Hi,
Naja, ich weiß natürlich nicht in wie weit sich der Mac OS X CardDAV Serverdienst von davical unterscheidet.
Bei mir läuft davical mit SSL, d.h. die Firewall darf den normalen HTTPS Port 443 nicht blockieren. Die Kontakte innerhalb von davical sind nur eine weitere Resource, sie ändern an der Konfiguration serverseitig nichts. Man braucht weiterhin einen lauffähigen Apache2 Server mit DAV Erweiterungen.
Die Benutzereinrichtung ist natürlich start serverabhängig. Das dürfte bei davical anders sein, als bei den Mac OS X Serverdiensten.
In Thunderbird selber (Version 10 oder höher) klickt man auf „Adressbuch“, legt dort ein neues Remote-Adressbuch (Neu->Remote Adressbuch) an und spezifiziert folgende Adresse (gleich wie beim Mac OS X Adressbuch) – bei mir lautet die: https://SERVERNAME/davical/caldav.php/USERNAME/contacts
Beim ersten Kontaktieren, kommt dann die User- und Passwortabfrage – danach dauert es aber relativ lange, bis die Daten synchronisiert sind. Wenn du dir nicht sicher bist ob was passiert schau einfach im Apache2 Log nach (access_log und error_log), da stehen ja die Verbindungsanfragen drin.
Hoffe das hilft dir wenigstens ein bischen weiter
Hallo, ich habe mal versucht den Workaround nachzuvollziehen, finde allerdings diese Datei nicht:
~/Library/Application Support/AddressBook/Sources/UNIQUE-ID/Configuration.plist
Stattdessen sehe ich
~/Library/Application Support/AddressBook/Sources/34E3DFE5-1005-45C5-8BA3-0EDE9A3A7EE0/
und zwar
Kann das jemand nachvollziehen?
Hi Sascha,
mit der UNIQUE-ID meinte ich natürlich eine auf jedem System anderslautende einzigartige ID, bei dir eben „34E3D…..“
Ich habe jetzt UNIQUE-ID mit spitzen Klammern versehen, so dass es eventuell verständlicher ist.
Gruß,
Harald