Darwin Calendar and Contacts Server: Teamwork iCal, Adressbuch und iOS

Die Welt der (mobilen) Datenverarbeitung könnte so schon und einfach sein. Doch schon bei einer der vermeintlich leichtesten Aufgaben stoßen die Rechner an ihre Grenzen. Gilt es mehr als zwei digitale Familienmitglieder hinsichtlich ihrer Kalender- und Kontaktdaten synchron zu halten, kann man als Anwender schnell verzweifeln. Sollen dann noch Termine und Adressen zwischen Gruppen verteilt werden, ist das Chaos perfekt.

Aber es gibt einen mächtigen Helfer: Den Darwin Calendar and Contacts Server (DCS). Wie man den PIM-Server auf einem alten Mac aufsetzt, habe ich in der „Mac & I“ aus dem Heise-Verlag in Ausgabe 2 beschrieben. Und weil’s so schön ist, habe ich mir den Darwin Calendar and Contacts Server dann nochmals für den LinuxUser aus dem Verlag Linux New Media unter Ubuntu 11.04 zur Brust genommen. Er erschien dieser Tage in der Ausgabe 11/2011 Da es bei beiden aber „nur“ um die Pflicht ging, will ich hier noch ein paar Worte zur Kür „Teamarbeit“ verlieren. Nein, so ist es natürlich nicht. Es war ganz profan kein Platz mehr und irgendwo muss man ja ansetzen zum Kürzen.

Globales Adressbuch unter iOS und OS X nutzen

Wenn man einen DCS-Account auf einem iOS-Gerät (bis iOS 4) anlegt, erscheinen zwei Adressbücher in der Übersicht. Das persönliche Adressbuch dürfte klar sein. Aber es gibt auch noch ein „Global Addressbook“. Dieses findet man im Adressbuch unter OS X nicht. Kann man auch nicht, denn es muss zusätzlich hinzugefügt werden. Wieso weshalb und warum? Fragt Apple. Im jüngsten iOS-Release gibt es das globale Adressbuch übrigens auch nicht mehr. Aber auch dort müsste es problemlos hinzugefügt werden können.

Man gehe zum Adressbuch. In den Einstellungen unter Accounts öffnet ein Klick auf das Plus den Einrichtungsassistenten. Dort wählt ihr den Typ CardDAV aus und geben Benutzername, Kennwort und Serveradresse an, nebst Port 8443. Ansonsten meldet das Adressbuch einen Fehler. Ein Klick auf „Erstellen“ fügt den Account hinzu. Jetzt wechselt zum Tab „Servereinstellungen“. Dort ins Feld „Serveradresse“ kommt der Pfad „URL:8443/principals/__uids__/GUID/“. Die GUID fehlt noch, kommt aber gleich. Das ganze hat aber eh noch nicht funktioniert und deswegen raus aus dem Einstellungsfenster sowie aus dem Adressbuch.

Öffnet im Finder das Verzeichnis „Library –> Application Support –> AddressBook –> Sources“. Dort öffnet das Verzeichnis mit dem kryptischen Namen aus Ziffern und Buchstaben. Mit dem Plist-Editor öffnet Ihr die dort enthaltene „Configuration.plist“ und passt das Feld „servername“ an. Entfernt den Eintrag „:0(Null)“ und fügt ihn zum Serverpfad hinzu. Die „echte“GUID findet ihr über das Webinterface vom DCS heraus. Meldet Euch an der Website des DCS an (zu finden unter URL:8443) und navigiert zu „addressbooks/public/global/“. Unter „Properties“ steht dann in der fünften Zeile die guid. Kopiert sie ins entsprechende Feld der plist. Dann speichern und fertig. Nun sollte auch im Adressbuch von OS X das globale Adressbuch zu finden sein.

Kalenderzugriff in iCal und iOS

Wie man innerhalb des eigenen Benutzerkreises Kalendereinladungen auf dem DCS regelt, steht in den Artikeln und auch im Netz. Zum Beispiel hier: Ronregev Making Any Mac into a Calendar and Contacts Server (Achtung: Beschreibung ist nicht mehr aktuell). Wie man allerdings auch andere Menschen einlädt, verrate ich jetzt hier:

Wie in den Artikeln beschrieben: Solange alle einzuladenden Teilnehmer über ein eigenes Konto auf deinem DCS verfügen, brauchst du nichts weiter zu machen, als in iCal im Feld Teilnehmer den Namen oder die Mail-Adresse der gewünschten Person einzutragen. Der Server informiert dann den Teilnehmer über den Termin und fragt die Teilnahme ab, die wiederum dann in deinem Kalender angezeigt wird. Sollen allerdings Personen von „außerhalb“ des eigenen Server eingeladen werden, steht weitere Konfigurationsarbeit an.

Als erstes ergänzt du die „accounts-test.xml“ um einen Benutzer für den Mailversand. Der notwendige Eintrag könnte so lauten:

<user>
<uid>DCS-Mailer</uid>
<guid>DCS-Mailer</guid>
<password>sicheristsicher</password>
</user>

