Kalender und Kontakt-Synchronisierung zwischen Android Smartphone und KDE Akonadi PIM-Framework

December 10, 2010

Ich habe mir vor kurzem ein Android Smartphone zugelegt (HTC Magic). Standardmäßig gibt es nur die Möglichkeit Kontakte oder Kalenderdaten über Gmail (bzw. über einen Exchange Server) zu syncen.

Aus Datenschutzgründen kam das für mich nicht in Frage.

Ich habe mich deshalb nach Möglichkeiten umgesehen wie ich meine Daten zwischen KDE und Android auf andere Weise syncen kann und das Problem mit einem lokalen Funambol Server gelöst.

Folgende Softwarekomponenten habe ich hierfür verwendet:

Linux Laptop mit Kubuntu 10.10

  • KDE 4.5.1 (akonadi / kontact / korganizer)
  • Funambol Server 8.7.0
  • Akunambol 0.2.1

HTC Magic

  • Android 2.2.1
  • CyanogenMod 6.1.0 RC1
  • Funambol Android Sync 9.0.0 (Snapshot 20100830)

Installation des Funambol Servers

Das Installationspaket des Funambol Servers kann hier heruntergeladen werden: https://www.forge.funambol.org/download/

Anschließend muss das Installationsprogramm gestartet werden (Der Server kann mit einem normalen Benutzer installiert und betrieben werden):

volker@kiste:~/download/funambol$ ./funambol-8.7.0.bin

Do you agree to the above license terms? [yes or no]

yes

Directory to extract Funambol [/opt] <return to accept>?

/home/volker/Private

Directory to extract Funambol [/home/volker/Private] <return to accept>?

Unpacking...

Do you want to start the server? [yes or no]

yes

Nach der Installation lauscht der Server standardmäßig auf Port 8080.

Der Funambol Server lässt sich manuell folgendermaßen starten und stoppen:

cd <INSTALL_DIR>/bin

./funambol [start|stop]

Konfiguration des Funambol Servers

Für die Administration des Funambol Servers gibt es einen speziellen Admin Client, den man folgendermaßen startet <INSTALL_DIR>/admin/bin/funamboladmin.

Nach dem Starten des Administrations Tools sollte man erst einmal das Administrator Passwort ändern und einen Benutzer für das Syncen von Daten anlegen:

  • Starten des Administrations Tools
  • Im linken Fensterteil Doppelklick auf “Funambol Administrations Tool”
  • Im Login Fenster einfach auf Login klicken
  • Nun unter Server Settings-> Users das Passwort des admin Users ändern
  • Nun Admin Tool beenden und neu einloggen (war bei mir nötig) und anschließend einen neuen “normalen” Benutzer mit der Rolle “User” anlegen.

Installation des Funambol Clients für Android

Wichtig: Falls Kalenderdaten gesynct werden sollen, dann auf jeden Fall die Version 9 des Clients verwenden (dies ist allerdings eine Entwicklerversion).

Der Client (apk-Paket) kann auf folgender Seite heruntergeladen werden: https://android-client.forge.funambol.org/ ( Documents & files -> Releases -> Funambol Sync Client v 9.0.0 (snapshot))

Das apk Paket wie gewohnt auf dem Android Smartphone installieren.

Nach dem Starten von “Funambol Sync” auf dem Android Smartphone muss man nun den zuvor installierten (und hoffentlich vom Android netzwerkmäßig erreichbaren) Funambol Server angeben.

  • Username / Password: Hier den angelegten Benutzer mit “User” Rolle angeben
  • Server Ulr: http://<funambol_server&gt;:8080/funambol/ds

Anschließend sollte sich der Sync Client mit dem Server verbinden und sich die Kontakte und Kalenderdaten auf den Funambolserver syncen lassen.

KDE PIM Daten mit Funambol Server syncen

Für den Abgleich der Daten zwischen akonadi und dem Funambol Server wird das akunambol Tool benötigt.

Für die Installation unter Kubuntu 10.10 habe ich in der /etc/apt/sources.list folgende Einträge hinzugefügt:

# funambol client kde

deb http://ppa.launchpad.net/akunambol/ppa/ubuntu maverick main

deb-src http://ppa.launchpad.net/akunambol/ppa/ubuntu maverick main

Anschließend kann man die Software mit apt-get install akunambol installieren.

Nun kann man akunambol starten und konfigurieren:

Wichtig ist, dass die Remote URIs richtig angegeben sind, sonst schlägt der Sync fehl. Bei den Remote URIs müssen die SyncSources aus dem Funambol Server angegeben werden. Diese kann man sich über das Administration Tool des Funambol Servers angezeigen lassen. Siehe folgender Screenshot:

Nun sollte die Akonadi Konfiguration im KDE überprüft werden. Hierfür kann man z.B. Akonaditray verwenden.

Wichtig ist, dass Akonadi die angegebenen Resourcen auch ändern kann (Doppenklick auf eine Ressource und ggf. Read-only Haken entfernen).

Außerdem wichtig ist, dass die PIM eurer Wahl (bei mir Kontact und Korganizer) auch die Akonadi Ressourcen verwendet (bzw. Akonadi und Kontact/Korganizer die selben Ressourcen verwenden).

Ist dies gewährleisten dann kann nun versucht werden mit akunambol die Daten zwischen dem Funambol Server und Akonadi zu syncen.

War der Sync erfolgreich, dann müssten nun die Kontakte und Kalenderdaten vom Andoid in Kontact/Korganizer sichtbar sein.

Update:

Achtung: Der Funambol Android Sync 9.0.0 hat wohl noch Probleme ganztägige Termine zu syncen.


Update 2:

Nach dem Update auf KDE 4.6.2 ist akunambol beim Syncen immer gecrashed.
Nach dem manuellen kompilieren von akunambol funktioniert es auch unter kde 4.6.2. (siehe auch: http://old.nabble.com/-Bug-264585–New%3A-Akunambol-crash-on-KDE-4.6.0-while-sync-Contacts-td30784318.html#a30790886)


Update 3:

das manuelle kompilieren war wohl doch nicht auf Dauer erfolgreich… Ich habe inzwischen den Funambol Server auf Version 9.0 aktualisiert und erneut das aktuellste akunambol kompiliert. Jetzt scheint der Kalender wieder gesynct zu werden, aber die Kontakte lassen sich nicht syncen (akunambol(8421): 17:36:01 ERROR More than one address book, we need a way to pick one).

Wer selber kompilieren möchte:

wget -c http://anongit.kde.org/akunambol/akunambol-latest.tar.gz
cd akunambol
./initrepo.sh
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIRS -DCMAKE_BUILD_TYPE=debugfull ..
make
make install or su -c 'make install'

%d bloggers like this: