Tine20 lernt CalDAV – Anleitung

Tine 2.0 LogoAls ich Tine20 auf dem letzten LUKi-Treffen vorstellte, kam von den Zuhörer die schon erwartete Frage nach der Integration in Linux. Ich konnte damals leider nur die Antwort geben, die mir auch die Entwickler gegeben haben: Tine20 ist die zentrale Plattform, gesynct wird mit ActiveSync. CalDAV ist nicht geplant.

Mittlerweile hat sich aber einiges getan. Nach diversen Anfragen in Foren und auf Messen hieß es schon wenig später, dass CalDAV und CardDAV zumindest geplant seien. Mit dem neuesten Release “Milan” funktioniert jetzt beides zuverlässig und stabil. Doch nicht nur das, es gibt auch einen neuen Dateimanager, den man von außen per WebDAV ansprechen kann.*

Da die Informationen etwas verstreut sind, gebe ich euch einen kurzen Einblick in die Konfiguration diverser Clients.

Vorarbeiten

Die Kalender-URL aus diesem Schritt wird für alle Programme benötigt. Leider ist es nicht ganz so einfach bei Tine20 die entsprechende URL des gewünschten Kalenders herauszufinden. Dazu gibt man folgendes in die Adressleiste des Browsers ein: http://tine20installation.de/calendars (oder /addressbooks oder /webdav oder /principals, je nachdem, was das Programm so braucht und was man gerade machen will)**

Nachdem man sich eingeloggt hat, klickt man auf seinen Namen und den gewünschten Kalender. Diese URL ist diejenige, die gebraucht wird:

https://tine20installation.de/calendars/00000000000000/111

die Nullen sind die Benutzernummer, die Einsen die Kalendernummer.

Thunderbird/ Lightning

Thunderbird Dialog
Kalender-URL eintragen

Mittels Lightning bekam Thunderbird einst seinen Kalender und seine Aufgabenverwaltung. Mittlerweile spricht der Calender CalDAV und kann damit mit anderen Kalenderdaten synchronisiert werden.

Für einen per CalDAV gefütterten Kalender legt man Datei -> Neu -> Kalender einen neuen Kalender an. Der ist natürlich “Im Netzwerk”.

Das Format ist natürlich CalDAV und die URL ist die eben herausgefundene. Soll der Kalender auch Offline zur Verfügung stehen, muss der Haken bei Cache gesetzt werden. Im nächsten Schritt braucht der Kalender nur noch eine Farbe und einen Namen und schon ist Kalender fertig und wartet auf die Benutzung. Natürlich ist diese Art der Synchronisierung keine Einweg-Kommunikation. Im Thunderbird erstellte Termine landen bei Tine20 genauso wie umgekehrt. Der manuelle Sync kann mit einem Rechtsklick links auf die Kalenderübersicht und einem “Externe Kalender neu laden” angestoßen werden.

Adressbuchmenü
der neue Menüpunkt

Für die Synchronisierung der Kontaktdaten empfiehlt das Tine20-Wiki die Thunderbird-Erweiterung Tundertine. Ich habe damit keine guten Erfahrungen gemacht und benutze deshalb (statt dem ActiveSync von Thundertine) den SOGo-Connector,der CardDAV benutzt. Nach der Installation findet man den neu hinzugekommenen Menüpunkt “Remote-Adressbuch” im Datei -> Neu Menü der Adressbuchansicht. Hier vergibt man wieder einen Namen und gibt die URL ein, die man mittels http://tine20installation/addressbook usw. herausgefunden hat. Manuell synchronisiert wird hier mit einem Rechtsklick auf das entsprechende Adressbuch und einem beherzten Klick auf “Synchronisieren”. (Danke an den Mailserverblog!)

Sowohl bei dem Kalender- als auch bei dem Adressbuchsync fragt Thunderbird erst bei dem ersten Verbinden nach den Anmeldedaten für den Tine20-Server.

Kontact