Danach musst du einen eigenen E-Mail-Account auf deinem Mailserver für den DCS anlegen. Dieser Account muss ein sogenannter Catch-All-Account sein, der alles einsammelt, was nicht an konfigurierte E-Mail-Adressen gerichtet ist. Das ist deshalb notwendig, weil der DCS in seinen Einladungsmails ein Antwortadresse einträgt, deren Bestandteil vor dem „@“ dem entsprechenden Termin zugeordnet ist. Nicht schön, aber geht (soweit ich es herausgefunden habe) nicht anders. Wird der Teil geändert, kann der DCS die Antwort nicht zuordnen. Auch die restliche Zuordnung und Anzeige der Teilnahme funktioniert eher schlecht als recht. Allerdings braucht der DCS das Mail-Konto um Einzuladen. Zur Beruhigung, aber auch zur Vorsicht: Die Catch-All-Funktion braucht keine schlaflosen Nächte hinsichtlich der Quota machen. Der DCS löscht bei jedem Abruf alle nicht zuzuordnenden E-Mails.

Ist das Konto eingerichtet editiert im nächsten Schritt die caldav(-dev).plist des DCS. Sucht den Eintrag „Scheduling“ –> „iMIP“. Bei „Enabled“ kommt nen Häkchen rein, Username und Password sind klar. „MailGatewayServer“ sowie „MailGatewayPort“ bleiben wie sie sind. Diese sind für die interne Kommunikation des DCS notwendig. „Sending“ und „Receiving“ müssen auch ausgefüllt werden, erklären sich aber auch mehr oder weniger von selbst.

Fertig

Wenn das globale Adressbuch passt und auch die Scheduling-Funktion läuft, dann ist schön. Der Rest ist wie gesagt in den beiden Heften schön breit ausgeführt. Nur diese beiden Aspekte waren zuviel für die zugewiesenen Seiten.

7 comments

  1. Pingback: Traumfabrik vs. Zwiebelsuppe II » Blog Archive » CalDAV & CardDAV: Geht jetzt auch in der Windows-Welt
  2. LastBoyScout

    Bin auf der Suche nach einem Kalenderserver für den WHS (Windows Home Server) auf diesen Beitrag gestoßen…
    WebDAV lässt sich dank einer Erweiterung hier ja problemlos nachrüsten und damit können auf dem Server abgelegte iCalendar -Dateien auch schon von mehreren Clients (z.b. mit Thunderbird) angezeigt werden. Nur eben eine gemeinsame Bearbeitung der Kalender ist so nicht immer problemlos möglich.
    Gibt es einen CalDAV und CardDAV -Server auch für Windows?

  3. Jan

    Ich kenne keinen. Du könntest höchstens versuchen, dir eine Linux-Umgebung auf dem Win-Server nachzubauen (zum Beispiel mit Cygwin oder andLinux und dort den Darwin Calendar and Contacs Server aufzusetzen. Alternativen kenne ich sonst keine – außer natürlich einen Mac OS X-, einen (Free)BSD oder einen Linux-Server. Halt ne schöne Unix-Umgebung.

  4. Jan

    Hi Andi, unter iOS 5 wird das globale Adressbuch nicht mehr angezeigt. Wie es unter 10.7 steht, weiß ich nicht. Das globale Adressbuch war auch nur deswegen wichtig, weil iOS neue Einträge aus anderen Anwendungen (z.B. Visitenkarten-Scanner) immer ins globale Adressbuch geschrieben hat und man am Mac dann die Einträge ins eigene Adressbuch schieben musste. In iOS selbst ging das nicht.

    Wenn du ein globales Adressbuch brauchst, um z.B. im Unternehmen einen festen Satz Kontakte zu verteilen, leg doch einfach einen weiteren Account an, auf den dann alle Nutzer zugreifen dürfen.

    Grundsätzlich ist es in iOS 5 und 10.7 so, dass beide Systeme die xxID richtig setzen und man nicht mehr fummeln und suchen muss, wie noch in 10.6.

    Gruß Jan

  5. Andi

    Danke für die schnelle Antwort, ja der weitere Account ist dann die Alternativlösung, wenn es anders nicht mehr funktioniert. Vom Handling und Aussehen wären zwei Adressbücher unter einem Benutzer natürlich schöner.

  6. Jan

    Zwei Adressbücher unter einem Benutzer … gehen müsste das noch. Einfach mal ins blaue geschrieben: Das zweite Adressbuch (also das globale) ist noch immer vorhanden. Hab’s hier auf meiner 10.6er Kiste noch im Programm. Also sollte es auch irgendwie gehen, dieses Adressbuch ebenso unter iOS 5 und unter 10.7 nutzbar zu machen. Hast du in 10.7 schon ein bisschen in der plist in der Library gespielt? Wenn das klappt, muss es auch in iOS einen Weg geben.

  7. Andi

    Ich bin auch dabei den Server einzurichten und alles funktioniert super, leider funktioniert das globale Adressbuch nicht. Weder unter Lion noch unter iOS 5 sehe ich ein globales Adressbuch. Ich habe auch den Trick in dem Beitrag getestet, aber scheinbar wird die GUID mittlerweile schon richtig eingetragen …

Kommentar verfassen

Du kannst die folgenden HTML-Codes verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>