Evolution mit iPhone synchronisieren
So, gestern habe ich mich nochmals hin gesetzt und versucht, meine ganzen Kontakte von Windows Mobile ordentlich auf das iPhone zu bekommen. Die hier vorgestellte Lösung erwies sich leider als (gelinde gesagt) sub-optimal. Ich habe feststellen müssen, dass doch viele Sachen nicht übernommen wurden
Mein jetziger Weg ist ein klein wenig anders, etwas aufwendiger, definitiv cooler
Man braucht nicht:
- Windows (oder Linux)
- Ubuntu One
- Google Mail
- Microsoft MyPhone
- Apple Me
Man braucht:
- Linux (oder Windows)
- Evolution
- OpenOffice
- Funambol SyncML-Server
- SyncML-Client von Funambol oder Synthesis (je nach Anforderung)
- gute Nerven
- etwas Zeit
So, dann wollen wir mal…
1. Schritt: Daten von Windows Mobile sichern
Dazu schnappt man sich PIM Backup und sichert alles. Den späteren Evolution-Import habe ich bisher nur mit Kontakten versucht, daher kann ich zum Import von Terminen (noch) nichts sagen. Bei der Datensicherung ist darauf zu achten, dass man den Haken bei „Binary Backup” entfernt, damit erhält man normale Text-Dateien, die man am PC weiter verarbeiten kann.
2. Schritt: Adressdaten in OpenOffice einlesen
Die gesicherte Datei kann man sich nun einfach auf den PC ziehen, die Dateiendung auf .zip ändern und dann entpacken.
Bei den entpackten Dateien befindet sich eine Datei Namens contacts_YYYYMMDD.csc, diese kopiert man sich am besten irgendwo hin und benennt sie nach contacts_YYYYMMDD.csv um.
An dieser Stelle bitte diesen Artikel anschauen!
Diese Datei kann man sich nun mit der OpenOffice-Tabellenkalkulation öffnen.
Beim Import muss man noch einige Sachen einstellen, damit die Daten korrekt eingelesen werden können, siehe dazu den nachfolgenden Screenshot.
Wie zu sehen ist, muss als Trenner „Semikolon” ausgewählt werden und beim Texttrenner die doppelten Anführungszeichen. Außerdem sollte man für alle Spalten als Typ „Text” angeben.
Außerdem wichtig: Damit OpenOffice nicht gleich abschmiert beim Import, sollte man (wie im Screenshot gezeigt) die Spalte mit der Überschrift „Picture” per rechtem Mausklick ausblenden lassen, da Evolution dieses Feld sowieso nicht kennt und sonst OpenOffice sehr langsam wird, wenn viele Bilder in der Datei sind.
Danach kann man mit OK bestätigen und sollte alle Daten aus dem alten Adressbuch in einer OOo-Tabelle vorhanden haben.
Diese Datei wird erst einmal als Tabellen-Dokument gespeichert und zur Seite gelegt, da sie später noch öfters benötigt wird.
3. Schritt: einen lokalen SyncML-Server installieren
Das ist gar nicht so schwierig wie es sich anhört, ich hab es auch geschafft, also keine Sorge
Zuerst einmal holt man sich von Funambol den kostenlosen Server für (in meinem Fall) Linux. Auf der nächsten Seite braucht man sich auch nicht unbedingt registrieren, Funambol macht es hier vorbildlich und bietet den Link „No thanks – please take me straight to the downloads!” an.
Hat man die BIN-Datei auf seinem Rechner, kann man diese in der Konsole einfach über
sudo sh ./funambol-x.x.x.bin
installieren. Wer die Nutzungsbedinungen schneller lesen möchte, kann ja mal q drücken
Die restliche Installation kann man eigentlich immer einfach bestätigen, dann landet der Server unter /opt/Funambol, wo er auch hin gehört
Damit der Server bei jedem Systemstart automatisch gestartet wird (da musste ich bei ubuntuusers.de spicken ), muss das Start-Skript noch an die richtige Stelle kopiert werden, wobei die Pfade natürlich wenn nötig anzupassen sind…
sudo cp /opt/Funambol/bin/funambol /etc/init.d/funambol
Die Datei /etc/init.d/funambol muss man dann noch bearbeiten und in Zeile 4 den Pfad zu Funambol anpassen, also z. B.
FUNAMBOL_HOME=`(cd .. ; pwd)
gegen
FUNAMBOL_HOME=`(cd /opt/Funambol ; pwd)
tauschen.
Damit der Server automatisch als Dienst gestartet wird, muss man noch den folgenden Befehl aufrufen
sudo update-rc.d funambol defaults
Hat alles geklappt, kann man sich im Browser die Adresse http://localhost:8080/funambol/ds aufrufen und sollte die Statusseite von Funambol sehen.
Die Verwaltung des Servers kann man über den Befehl
sudo /opt/Funambol/admin/bin/funamboladmin
aufrufen. Ich habe hier allerdings erst einmal nichts geändert.
Als Standard-Benutzer ist übrigens der Benutzer guest mit dem gleichennamigen Passwort eingerichtet. Dieses benötigt man später für die weitere Einrichtung. Ich habe hier nicht extra einen neuen Benutzer angelegt, da dieser Test-Server bei mir ja nur lokal im Netzwerk läuft und von außerhalb nicht erreichbar ist. Für externen Zugriff sollte man sich hier definitv andere Zugangsdaten anlegen.
4. Schritt: Evolution für SyncML vorbereiten (SyncML einrichten)
Ich habe mich dabei im Groben an diese Anleitung gehalten. Für die Einrichtung der Paketquellen und mögliche Risiken möge sich der unkundige Anwender bitte bei ubuntuusers.de einlesen.
Wenn man denn kundig ist, benötigt man die Paketquelle für SyncEvolution (Paketpfad für Debian/Ubuntu steht jeweils im Beitrag zum letzten Release) und installiert dann das Paket syncevolution.
Als nächstes richtet man sich noch das PPA von genesis-sync ein und installiert das Paket ebenfalls. Ich bin mir nicht sicher, aber ich glaube syncevolution wird dabei gegen ein Paket aus dieser Quelle getauscht. Hat aber auf jeden Fall am Ende bei mir alles funktioniert, also nur Mut
Als nächstes startet man „Genesis Sync” und richtet sich ein neues Profil ein. Als Angaben verwendet man:
Server: http://localhost:8080/funambol/ds URI für Kontakte: card URI für Termine: event
Zum Vergleich kann man sich auch die Vorlage für Funambol ansehen, man nutzt ja deren Server
Als Benutzername und Passwort verwendet man logischerweise die Daten, welche man im vorherigen Schritt beim Server (nicht) angelegt hat.
Danach kann man einen Test-Sync machen, ob die Datenbanken des SyncML-Servers auch wirklich gefunden werden. Hat man bereits Adressen und/oder Termine in Evolution angelegt, sollte eine Meldung erscheinen, dass xx Einträge synchronisiert wurden.
Nun kann man sich auch mal auf http://localhost:8080/funambol/ anmelden um über das Web-Interface die Daten auf dem Server zu prüfen.
Jetzt kann man, wenn man denn möchte, erst einmal mit Evolution und SyncML herumspielen um zu sehen, ob bei dieser Verbindung erst einmal alles klappt.
5. Schritt: Mobiltelefon für Synchronisation einrichten
Ich beziehe mich hier nur auf das iPhone, da ich die Clients für andere Mobil-Betriebssysteme nicht kenne und welche Möglichkeiten diese bieten.
Jetzt kommt die Qual der Wahl. Möchte man nur Kontakte synchronisieren, reicht der Client von Funambol (Suche im App-Store) vollkommen aus. Leider kann dieser Client aber nicht Termine synchronisieren, was aber ja durchaus gewünscht wäre, wenn man auf dem PC Evolution verwendet.
Soweit ich gesehen habe, bietet die Möglichkeit den iPhone-eigenen Kalender zu synchronisieren, nur der Client von Synthesis an. Leider kostet dieser in der benötigten Pro-Version 10 Euro, aber ich bin das Risiko einfach einmal eingegangen und habe mir das Teil geholt. Man sollte dabei noch erwähnen, dass es sich bei der Pro-Version nicht nur um einen Client, sondern auch gleichzeitig um einen kleinen Server handelt, damit Mobil-Geräte direkt ohne Umwege synchronisiert werden können. Wäre für die Zukunft vielleicht mal interessant zu testen, ob ich dann auf den lokalen Server auf dem Notebook verzichten könnte
Die Einrichtung des Clients ist dann weiter kein Problem, einfach die oben erwähnten Zugangsdaten wieder eingeben. Allerdings ist zu beachten, dass man statt localhost die korrekte IP des PCs eintragen muss. Außerdem muss man noch die Datenbanknamen ändern, da diese in den Standard-Vorgaben nicht den Namen des Funambol-Servers entsprechen. Ich hatte das am Anfang vergessen und mich ständig gewundert, dass nur Fehlermeldungen kamen
Nun kann man für die Verbindung iPhone-Server ebenfalls einen Synchronisations-Testlauf durchführen und auf dem Server die Daten gegenprüfen. Danach kann man einen Sync mit Evolution testen, ob die Daten des iPhones dort ebenfalls auftauchen.
6. Schritt: alle Kontakte löschen
Für die weiteren Arbeiten würde ich empfehlen, alle Kontakte aus allen Adressbüchern/Kalender zu löschen (evtl. aus Evolution vorher sichern, sofern nötig), damit man eine saubere Datenbasis für den späteren Import hat. Sofern alle Geräte korrekt synchronisiert werden konnten, sollte es reichen die Adressen/Termine in Evolution zu löschen und dann einen Sync zwischen Evolution und Server, sowie Server und iPhone durchzuführen. In meinem Fall waren dann von beiden Geräten und auch vom Server alle Einträge gelöscht.
7. Schritt: importierte Adressdaten für Evolution aufbereiten
Hier kommt einem das Wiki von ubuntuusers.de etwas entgegen, da dort zum Glück schon alle Felder genannt sind, die Evolution beim Import von Adressdaten unterstützt.
Dazu speichert man sich die Zeile (bitte darauf achten, dass es wirklich nur eine einzige Zeile ist!)
"First Name","Last Name","id","NickName","E-mail Address","E-mail 2 Address","E-mail 3 Address","E-mail 4 Address",
"Wants HTML","Business Phone","Home Phone","Business Fax","Pager","Mobile Phone","Home Street","Home Street 2",
"Home City","Home State","Home Postal Code","Home Country","Business Street","Business Street 2","Business City",
"Business State","Business Postal Code","Business Country","Job Title","Office","Company","Web Page","Cal uri",
"Birth Year","Birth Month","Birth Day","Notes"
in eine Textdatei Namens evolution_vorlage.csv ab und importiert sie danach als neue Datei in OpenOffice.
Nun kommt leider der nervigste Teil dieser Anleitung…
Man muss sich praktisch die die vorhandenen Spalten aus dem 2. Schritt nehmen, Einträge kopieren (am besten gesamte Spalte markieren) und diese in die neue Datei an die passende Stelle einfügen. Hierbei ist außerdem darauf zu achten, dass die Überschriften der neuen Datei erhalten bleiben. Größtenteils entsprechen die Feldnamen für Evolution zwar denen aus Outlook, jedoch nicht alle.
Problem 1: Es ist darauf zu achten, dass die oben genannte Reihenfolge der Felder erhalten bleibt. Ich hatte im ersten Versuch einfach die Feldnamen in meine Import-Datei eingetragen und es kam nur Unsinn dabei heraus. Warum das so ist weiß ich nicht, es ist aber ärgerlich, wenn man es nicht vorher weiß
Problem 2: Evolution unterstützt nicht mehrere Adressen für einen Kontakt, man kann sich nur private und geschäftliche Adressen eintragen. Wie man dabei mit den eigenen Daten verfährt und welche Adressen einem wichtig sind, muss man selbst entscheiden. Zur Not muss man sich eben einen zweiten Kontakt anlegen.
Problem 3: Evolution hat ein anderes Format für Geburtstage als Outlook. Evolution verwendet für Jahr, Monat und Tag jeweils eigene Felder, während Outlook alles in einem Feld im Format YYYYMMDD speichert. Mit einem kleinen Trick kann man das Problem aber beheben…
- Spalte mit Gebutsdatum suchen
- rechts daneben 3 weitere Spalten für Jahr, Monat und Tag einfügen
- die Spalte für das Jahr erhält die Formel
=TEIL(BB2;1;4)
- die Spalte für den Monat erhält die Formel
=TEIL(BB2;5;2)
- die Spalte für den Tag erhält die Formel
=TEIL(BB2;7;2)
Die Bezeichnung der Bezugszelle muss natürlich angepasst werden. Am einfachsten schreibt man diese Formeln in die zweite Zeile unter die Spaltennamen und zieht alles über die Auto-Auffüllung bis ans Ende der vorhandenen Werte. Danach sollten die Gebutsdaten für alle Kontakte aufgeteilt sein.
Jetzt muss man die 3 aufgeteilten Spalten markieren und kopieren. Danach überschreibt man diese 3 Spalten, indem man rechte Maustaste und den Befehl „Inhalt einfügen…” wählt, wobei man nur einen Haken bei „Text” macht. Danach sollten aus den geteilten Spalten alle Formeln verschwunden sein und nur noch die Werte als richtige Zahlen in den Zellen stehen.
Hat das geklappt, kann man die Spalte mit dem Gesamt-Geburtstag löschen oder die geteilten Spalten in die neue Tabelle übernehmen, je nachdem wo man den Geburtstag bearbeitet hat.
Hat man das geschafft, sollte man erst mal speichern und tief durchatmen
8. Schritt: Übertragung der Daten zu Evolution
Wenn man jetzt eine Evolution-konforme Tabelle hat, kann man diese speichern, wobei man als Dateityp CSV auswählt und einen Haken bei „Filtereinstellungen bearbeiten” macht.
Im nächsten Fenster muss man dann eigentlich nur noch kontrollieren, dass für den Feldtrenner ein Komma und für den Texttrenner wieder die doppelten Anführungszeichen gesetzt sind. Beim Zeichensatz hatte ich UTF-8 gewählt, was bei mir auch funktioniert hatte, aber da muss man vielleicht einfach mal experimentieren. Haben wir ja jetzt die ganze Zeit gemacht bei der Anleitung
Die gesicherte Datei kann man sich nun in Evolution importieren und dann sollten alle Informationen mehr oder weniger komplett im Adressbuch auftauchen.
9. Schritt: Synchronisieren, Testen, Synchronisieren, Testen…
Die Überschrift sagt eigentlich schon, was man jetzt noch alles machen muss
Sollten noch Daten fehlen, nimmt man sich am einfachsten die im 2. Schritt importierte Tabellendatei und kopiert sich die Informationen in das Evolution-Adressbuch.
Ausblick
In nächster Zeit wird es wohl noch nötig sein, SyncML mit Thunderbird zu testen, jedoch gibt es für die Version 3 bisher leider kein funktionierendes Addon von Funambol bzw. es ist noch in der Entwicklung und nicht offiziell verfügbar.
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
frank am :
hmmm.. dann wohl doch lieber das gute alte notizbuch.. ;_)