Ich möchte einen Kalender (2-way) zwischen der Groupware meiner Wahl (SOGO - CalDAV Backend) und einem vorgegebenen Oracle Calendar (SyncML Backend) automatisch synchronisieren.
Möglich ist dies mit der Software SyncEvolution. Der CalDAV Support ist erst kürzlich mit der Version 1.2 hinzugekommen. Bei meinem Ubuntu 10.4 ist allerdings nur die Version 1.0 dabei. Zum Glück gibt es allerdings ein Repository mit fertigen Paketen. Als root einfach folgendes ausführen:
# echo "deb http://downloads.syncevolution.org/apt stable main" >> /etc/apt/sources.list # apt-get update # apt-get install syncevolution-evolution
$ syncevolution --configure --sync-property "syncURL=<KALENDERURL>" \ --sync-property "username=xxxxxx" \ --sync-property "password=xxxxxx" \ --source-property "sync=two-way" \ --source-property "type=file:text/calendar:2.0" \ --source-property "evolutionsource=/home/<BENUTZERNAME>/calendar" \ --source-property "uri=./Calendar/Events" oracle calendar
$ syncevolution --configure \ --template webdav username="xxxxxx" password="xxxxxx" \ --sync-property "syncURL=<KALENDERURL>" target-config@sogo $ syncevolution --configure \ --template SyncEvolution_Client syncurl=local://@sogo username=xxxxxx password=xxxxxx sogo calendar
$ syncevolution --sync slow oracle $ syncevolution --sync slow sogo
Das wars eigentlich auch schon. Die Konfiguration wird im Home des Benutzers unter “.config/syncevolution/” abgespeichert. Im screen habe ich dann folgende Schleife laufen was dafür sorgt das alle 5 Minuten meine Kalender automatisch synchronisiert werden:
#!/bin/bash while true; do syncevolution oracle syncevolution sogo syncevolution oracle sleep 300 done
Das ganze ist zwar ziemlich hässlich aber es funktioniert und erfüllt seinen Zweck. Was auch unschön ist das das ganze einen laufendes Gnome benötigt. Ohne Dbus habe ich es jedenfalls nicht zum laufen bekommen, bzw. habe es mir dann nicht weiter angesehen. Wenn jemand eine bessere Idee hat bitte in den Kommentaren melden.

