Feeds
Artikel
Kommentare

Nachdem in der letzten Synchronisationsgeschichte beschrieben wurde, wie Kontakte, Termine, Aufgaben und Notizen zwischen N900 und einem SyncML-Server abgeglichen werden können, möchte ich in diesem kurzen Beitrag darauf eingehen, wie man dieses Vorgehen automatisiert.
Ziel ist es, eine Synchronisation

  • automatisiert durchzuführen,
  • nur dann durchzuführen, wenn eine Netzwerkverbindung besteht und
  • den Status des Ergebnisses der letzten Synchronisation sehen zu können

Diese drei Fliegen schlägt man mit einer Klappe namens “Desktop Command Execution Widget“, im folgenden “DCEW” genannt. Erhältlich ist dieses Desktop Widget in der Programmbibliothek extras-testing und, so denn niemand größere Bugs moniert, bald auch in extras.

Mit DCEW kann man sich zeigen lassen, was man sieht, wenn bestimmt Befehle auf der Kommandozeile gestartet werden. Alles, was in der Kommandozeile ausgegeben wird, erscheint im Widget. Man kann festlegen, ob das gewünschte Kommando jedes mal ausgeführt wird, wenn der Desktop, auf dem sich DCEW befindet, aufgerufen wird oder ob ein Tippen auf das Widget nötig ist. Für unsere Zwecke ebenfalls sehr sinnvoll ist die Möglichkeit, ein Kommando Intervall-basiert auszuführen sowie eine Internetverbindung vorauszusetzen.

Wir geben dem Kind einen Namen...

Es wird, wie im Bild zu sehen, ein neues Kommando namens “sync” erstellt:

syncevolution scheduleworld|grep \|\ 

Achtung! Nach dem zweiten “\” unbedingt ein Leerzeichen hinzufügen, sonst werden die falschen Zeilen ausgegeben.

Der Befehl sorgt dafür, dass das N900 mit dem SyncML-Dienst scheduleworld.com synchronisiert wird und nur die Zeilen aus dem Protokoll angezeigt werden, die die Zeichenfolge | gefolgt von einem Leerzeichen enthalten. Welche das sind, zeigt der folgende Screenshot:

Relevante Essenz der Bildschirm-Ausgabe nach Ausführung von syncevolution

Für dieses Ergebniss muss das Ausgabefenster auf maximaler Breite (“width”) belassen werden und 10 Zeilen für die Ausgabe eingestellt werden. Synchronisiert man den einen oder anderen Datentyp (z.B. Notizen) nicht, kommt man auch mit entsprechend weniger Zeilen aus.

Breite und Höhe festlegen

Um zu verhindern, dass das Kommando zu häufig und womöglich parallel ausgeführt wird, habe ich die entsprechenden Checkboxen deaktiviert und ein festes Intervall (6h) festgelegt.

Wann und unter welchen Voraussetzungen soll die Synchronisation stattfinden

Technorati Tags: , , , ,

Erstaunt stellt man bei der Benutzung des N900 fest, dass lediglich zwei Standard-Profile für die Nutzung vorgesehen sind:

  • Allgemein
  • Lautlos

Visuell unterscheiden sich beide Profile durch ein Icon in der Statusanzeige (das Ding, dass die Uhrzeit und den Akkufüllstand, sowie Informationen zur Konnektivität in der Menüleiste einer Anwendung anzeigt). Dem Profil “Lautlos” wird nämlich ein kleines Icon eine (durchgestrichene Note) zugeordnet. Man kann zwischen beiden Profilen umschalten, indem man in der “status area” (also dem Ding, das ausklappt, wenn man auf die Uhrzeit/Batterieanzeige in der Menüleiste einer Anwendung tippt) auf das Profil-Icon tippt.

Was fehlt, sind ganz klar weitere Profile, das weiß jeder, der schon einmal mit einem echten ™ Mobiltelefon zugange war.

Diesen Mangel behebt tweakr.

Ich bitte den geneigten Leser, zur Kenntnis zu nehmen, dass es sich um Software handelt, die sich noch im Entwicklungsstadium befindet und nicht hinreichend getestet wurde. Eine Installation kann dazu führen, dass einem der Himmel auf den Kopf fällt oder aber das N900 in eine Reboot-Endlosschleife gelangt, aus der es nur durch erneutes Einspielen der Firmware ein entrinnen gibt.

Bei tweakr handelt es sich um ein Plugin für die Anwendung "Einstellungen"

Um tweakr zu installieren muss der Programmkatalog extras-devel aktiviert sein. Ist dies der Fall kann es im Programmmanager zur Installation ausgewählt werden. Nach erfolgter Installation klinkt sich tweakr als Plugin in die Einstellungen des N900 ein. Stellt man nun unter “Profil” (in den “Einstellungen” ganz oben) alle Lautstärken und Vibrationsfunktion ein, kann diese mit Hilfe des Menüpunkts “Save Current General profile to new preset” in “Tweakr” (in den “Einstellungen” ganz unten) dieses “Allgemeine” Profil als neues Profil unter eigenem Namen speichern.

Die aktuellen Profileinstellungen werden mit Hilfe einer Option des tweakr-Dialogs gespeichert

Dieser Vorgang kann wiederholt werden, bis einem die Puste ausgeht, man die Lust verliert oder der Meinung ist, jeden benötigten Fall abgedeckt zu haben.

“Aber wo ist denn mein schönes “Lautlos”-Profil hin?”, habe vermutlich nicht nur ich mich nach diesem Vorgang gefragt. Das vordefinierte Lautlos-Profil kann nach wie vor mit Hilfe des Ein-(und Aus-)schalt-Knopfes am Gerät (zwischen Laut/Leiser-Wippe und Kamera-Auslöser beheimatet) aktiviert werden.

Aprospos Einschalt-Knopf: Dieser lässt sich ebenfalls per tweakr mit unterschiedlichen Funktionen belegen.

Und tweakr kann noch viel mehr: Zum Beispiel Ordnung auf dem Desktop schaffen, indem es ein Raster vorgibt, in dem Elemente auf den Desktops verschoben werden können oder die Umbennenung von dort abgelegten Bookmarks gestattet. Ebenfalls keine Revolution, aber doch nützlich, ist die Möglichkeit, bei gesperrte(r/m) Tatsatur/Touch-Screen durch das Öffnen der Kamera-Abdeckung eben auch die Kamera-Anwendung zu starten. Da kommt echtes Kompakt-Kamera-Feeling auf, kann ich nur sagen.

Zukunft

Schön wäre es, irgendwann auch Icons für die einzelnen Profile zuordnen zu können, die in der Statusanzeige zu sehen sind. Noch schönen wäre es, wenn das Profil in Abhängigkeit des benutzten Netzzugangs, der Uhrzeit und eines eventuell angeschlossenen Headsets/Kopfhörers automatisch ausgewählt wird.

Technorati Tags: , ,

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.

Kalender-Anwenung auf dem N900 unter Mameo5

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!

Verwendet man mehrere Kalender, können diese einzeln Ein- oder Ausgeblendet werden

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.

Bearbeitung der Konfigurationsdateien von syncevolution mit dem Editor Leafpad

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: , , , ,

install

Mit Planet ist natürlich in diesem Fall nicht etwa ein Himmelskörper gemeint, sondern ein RSS-Feed, der alle möglichen Beiträge aus der maemo.org community aggregiert. Das geschieht bisher ausschließlich in englischer Sprache. Artikel aus planet maemo können zum Beispiel in die News auf der maemo.org Startseite gewählt werden (“Daumen hoch”-Symbol unter den Artikeln). Thematisch unpassendes wird genau daran gehindert indem man es negativ bewertet. Allgemein dient der Inhalt des Feeds der einfachen Verfolgung dessen, was die Community in Blogs so von sich gibt. Um teilzunehmen, muss das eigene Blog für planet maemo anmelden und fortan jeden Artikel, der dort erscheinen soll, mit dem Tag “maemo” versehen. Dies ist jedoch, wie erwähnt, nur englischsprachigen Blogs möglich – noch.

Da es ja doch das ein- oder andere deutschsprachige Weblog gibt, in dem Artikel zum Thema maemo und den Internettablets/Smartphones mit Maemo-Betriebssystem erscheinen, wäre es schön, diese ebenfalls quasi auf dem Silbertablett (Wortspielalarm!) serviert zu bekommen. Ich habe daher im maemo.org-Vorschlagswesen angeregt, wie man derartiges umsetzen könnte.

Die Frage ist nun, wer denn gern initial bei einem solchen Gemeinschaftsfeed mitmachen würde… :-) Interesse kann durch Votings im Brainstorm-Bereich deutlich gemacht werden (in Form von Kommentaren und ebenfalls positivem oder negativem Abstimmungsverhalten). Über weitere Empfehlungen in den hiesigen Kommentaren freue ich mich natürlich ebenfalls und nehme sie auch gern in die Linkliste auf.

Technorati Tags: , , , ,

Ältere Artikel »

blogoscoop