Migration von EGroupware auf Owncloud, Teil 1, Adressbuch

Owncloud benutzt den VCARD-Standard Version 3.0, EGroupware dagegen das ältere 2.1 . Dadurch ergeben sich Unterschiede in der Behandlung der Kodierung der Line-Endings was dazu führt, daß beispielsweise nach einem Import nur die erste Zeile des Notizfeldes zu sehen ist. Dies lässt sich allerdings mit dem Skript vcf_egw_to_owncloud.py korrigieren.

Nach einem Import in Owncloud und einem darauffolgenden Export in das
VCARD-Format aus Owncloud heraus fallen einige Unterschiede auf.

Die Unterschiede sind:

  • Das UID-Feld bleibt erhalten (gleiche UID wie auch bei EGroupware)
  • Das REV-Feld wird neu gesetzt und zwar auf den Zeitpunkt des Imports
  • Das PRODID-Feld ändert sich natürlich auch
  • Die Typ-Deklaration hat sich durch die neue VCARD-Version ebenfalls geändert: von “EMAIL;WORK” auf “EMAIL;TYPE=WORK”
  • VCARD 3.0 verwendet standardmäßig binäres UTF-8. Die VCARDS sind durch den Wegfall von “CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE” wesentlich kompakter und einfacher lesbar.

Um den Vergleich einfacher zu gestalten kann man die bekannten Unterschiede mit
folgenden VIM-Anweisungen entfernen:

:%g/^PRODID:/d
:%g/^REV:/d
:%g/^VERSION:/d
:%s/TYPE=//icg

Die unterschiedliche Reihenfolge der VCARDS innerhalb der Export-Datei ist für
den Vergleich etwas störend. Das Skript vcf_split.py teilt die beiden großen Dateien in zwei Verzeichnisse, wobei die Dateinamen
jeweils aus dem UID-Feld bestehen. So kann man sich die einzelnen Adressen
aufgrund des gleichen Dateinamens besser ansehen.

Bei dem Testset an Adresssen ergibt die Detail-Untersuchung auch keine weiteren
Diskrepanzen: Alle Information sind nach dem Import auch noch vorhanden.