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

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'

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

  1. hub says:

    Oh danke für diese Anleitung. Suche den halben Tag nach solch einer Lösung.
    Ich hab es mit Lightning und Thunderbird auf der Dektopseite gemacht, funktioniert anscheind ganz gut.
    Das 64bit Plugin haben sie auch gut versteckt. Es befindet sich hier: http://releases.mozilla.org/pub/mozilla.org/calendar/lightning/releases/1.0b2/contrib/linux-x86_64/

  2. hub says:

    Oh und ganz vergessen: Zum aktuellen Stand des Mozilla-Plugins hat mir das geholfen:
    https://mozilla-plugin.forge.funambol.org/ds/viewMessage.do?dsForumId=555&dsMessageId=132348

    Dort findet man auch den Hinweis, dass es auf http://www.memotoo.com/ ein 64bit Plugin für Lightning gibt. Die Url für 64bit Lighning habe ich oben ja angegeben.

  3. skamster says:

    heyho,
    dankeschön, die anleitung war bislang sehr praktisch. ein problem bleibt bei mir noch: wie lauten die remote-uri’s?
    hab z.B die remote-uri für die kontakte nachgeschlagen; server->modules->foundation->PIM Contact SyncSource->card
    die source-uri davon lautet card, also müsste ich in akunambol bei der config unter contacts die uri “card” angeben, wenn ich das richtig verstehe?
    dies führt bei mir zu nachricht:
    Connecting to the server
    Synchronization error: AlertStatus from server 404
    akunambol(3533): 10:54:10 ERROR Error in preparing sync: AlertStatus from server 404

    wenn mir jemand ein beispiel einer solchen uri geben könnte, wär ich äusserst froh..🙂

  4. neuntoeter says:

    Hallo,

    bei mir heißen die Remote URIs card, event und task.
    Die Sync URL: http://localhost:8080/funambol/ds

    Wenn du mit deinem Browser auf die o.g. URL gehst, siehst du dann folgendes?

    Funambol Data Synchronization Server v.8.7.0
    
    Man=Funambol
    Mod=DS Server
    SwV=8.7.0
    HwV=-
    FwV=-
    OEM=-
    DevID=funambol
    DevTyp=server
    VerDTD=1.2
    UTC=true
    SupportLargeObjs=true
    SupportNumberOfChanges=true
    Ext=X-funambol-smartslow
    

    Kannst du dich mit dem angelegten Benutzer auf http://localhost:8080/webdemo/login.jsp anmelden?

    • skamster says:

      ja, die infoseite (ds) funktioniert, auch das login klappt. mit den richtigen uri’s gibt’s mir bei den tasks und dem kalender auch an, dass es richtig synchronisiert hat.
      bei den kontakten gibt’s noch einen bug: https://bugs.kde.org/show_bug.cgi?id=261613

      komisch ist, dass ich keine einträge im webclient seh und zumindest im admintool (mit eingeschaltetem debug-modus) nichts angezeigt wird/keine ausgabe erfolgt… keine ahnung, woran das liegen könnte..

  5. pardus says:

    hallo an alle, danke an neuntoeter, für tolles tutorial.
    leider hab ich das ganze synchronisationsproblem noch nicht gelöst und hätte da noch ein paar fragen.
    die remote-uri versteh ich immer noch nicht. in PIM Contact SyncSource muss dort unter uri etwas stehen z.b. http://localhost:8080/funambol/ds oder muss feld dort leer bleiben?
    ein anderes problem ist noch wie wo muss ich den pfad auf meinen Kontact legen der sich hier befindet (/home/biber/.kde/share/apps/korganizer/0-icalout.ics)? weiss das akunambol von sich aus? oder wird dies über funambol konfiguriert?
    und letzte frage für den momment: wenn ich über die app von meinem phone (über wlan im gleichen netz verbunden) mit dem erstellten user auf http://:8080/funabol/ds ein loggen möchte kommt immer invalid uri (user geht auf webinterface)?
    dank im voraus
    grüsse pardus

  6. Bernd Moll says:

    Hallo,
    der Abgleich zwischen Kontact und dem Funambol-server funktioniert nicht.
    Was muss ich wo eintragen?
    Ich habe im Akunambol unter Einstellungen/contact als Url http://localhost:8080/funambol/ds eingetragen sowie mein Akonadi Adressbuch ausgewählt. Der Sync schlägt fehl.
    Mir ist nicht ganz klar, was ich in Akunambol aus dem Funambol Admin-Tool wie übernehmen muss.

    Vielen Dank im voraus.
    Bernd Moll

  7. Pagaty says:

    Hallo,
    bin gerade von ubuntu auf kubuntu umgestiegen.
    hatte bisher mit evolution und syncevolution alles gut syncen können.
    Da es noch keine Packete für natty gibt, wollte ich selbst kompilieren. Nun macht mir libcurl bzw. config-curl probleme. Ich finde nicht mal den sourcecode für libcurl.
    LibCurl3 ist seitens ubuntu drauf, aber damit geht es nicht.

    Weist Du oder jemand anderes wo ich libcurl herbekommen könnte?

    Danke im Voraus und Glückwünsche für das sehr gute Howto.

    Pagaty

  8. Pagaty says:

    @Bernd

    was für Fehler werden denn ausgegeben, wenn Du akunambol aus der shell startest?
    Und welches OS hast Du denn?

    lg
    Pagaty

  9. Locke says:

    Hej,

    der Funambol-Client für Android funktioniert bei mir leider nicht richtig. (z.B. der Kontakteditor ist völlig unbrauchbar. Manchmal bekomm ich doppelte Kontakte nach dem Synchronisieren…). Außerdem finde ich es etwas nervig, dass er ein eigenes Adressbuch anlegt. Ich hab mir mal die trial-Version von Synthesis installiert, der kann sich auch mit einem Funambol-Server synchronisieren. Und ich kann nur sagen: Works like a charm🙂
    Ich kann das normale Telefon-Adressbuch mit dem PC syncen und erhalte keine doppelten Einträge mehr. Wenn sich das in den 30 Tagen der Testversion bewährt, werde ich die 10€ für die Lizenz wohl ausgeben, da es einfach gut funktioniert🙂

    Wollte ich nur ergänzen…

  10. Rony says:

    Danke für die unglaublich ausführlich Anleitung – werde mich wohl gleich mal ransetzen… Den googlern möchte ich meine privaten Daten nämlich auch äußerst ungern anvertrauen. Da ist das eine prima Alternative.

  11. wordpress business themes,best wordpress business themes,business themes wordpress…

    […]Kalender und Kontakt-Synchronisierung zwischen Android Smartphone und KDE Akonadi PIM-Framework « Neuntoeter's Blog[…]…

  12. music license…

    […]Kalender und Kontakt-Synchronisierung zwischen Android Smartphone und KDE Akonadi PIM-Framework « Neuntoeter's Blog[…]…

  13. Homer says:

    This is my first time pay a visit at here and i am genuinely happy
    to read all at single place.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: