Synchronisationsgeschichten (4): Dem N900 SyncML beibringen mit Hilfe von syncevolution
30. Dezember 2009 von Uwe Kaminski
Ein Traum wird wahr: Synchronisation aller gängigen Daten mit fast allem, was so als Gegenstelle in Frage kommt. Andere Handys, die PC-Suite von Nokia zum Synchronisieren von Outlook per Kabel oder Bluetooth, aber auch “over-the-air” per Active Sync Protokoll, welches das N900 von Natur aus unterstützt, ist bereits möglich. Nachdem in einem Update der Firmwareversion nicht mehr nur Exchange 2007 Server, sondern endlich auch Exchange 2003 und wahrscheinlich auch Google als Gegenstelle unterstützt werden, ist ja ein nicht unwesentlicher Teil der Synchronisationswilligen bedient. Vielleicht widme ich eine der nächsten Synchronisationsgeschichten diesen Themen.
Theorie…
Hier und heute soll es um SyncML gehen. Also um ein von Nokia auf dem N900 nicht offiziell unterstütztem Protokoll. Auch per SyncML können Kontakte, Termine, Aufgaben und Notizen mit einem Synchronisationsserver abgeglichen werden.
Auf den älteren Internet Tablets war dies nur für Kontakte möglich, wie in den vorangegangenen Artikeln zum Thema Synchronisation in diesem Blog beschrieben wird.
Nun besitzt das N900 zu meiner großen Freude eine rudimentäre, aber gut funktionierende Kalender-Anwendung, die zugleich auch noch Aufgaben und Notizen verwalten kann und darüber hinaus sogar die Verwendung verschiedener Kalender für verschiedene Zwecke ermöglicht. Die Frage ist, ob syncevolution auch auf dem N900 lauffähig ist und ob man die über Kontaktdaten hinausgehende Datentypen damit ebenfalls synchronisieren kann.
Man kann!
Nachdem sich Patrick Ohly, der Schöpfer des wunderbaren syncevolution, nach dem Erscheinen des N900 aus zeitlichen Gründen nicht mehr mit der Portierung und Weiterentwicklung dieses sync-Wunders für Maemo5 befassen kann und in der maemo.org Community anfragte, wer dieses Projekt weiterzuführen bereit wäre, passierte lange Zeit nichts. Zaghafte Versuche, sich mit Hilfe eines maemo.org Brainstorms an das Thema heranzutasten, wurden gestartet… Doch dann nahm Ove Kaaven das Heft des Handelns in die Hand und baute eine funktionierende Version von syncevolution für Maemo5. Und was für eine! Über meine kühnsten Erwartungen hinausgehend ist es mit dieser Version auch möglich Termine, Aufgaben und Notizen zu synchronisieren. Verwendet man mehr als einen Kalender, ist es zudem möglich festzulegen, welche(r) Kalender (in denen auch Aufgaben und Notizen verwaltet werden) synchronisiert werden sollen.
… und Praxis
Ich bitte den geneigten Leser, zu beachten, dass nachfolgende Beschreibung sich auf Software bezieht, die nicht hinreichend getestet wurde und die sich noch im Entwicklungsstadium befindet. Nur weil bei mir bisher alles gut funktioniert hat, kann nicht davon ausgegangen werden, dass es auch beim Nachmachen funktioniert. Ein Backup der Daten aller beteiligter Parteien ist obligatorisch.
Ich beschreibe die Installation am Beispiel des Dienstes scheduleworld.com. Dieser ist inzwischen kostenpflichtig. Eine Liste von Sync-Anbietern kann dieser Seite entnommen werden. Welche Konfigurationsparameter jeweils verwendet werden, ist den Anleitungen der entsprechenden Anbieter zu entnehmen.
Zunächst sollte ein Editor installiert werden, der alle bearbeiteten Dateien im Nur-Text-Format belässt und keine Formatierung kennt. Dafür bietet sich der dem Midnight Comander beiliegende mcedit oder der ebenfalls zu installierende Editor “Leafpad” an. Ich beschreibe alles nachfolgend mit Leafpad als Editor.
Update vom 26.01.2010: syncevolution kann inzwischen ganz normal mit Hilfe des Programmmanagers installiert werden. Voraussetzung ist die Aktivierung des Programmkatalogs extras-devel.
Für scheduleworld existiert bereits ein Konfigurationstemplate, das mit dem Kommando:
~ $ syncevolution -c scheduleworld
konfiguriert wird.
Nun müssen noch wenige kleine Anpassungen an den Konfigurationsdateien vorgenommen werden. Details zu diesen Anpassungen können den enthaltenen Beschreibungen in diesen Dateien entnommen werden. Die Konfigurationsdateien sind unter /home/user/.config/syncevolution/scheduleworld/ abgelegt. Zunächst wird die Kofigurationsdatei mit den allgemeinen Informationen bearbeitet:
~ $ leafpad /home/user/.config/syncevolution/scheduleworld/config.ini
Es gilt, den Benutzernamen und das Passwort zu hinterlegen indem man diese Werte als “username =” und “password =” hinterlegt. Die URL ist bereits korrekt vorkonfiguriert.
Nachdem die alllgemeinen Parameter festgelegt sind, kann in den Dateien:
/home/user/.config/syncevolution/scheduleworld/sources/addressbook/config.ini /home/user/.config/syncevolution/scheduleworld/sources/calender/config.ini /home/user/.config/syncevolution/scheduleworld/sources/todo/config.ini /home/user/.config/syncevolution/scheduleworld/sources/memo/config.ini
Einstellungen für die einzelnen Datentypenbearbeitet werden.
Um zu ermitteln, welche Einträge in Frage kommen, können die vorhanden Sync-Quellen hier abgefragt werden:
~ $ syncevolution Evolution Address Book = Evolution Contacts = evolution-contacts: <<system>> (file:///home/user/.osso-abook/db) <default> Maemo Calendar = maemo-events: N900 (id:1) <default> Privat (id:2) Geburtstage (id:3) Nokia E52 jukey (id:4) Mail for Exchange (id:5) Maemo Tasks = maemo-tasks: N900 (id:1) <default> [...] Maemo Notes = maemo-notes: N900 (id:1) <default> [...]
Um einen bestimmten Kalender als Quelle für den Synchronisationsvorgang zu wählen, muss der entsprechende Wert für “id:x” später in der entsprechenden Konfifgurationsdatei eingetragen werden. Im obrigen Beispiel müsste also z.B. id:2 genommen werden, um den Kalender “Privat” zu synchronisieren. Zusätzlich muss ein Synchronisationsmodus gewählt werden. Der Modus “two-way” bedeutet beidseitige Synchronisation, während im Modus one-way-to-server/client nur in die jeweils angegebene Richtung synchronisiert wird.
Die Datei im Verzeichnis /home/user/.config/syncevolution/scheduleworld/sources/calender/config.ini sieht nun also folgendermaßen aus:
sync = two-way type = calendar evolutionsource = id:2 uri = cal2
wobei uri der Name der externen Datenbank ist, in die die Termine wandern. Im Falle von scheduleworld.com kann im dortigen Login-Bereich nachgelesen werden, welcher Wert für welchen Kalender angegeben werden muss. Um die Datei mit Hilfe von leafpad zu editieren, wird folgender Befehl verwendet:
~ $ leafpad /home/user/.config/syncevolution/scheduleworld/sources/calender/config.ini
Für die andern Syncchronisationsquellen gestaltet sich die Konfiguration jeweils genauso.
Um den Synchronisationsvorgang zu starten ist nun nur noch folgender Befehl nötig:
~ $ syncevolution scheduleworld
Es folgt ein Bericht, der u.a. ausgibt welche Daten synchronisiert wurden:
Changes applied during synchronization: +---------------|-------ON CLIENT-------|-------ON SERVER-------|-CON-+ | | rejected / total | rejected / total | FLI | | Source | NEW | MOD | DEL | NEW | MOD | DEL | CTS | +---------------+-------+-------+-------+-------+-------+-------+-----+ | addressbook | 0/0 | 0/0 | 0/0 | 0/189 | 0/0 | 0/0 | 0 | | refresh-from-client, 71 KB sent by client, 0 KB received | | item(s) in database backup: 189 before sync, 189 after it | +---------------+-------+-------+-------+-------+-------+-------+-----+ | calendar | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0 | | two-way, 0 KB sent by client, 0 KB received | | item(s) in database backup: 1 before sync, 1 after it | +---------------+-------+-------+-------+-------+-------+-------+-----+ | todo | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0 | | two-way, 0 KB sent by client, 0 KB received | | item(s) in database backup: 1 before sync, 1 after it | +---------------+-------+-------+-------+-------+-------+-------+-----+ | start Wed Dec 30 21:19:51 2009, duration 0:24min | | synchronization completed successfully | +---------------+-------+-------+-------+-------+-------+-------+-----+
Damit kann jeder, der ein wenig Konfigurationsaufwand nicht scheut, sein N900 in einen wahres Synchronisations-Multitalent verwandeln.
Zukunft
Was fehlt nun noch, um auch Leuten, die weder die Kommandozeile benutzen wollen, noch in Kofigurationsdateien herumwühlen wollen, eine komfortable Art der Kofiguration zu bieten?
Zum einen muss aus syncevolution erstmal wieder ein ordentliches, im “extras” Programmkatalog geführtes Programm werden. Zum anderen wäre es großartig, wenn sich jemand fände, der ein Plugin für den Dialog “Einstellungen” schreibt. Dort könnte man dann, ähnlich der jetzt bereits vorhanden Möglichkeit zur Konfiguration von Exchange-Sync, die Kofiguration von sync-Evolution übernehmen.
Zu guter Letzt wäre es natürlich sehr vorteilhaft, wenn man den Synchronisationsvorgang nicht immer manuell starten müsste, sondern ein Intervall festlegen könnte, in dem die Daten ausgetauscht werden. Auch hier fehlt es noch an einer guten Lösung.
Technorati Tags: syncevolution, syncml, n900, maemo5, pim
install





Wow! Danke für den Hinweis. Das Fehlen von SyncML via http war schon ziemlich öd. – Heut schaff ichs nicht mehr, das auszuprobieren, aber wenn ich am SO wieder zurück komme wird getestet.
Eine Frage drängt sich natürlich auf: SyncEveolutin hat ab 0.9 eine GTK-basierende grafische Benutzeroberfläche; ich habs nicht geschafft, sie für Diablo zu compilieren – da waren zweio Abhängigkeiten, die mir zu schaffen gemacht haben, die man aber wahrscheinlich mit ein bißchen C-Verstand (der mir abgeht) rauswerfen könnte.
Weißt Du, was Ove Kaaven diesbzgl. vorhat? Bist Du mit ihm in Kontakt oder bist Du nur zufällig beim Spazierensurfen über das paket gestoßen?
Ich bin beim mitlesen auf der maemo-devel-Mailingliste draufgestoßen. Am besten du führst dir den thread dort mal zu Gemüte. Kann sein das Hinweise zur GUI in den Dialogen dort versteckt sind.
Das kommt davon, wenn man die ganzen Mails aus der Mailing-List von einer Filterregel in einen gut versteckten Archivordner verfrachten läßt…
Danke für den Hinweis, ich geh mal nachschaun.
[...] Dieser Eintrag wurde auf Twitter von Uwe K., Cosimo K. erwähnt. Cosimo K. sagte: RT @ju_key: New blog post: Synchronisationsgeschichten (4): Dem N900 SyncML beibringen mit Hilfe von syncevolution http://url4.eu/11I2S [...]
Danke für den Beitrag. Habe bei mir jetzt den Sync zwischen Thunderbird/Lightning und N900 über einen eigenen Funambol-Server am laufen.
You saved my day!
Social comments and analytics for this post…
This post was mentioned on Twitter by ju_key: New blog post: Synchronisationsgeschichten (4): Dem N900 SyncML beibringen mit Hilfe von syncevolution http://url4.eu/11I2S...
[...] Opensync – without succeeding. A few days ago the InternetTabletBlog published a great german article on syncing the N900 against ScheduleWorld.com. Using this information, it was pretty simple to [...]
@Stefan A.
an dieser Lösung schraube ich noch, kannst Du mich vielleicht einmal Kontakten? Ich bräuchte noch den ein oder anderen Schubser in die richtige richtung … marco at vonmiraus punt de Danke!
[...] in der letzten Synchronisationsgeschichte beschrieben wurde, wie Kontakte, Termine, Aufgaben und Notizen zwischen N900 und einem [...]