In der Kalenderansicht fügt man über einen Rechtsklick in die Kalenderübersicht links unten einen neuen Kalender hinzu. Dieser soll aus einer “DAV-Groupware-Resource” geholt werden. Die nun erscheinende Passwortabfrage bezieht sich auf die Anmeldedaten für den Tine20-Server. Nun können Anzeigename und Aktualisierungsintervall gewählt werden. Mit einem Klick auf “Hinzufügen” wird das Protokoll und die Kalender-URL gewählt. Danach können die Kalender abgeholt und mit Ok eingebunden werden. Die Einbindung von Adressen läuft parallel im Adressbuchbereich (natürlich mit der entsprechenden addressbook/… URL).

Bei mir hat Kontact ein bisschen gezickt und hat bspw. erst nach einem entnervten Neustart die neuen Kalender angezeigt, aber das ist kein Grund sich entmutigen zu lassen. 🙂

Evolution

Tine20 CalDAV Evolution
CalDAV-Dialog in Evolution

Über das Menü Datei -> Neu -> Kalender und der dortigen Auswahl CalDAV kommt man zur zentralen Eingabemaske. Hier gibt man die herausgefundene Kalender-URL an (nicht wundern, Evolution ersetzt das https:// durch ein caldav://. Wichtig ist es dann den Haken bei der sicheren Verbindung zu setzen). Nachdem die Einstellungen vorgenommen wurden, zeigt ein Klick auf “Server nach einem Kalender durchsuchen”alle für den Benutzer verfügbaren Kalender auf dem Server an. Hier wählt man den gewünschten Kalender aus und bestätigt mit OK und “Anwenden”.

Beim Adressbuch läuft es parallel (Datei -> Neu -> Adressbuch, WebDAV auswählen, URL eintragen,… die Auswahl welches Adressbuch man benutzen möchte kommt hier nicht). Bei mir musste ich Evolution einmal neu starten, bevor es die Kontakte abgerufen hat.

aCal (Android)

Wer unter Android auf ActiveSync verzichten will oder muss, der kann nun auch z.B. per aCal seinen Kalender mit Tine20 abgleichen. Es wird nur die einfache Konfiguration gebracht, in der einfach die Daten, wie bekannt, bzw. oben ermittelt, eingegeben werden. Den Rest erledigt aCal von selbst. Auf meinem alten Telefon läuft es leider unerträglich langsam, aber der Sync klappt ohne Probleme. Eine Anleitung für den Sync per Active Sync gibt es übrigens hier und hier.

————

*Dieser ist bei der Tine20-Installation des LUKi (noch?) nicht aktiviert.

**Für Admins: Damit das klappt, muss in der .htaccess erst folgendes ergänzt werden:

RewriteCond %{REQUEST_METHOD} !^(GET|POST)$
RewriteRule ^$            /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^addressbooks /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^calendars    /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^principals   /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
RewriteRule ^webdav       /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]

Wolfgang Loest

Vikar in der lippischen Kirchengemeinde Wöbbel, LUKi-Mitglied seit Oktober 2009, Projektleiter der Offenen Bibel, SocialMedia-Addict, seit 2001 in der Unix/Linux-Welt unterwegs, bloggt unter http://erloest.wordpress.com

More Posts - Website

13 Kommentare zu “Tine20 lernt CalDAV – Anleitung

  1. Hallo Peter,
    ja, ich finde auch, die einfache Installation und Administration gepaart mit den neuen Möglichkeiten sind eindach gut.

    @all: Im Übrigen ist mir aufgefallen, dass Kontact bei mir die Termine alle eine Stunde vorverlegt. Evolution und Thunderbird machen das nicht. Vielleicht will Kontact da besonders schlau sein und macht Spielereien mit der Zeitzone oder so. Ich werde mal nachforschen und melde mich wieder.

  2. Hallo zusammen,

    wer nur seine Kontakte & Kalender synchronisieren will und keine Lust/Möglichkeit hat, Tine20 zu installieren und nicht die großen Datendiebe benutzen möchte, sollte sich einmal fruux.com anschauen. Ich hab mit der Firma nix zu tun, aber dort sehr gut Erfahrungen gemacht. Ist eine kleine Firma in Münster mit super Support.
    Die Technik dort basiert übrigens wie bei Tine20 auf der SabreDAV Library.

    Viele Grüße,
    Johannes

  3. Danke Wolfgang für den tollen Artikel. Damit ist jetzt tine2.0 wirklich gut geworden.
    Die Url kann man übrigens leichter herausfinden, wenn man auf das Adressbuch bzw. den Kalender im Webinterface mit dre rechten Maustaste die Eigenschaften anzeigen lässt.

    Leider läuft es (noch?) nicht ganz rund bei der Intergration in Thunderbird. Es gibt immer wieder Probleme mit dem Schreiben auf den Webdav- Ordner.

  4. Hallo Wolfgang,

    super, das das jetzt geht. Ich habe es gleich mit Thunderbird und Android aufprobiert. Bei Android benutze ich CardDAV, das ist zwar (noch) nicht frei und kostenlos, aber ich habe gute Erfahrungen damit zusammen mit SOGo gemacht. Mal sehen, wie es hier funktioniert.

    Das Problem mit Kontact kenne ich auch, das ist tatsächlich ein Zeitzonenproblem. Ich habe es oft in den Einstellungen durch Neuauswählen der Zeitzone beheben können. Ist aber trotzdem extrem doof.

  5. Die rewrite rules für apache sind leider falsch. Die richtigen sind:
    (aus Tinebase/Core.php)

    /*************** WebDAV / CardDAV / CalDAV API ****************
    RewriteCond %{REQUEST_METHOD} !^(GET|POST)$
    RewriteRule ^/$ /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]

    RewriteRule ^/addressbooks /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
    RewriteRule ^/calendars /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
    RewriteRule ^/principals /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
    RewriteRule ^/webdav /index.php?frontend=webdav [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]

    Der Unterschied liegt bei “/” nach ^
    Leider sind noch keine “Teilnehmer” bei Ereignissen unterstützt und auch noch keine Aufgaben. Bin mir sicher, dass sich das innerhalb kurzer Zeit ändern wird.

  6. Hallo Wolfgang,
    nur nebenbei: Zur Zeit habe ich Probleme mit dem Zugang zum LUKi-tine. Irgendwie muss ich Benutzername und/oder Passwort verbummelt haben 🙁

    Ich hoffe, du kannst mir auf die Sprünge helfen 🙂

    vg
    Peter

  7. Hallo,

    danke für die Anleitung.
    Leider frisst Thunderbird das nicht so ganz. Ich habe die Adressbücher erstellt wie beschrieben und initial wurde auch alles einmal Synchronisiert. Jetzt habe ich aber in TB eine Kontakte gelöscht, verändert, verschoben… Und jetzt synchronisiert TB nicht mehr.

    Auch wenn ich manuell auf rechtsklick synchronisieren klicke bleiben die Kontakte am Server gleich (und die bei TB auch)

    Weißt du (oder jemand anders) vielleicht eine Lösung?

  8. Hi, danke für die Anleitung. Klappt alles perfekt allerdings fehlt deiner Anleitung leider noch der Hinweis zur Anpassung der Apache Konfiguration wie Ingo Ratsdorf schon erwähnt.

    Trotzdem danke für die übersichtliche Anleitung!

  9. Hi,

    persöhnlich kann ich als alterntive zu aCal (was leider bei mir leider meine Kalenderdaten zerstört hat) eine App namens Calendarsync empfehlen. Die hat bei mir im Vergleich deutlich bessere Ergebnisse geliefert.

    Gefunden werden kann die hier:http://ntbab.dyndns.org/apache2-default/seite/icalparseandroidde.html

    Man bekommt auch !kostenlose! Testlizenzen vom Entwickler um die App über einen längeren Zeitrum zu testen. Das fand ich sehr angenehm 🙂

    mfg
    Kristof

  10. @Bilbo: Nein, leider weiß ich keine Lösung. Anscheinend zickt das alles noch ein bisschen rum, ich hoffe auf die nächsten Versionen von Tine20. Bei mir hat es geholfen die TB-Konfiguration nochmal ganz zu löschen und von vorne zu beginnen. Warum es dann bei mir geklappt hat, kann ich aber auch nicht nachvollziehen. (Sorry für die späte Antwort)

    @Kristof/Klaus Brunner: Danke für den Hinweis. Auf meinem alten HTC Wildfire lief zum Testzeitpunkt aCal leider auch nicht rund. Leider war (ist?) aCal die einzig von mir gefundene OpenSource-Lösung für den Sync.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert