Kopano-Mailmigration
Die nachfolgenden Schritte beschreiben, wie Daten aus Kopano exportiert und in die IServ Schulplattform importiert werden können. Dies betrifft konkret:
- Kalender
Voraussetzungen
- Dieses Migrationsskript funktioniert aktuell ausschließlich für die LogoDIDACT 4.0 Instanzen, eine Dokumentation für die Umstellung von LogoDIDACT 2.0 Instanzen, wird folgen.
-
Zur Migrationsdurchführung müssen zusätzliche Tools auf dem LogoDIDACT installiert werden, sollte sich eine LD-Instanz im End of Life befinden und somit keine Installationen zulassen, melden Sie sich bei info@sbe.de
-
Vor dem Export muss eine externe Festplatte oder ein sonstiger Speicherort am ldhost angeschlossen und eingehängt werden. Aufgrund der einfachen Handhabung geht die Dokumentation im Folgenden davon aus, dass eine externe USB-Festplatte mit einem ext4 Linux-Dateisystem und dem Label "USB-Backup" verwendet wird. Eine Sicherung auf ein anderes Medium ist ebenfalls möglich.
- Die Mailmigration wird in zwei Teilen gemacht: 2-3 Tage vor dem Umstellungstermin wird der erstmalige Export angestoßen. Am Tag der Umstellung wird der selbe Export erneut gestartet, hier erfolgt ein finaler Abgleich.
LogoDIDACT Postfach-Export vorbereiten
Zur Durchführung des Postfach-Datenexports werden verschiedene Tools und ergänzende Ubuntu-Pakete im LXC-Container kopano-g2 installiert. Auch im Konfigurationssystem puppeteer-g3 sind Einstellungen per YAML-Konfigurationsdatei festzulegen. Damit wird einleitend begonnen, eine SSH-Verbindung zum LogoDIDACT Server herzustellen und die nachfolgenden Konfigurationsabschnitte im Puppeteer hinzugefügt.
| ldhost | |
|---|---|
- Vorhandene Datei
/etc/logodidact/hiera/custom.d/kopano-g2.yamlmit einem Texteditor bearbeiten - Zusätzliche Einstellungen zur YAML-Datei hinzufügen und die sonstigen, bereits vorhandenen Einstellungen unberührt lassen.
Hier wird eine Anpassung der OpenLDAP Attributsfelder vorgenommen, damit in den Kopano-Konten neben der Mailadresse auch der normale Linux-Accountname sowie die Unique-ID als Benutzereigenschaften zur Verfügung stehen. Außerdem wird ein zusätzlicher IMAP-Dienst am Server eingerichtet, der User-Postfächer an der Shell (ohne Angabe der einzelnen Benutzer-Kennwörter) exportierbar macht. Die obigen Firewall-Einstellungen begrenzen die Erreichbarkeit auf die lokale Zone (loopback Device).
Die Änderungen wie üblich unterhalb des Verzeichnis /etc/logodidact/ ins GIT speichern.
| puppeteer-g3 | |
|---|---|
Zurück im ldhost muss der LXC-Container kopano-g2 kurzzeitig angehalten werden. Dies dient dem Zweck, die Backup-Festplatte einzuhängen und im Namespace des LXCs verfügbar zu machen.
| ldhost | |
|---|---|
ACHTUNG
Das Label oder der Pfad zur Backup-Partition muss auf Ihre Gegebenheiten angepasst werden.
| ldhost | |
|---|---|
Anschließend in den LXC-Container kopano-g2 wechseln und die Änderungen per prun anwenden.
| ldhost | |
|---|---|
Nun erfolgt die Installation der zusätzlich benötigten Tools, die für den Export verwendet werden:
Info
Um den manuellen Aufwand zu reduzieren, steht hierzu ein Shell-Skript zur Verfügung, welches im Container heruntergeladen werden kann.
| kopano-g2 | |
|---|---|
Innerhalb des Skriptes sind nun verschiedene Optionen wählbar. Diese können entweder einzeln oder gesammelt mit dem Parameter --all aufgerufen werden. Das Skript läuft diese Schritte automatisch ab, einzelne Schritte können jedoch über den genannten Weg wiederholt werden.

Nun wird die Installation angestoßen, bitte die Konsolenausgabe beachten.
| kopano-g2 | |
|---|---|
Neben der Installation von Paketen finden durch das Setup-Skript einige weitere Schritte automatisch statt. Es werden auch zusätzliche Migrationsskripte ins Verzeichnis /opt/export-tools/ entpackt, um den Vorgang zu vereinfachen. Ein gewisser Komplexitätsgrad bleibt beim Übertragen von E-Mail-Postfächern dennoch übrig, es muss in jedem Fall sehr sorgfältig gearbeitet werden. Durch das Entpacken weiterer Tools nach /opt/export-tools/ ist es möglich, Aktionen darin durch Feedback zu verbessern.
Der letzte Schritt 6 weist nach der Ausführung darauf hin, dass YAML-Einstellungen im puppeteer-g3 festgelegt werden müssen. Dies ist bereits geschehen, wenn man dieser Anleitung gefolgt ist. Daher muss lediglich noch der hinzugefügte systemd-Service kopano-gateway-bypassauth.service gestartet werden, um die Ergänzungen im Mail-Container abzuschließen.
| kopano-g2 | |
|---|---|
Sofern der Dienst nun als aktiv gekennzeichnet wird, sind die Vorbereitungen abgeschlossen und der eigentliche Export kann gestartet werden.
1. Ausführen des ersten Exportes
Info
Zur Durchführung des IMAP-Exportes wird ein weiteres, eigenständiges Shell-Skript task2_export-kopano-stores.sh zur Verfügung gestellt, um einen Teil der Aufgaben zu automatisieren. Es empfiehlt sich, diese in einer Screen-Sitzung auszuführen, um ungewollte Abbrüche zu verhindern.
Dies soll den Export vereinfachen, es ist davon auszugehen, dass der Postfach-Export viele Stunden zur Abarbeitung benötigt und das Shell-Skript soll hierbei unterstützen, damit diese Aktionen im Hintergrund, ohne weitere manuelle Eingriffe, stattfinden können.
| kopano-g2 | |
|---|---|
Analog zum Setup Skript aus dem vorherigen Schritt, liefert auch das Export-Skript verschiedene Parameter mit, um einzelne Schritt gezielt auszuführen:

1.1 Übersicht der einzelnen Schalter
--step1
Erstellt bzw. erneuert ein Komplettbackup der gesamten Kopano-Installation in einem proprietären Kopano-Datenbankformat (MAPI-Objekte im Binärformat). Diese Daten sind ausschließlich als Fallback gedacht und werden nicht für die Migration nach IServ verwendet. Das Backup wird in einem Berkeley-DB-Format gespeichert und benötigt entsprechenden Speicherplatz.
--step2
Erstellt eine Kopano-Benutzerliste als kopano.userlist.csv (mit Kopano-Name, Linux-Account, IServ-Account). Grundlage für alle weiteren Exporte und das spätere Mapping nach IServ.
--step3
Erzeugt auf Basis der kopano.userlist.csv Konfigurationsdateien für die Export-Tools (z. B. offlineimap/vdirsyncer). Muss erneut ausgeführt werden, wenn sich die kopano.userlist.csv geändert hat.
--step4 (Kalender)
Exportiert bzw. aktualisiert die Kalenderdaten (ICS-Dateien) der Benutzer auf der Backup-Festplatte.
--step5 (Kontakte)
Exportiert bzw. aktualisiert die Kontaktdaten (VCF-Dateien) der Benutzer auf der Backup-Festplatte.
--step6
Erzeugt oder aktualisiert weitere Konfigurationsdateien für die verwendeten Tools (Import/Export), ebenfalls auf Basis der aktuellen kopano.userlist.csv. Nach Änderungen an der CSV erneut ausführen.
--step7
Exportiert bzw. aktualisiert die E-Mail-Nachrichten (Maildir-Struktur) der Benutzer auf der Backup-Festplatte.
Besonderer Hinweis!
In Kombination mit --use-imapsync können Mails direkt von Kopano zu IServ synchronisiert werden (Echtzeit, ohne Zwischenspeicher). Beide Systeme müssen parallel laufen und sich per Netzwerk erreichen!
--step8
Erstellt zusätzliche Metadaten, z. B. die Datei kopano.userlist-extra.yaml mit Alias-Adressen und Verteilerlisten („Distribution Lists“). Hilfreich, um Aliasse und Verteiler später in IServ manuell nachzubilden.
1.2 Funktionsweise von task2_export-kopano-stores.sh
Das Shell-Skript verwendet für den E-Mail-Nachrichtenexport das IMAP-Tool offlineimap3. Es ist so aufgebaut, dass es mehrfach aufgerufen werden kann, um nachträglich neue Nachrichten (differenziell) zu synchronisieren.
Bei sehr großen E-Mail-Postfächern kann der Export entsprechende Zeit in Anspruch nehmen. offlineimap3 ermöglicht zwar das parallele Exportieren mehrerer Postfächer (Threads), das Exportieren eines einzelnen großen Postfachs kann trotzdem mehrere Stunden in Anspruch nehmen.
Daher ist es empfehlenswert, den Export der IMAP-Postfächer bereits einige Tage vor dem vereinbarten Migrationstermin zu starten und zum eigentlichen Migrationstermin nur noch die zwischenzeitlich neu eingegangenen Nachrichten nachzusynchronisieren.
Dem Hilfetext des Skripts ist außerdem zu entnehmen, dass vor dem Nachrichtenexport weitere Schritte ausgeführt werden, z. B.:
- Export von Kalenderobjekten
- Export von Kontaktobjekten
Diese Exporte erfolgen über das Tool kopano-rfcdump.py in den Schritten 4 und 5. Sie sind bewusst vorgezogen, da sie im Vergleich zum Nachrichtenexport deutlich schneller ablaufen.
1.3 Konfigurationsdatei für task_export-kopano-stores.sh
Das Skript task2_export-kopano-stores.sh benötigt zwingend eine individuelle Konfigurationsdatei. Darin werden unter anderem folgende Angaben hinterlegt:
- Pfade für den Datenexport auf die bereits eingehängte Backup-Festplatte.
- ein LogoDIDACT-Admin (für den Export),
- ein IServ-Admin (für den späteren Import).
Wichtig
Diese Admin-Konten sind keine generischen Accounts; sie müssen über die nötigen Rechte verfügen, um auf alle Postfächer zugreifen zu können.
Die Konfigurationsdatei sollte im gleichen Verzeichnis liegen wie das Skript, also im Ordner /root/migration/ im LXC-Container kopano-g2.
Der Dateiname sollte kopano_backup.config lauten, wie in der dazugehörigen Abbildung gezeigt.
Solange diese Konfigurationsdatei nicht existiert, bricht das Skript beim Start mit einem Fehler ab und gibt Beispielzeilen für eine Konfiguration auf der Konsole aus. Diese Beispielzeilen können kopiert, mit sinnvollen Werten ergänzt und dann als kopano_backup.config gespeichert werden.
Im unteren Bereich der Konfigurationsdatei werden die Zugangsdaten für den LogoDIDACT-Admin und den IServ-Admin eingetragen.
Die konkrete Vergabe der notwendigen Rechte für den IServ-Admin wird später in der Anleitung beschrieben. Für den Export der Postfachdaten unter LogoDIDACT sind jedoch bereits jetzt die korrekten Rechte des LogoDIDACT-Admins entscheidend.

1.4 Kopano-Adminrechte des LogoDIDACT-Admins prüfen und setzen
Ob der LogoDIDACT-Admin die benötigten Kopano-Adminrechte besitzt, kann im LXC-Container mit dem Kommandozeilen-Tool kopano-admin geprüft werden.
(häufig admin@schule.local oder admin@maildomain-der-schule.de)
In der Ausgabe muss ersichtlich sein, dass der betreffende Benutzer Kopano-Administrator ist:

1.5 Nachträglichen Kopano-Admin einrichten
Wichtig
Dieser Schritt muss lediglich dann erfolgen, wenn keine Administratorberechtigungen gelistet sind.
- Im Browser am LD Control Center als admin anmelden.
- Bereich „Benutzerverwaltung“ öffnen.
- Im linken Menü „Verwaltung → Benutzer“ wählen.
- In der Tabelle das admin-Konto suchen, markieren und per Doppelklick bearbeiten.
- Das Konto als „Kopano-Administrator“ festlegen und speichern.
Diese Rolle ist Voraussetzung, bevor das Skript task2_export-kopano-stores.sh für Exportvorgänge verwendet werden kann.

1.6 Erster vollständiger Export aller Kopano-Postfächer
Sind Konfigurationsdatei und Rechte korrekt eingerichtet, kann der erste vollständige Export gestartet werden.
Um alle Kopano-Benutzer zu exportieren, wird das Skript mit dem Schalter --all aufgerufen.
Gefährlich
Um ungewollte Abbrüche zu verhindern, sollte das Skript in einer Screen-Sitzung gestartet werden!
1.7 Skript ausführen
| kopano-g2 | |
|---|---|
Nach erfolgreichem Durchlauf befinden sich die exportierten Daten im Verzeichnis /backup/ld-kopano-stores/ (wie in der Konfiguration angegeben).
Die Exportstruktur ist typischerweise:
mailboxes/– E-Mail-Nachrichten im Maildir-Formatcalendars/– Kalenderdaten im ICS-Format (*.ics)contacts/– Kontakte im vCard-Format (*.vcf)
Zur Zuordnung der Inhalte sind jeweils Unterordner pro Kopano-Benutzer vorhanden, und zwar sowohl unter mailboxes/ als auch unter calendars/ und contacts/

Im Rahmen von Schritt --step8 legt das Skript zusätzlich die Datei kopano.userlist-extra.yaml auf der Backup-Festplatte ab.
Diese Datei enthält:
-
Informationen zu E-Mail-Aliasadressen,
-
Informationen zu Kopano-Verteilergruppen (Distribution Lists).
Diese Informationen sind hilfreich, zum Beispiel wenn:
-
Benutzer in IServ wieder mit Mail-Aliasadressen ausgestattet werden sollen,
-
Verteilerlisten in IServ manuell neu angelegt werden müssen.
Ein Automatismus für die Rekonstruktion von Verteilern in IServ existiert nicht, die Neuanlage kann aber über den entsprechenden Menüpunkt erfolgen (sofern das Modul "Verteilerlisten" installiert ist).
2. Weitere Exportdurchläufe (differentielle Nachsynchronisierung)
Wenn zwischen dem ersten Export und dem finalen Migrationstermin noch Zeit liegt, kann das Skript später erneut ausgeführt werden, um geänderte Daten nachzuziehen. Dabei können einzelne Schritte ausgelassen werden, die bereits erledigt wurden.
Typischer Ablauf für einen zweiten oder weiteren Export:
| ldhost | |
|---|---|
Hinweise
Statt einen Komplettablauf mit --all zu wiederholen, können nun gezielt einzelne Schritte des Skripts genutzt werden (z. B. --step4 für Kalender, --step5 für Kontakte, --step7 für E-Mails).
Die Neuerstellung der Kopano-Benutzerliste (Schritt --step2) ist nur notwendig, wenn seit dem ersten Export neue Benutzer auf dem LD-Server angelegt wurden. Andernfalls kann auf die bestehende kopano.userlist.csv zurückgegriffen werden.
Diese CSV-Datei kann auch im Texteditor bearbeitet werden, um Konten zu entfernen, deren Daten nicht nach IServ migriert werden sollen.

3. Abschließende Arbeiten unter LogoDIDACT zum Migrationszeitpunkt
Sobald alle Kopano-Exportdaten auf dem gewünschten Stand sind und die Umschaltung des Mailsystems bevorsteht, werden folgende Schritte durchgeführt.
Achtung
Ab diesem Zeitpunkt dürfen die Export-Tools nicht mehr verwendet werden!
3.1 SMTP-Empfang auf LogoDIDACT blockieren
In /etc/shorewall/ die Datei rules am Anfang der Regeln um eine Zeile erweitern, die externe SMTP-Verbindungen blockiert (keine neue Einlieferung von E-Mails).
| ldhost | |
|---|---|
| /etc/shorewall/rules | |
|---|---|
| ldhost | |
|---|---|
3.2 Exportierte Daten an IServ anpassen
| ldhost | |
|---|---|
Das Skript übernimmt unter anderem:
- Umwandlung von IMAP-UTF7-Ordnernamen nach UTF-8 (wichtig für Umlaute und Sonderzeichen),
- Umbenennung deutscher Standardordner in englische Standardordner (passend zu IServ),
- weitere Umbenennungen, z. B. Benutzername/calendar in Benutzername/home.
Vor jeder Umbenennung werden die geplanten Aktionen angezeigt und müssen bestätigt werden. Die Änderungen werden in Logdateien unterhalb von /backup/ld-kopano-stores/logs/ protokolliert.
Nach Abschluss werden zusätzlich vorgeschlagene Kontakte mit einem weiteren Aufruf von migrate_mailboxes.py bei Bedarf gelöscht (--delete-suggested-contacts).
3.2 Ausführung
| ldhost | |
|---|---|
3.3 Backup-Festplatte trennen
| ldhost | |
|---|---|
Die Backup-Festplatte vom Mountpunkt /var/backups/lxc/kopano-g2 aushängen.
| ldhost | |
|---|---|
Danach den Kopano-LXC wieder starten oder den LD-Server herunterfahren – abhängig vom geplanten Migrationsszenario.
4. DNS-Anpassungen für den Umstieg auf IServ
Für einen reibungslosen Umstieg müssen:
- alle bisherigen Mailadressen in IServ wieder so angelegt werden, wie sie zuvor existiert haben
- passende Zielpostfächer für den Import der Kopano-Daten bereitstehen.
Im DNS der verwendeten Maildomäne müssen insbesondere folgende Einträge angepasst werden:
- MX-Record (Zustellung eingehender E-Mails),
- TXT-SPF-Record (Autorisierung der IServ-Mailrelay-Server).
4.1 Beispiel MX-Anpassung
Vorher:
meine-schul-maildomain.de MX 10 pmg.schulkennung.logoip.de
Nachher:
meine-schul-maildomain.de MX 10 iserv-hostname.xyz
meine-schul-maildomain.de MX 50 offline.iserv.eu
Wichtig
iserv-hostname.xyz muss durch den tatsächlichen IServ-Hostname der Schule ersetzt werden.
Eventuell vorhandene zusätzliche MX-Records sollten entfernt werden, sofern sie nicht mehr benötigt werden.
4.2 Beispiel SPF-Anpassung
Vorher:
meine-schul-maildomain.de TXT "v=spf1 a mx -all"
Nachher:
meine-schul-maildomain.de TXT v=spf1 a mx a:relay1.iserv.eu a:relay2.iserv.eu a:relay3.iserv.eu a:relaybs.iserv.eu ?all"
Info
Je nach TTL und DNS-Infrastruktur können die Änderungen typischerweise zwischen einer Stunde und einem Tag benötigen, bis sie weltweit wirksam sind. Die Einlieferung neuer E-Mails in die Domain ist unabhängig von den bereits migrierten Postfachdaten. Bereits importierte Nachrichten bleiben erhalten.
Weiterführende Informationen zur DNS-Konfiguration können Sie hier finden: IServ DNS Doku
5. IMAP-Import in IServ
Hinweis
Vor dem Import müssen in der IServ-Verwaltung alle Benutzerkonten angelegt sein, für die Kopano-E-Maildaten wiederhergestellt werden sollen. Ohne diese Benutzer existieren keine Zielpostfächer.
In der IServ-Dokumentation finden Sie alle Hinweise zum Importieren von Benutzern: IServ Benutzer Import
Alternativ finden Sie unter LD-User-Export (Nutzerübernahme) eine Anleitung zur Übernahme der Konten direkt aus LogoDIDACT.
5.1 IServ vorbreiten
Nun wird die Festplatte an den Server angeschlossen und im IServ gemountet - anschließend der Arbeitsordner erstellt und das offlineIMAP3-Repository geklont.
Hinweis
Der Pfad zur Partition muss ggf. angepasst werden.
5.2 Zugriff auf IServ-Postfächer einrichten
An dieser Stelle wird ein definierter Admin-Nutzer als technisches Konto für den IMAP-Import eingerichtet.
Hinweis
ISERVADMINUSER durch den enstsprechenden Benutzer ersetzen.
5.3 Identitätsabgleich
Im eingehängten Pfad /mnt/ld-kopano-stores/ befindet sich die Datei kopano.userlist.csv mit drei Spalten:
- Kopano-Benutzername (LogoDIDACT),
- Linux-Accountname (LogoDIDACT),
- IServ-Benutzername (Zielkonto).
Wir gehen im Weiteren davon aus das die IServ-Benutzernamen dem Schema vorname.nachname entsprechen. Bei Abweichungen (Lehrerkürzel, sehr lange Namen etc.) muss die Datei angepasst werden.

Mittels des Skriptes ld-iserv-usermapping.sh kann nun die Mapping-Datei kopano.userlist.csv verarbeitet/angepasst werden.
Wichtig
Es empfiehlt sich den Modus --check unter Angabe der CSV-Mappingdatei /mnt/ld-kopano-stores/kopano.userlist.csv. einmal auszuführen, dabei prüft das Skript ob alle IServ-Benutzernamen (aus Spalte 3) bereits angelegt sind. Sollten Benutzer fehlen, gibt das Skript einen Fehler aus und listet die Zeile des fehlenden Benutzers auf.

5.4 Beispielausgabe nach Fehlermeldung
Das nachfolgende Bild zeigt, dass der Nutzer "tte" nicht gefunden werden konnte. Es handelt sich möglicherweise um ein Lehrerkonto, welches in LogoDIDACT mittels Lehrerkürzel als Accountnamen importiert wurde und innerhalb der IServ Schulplattform unter dem Schema Vorname.Nachname angelegt wurde:

Um nun die Datenmigration zu ermöglichen, muss die Mapping-Datei bearbeitet werden um darin in der Zeile des betroffenen Benutzers (line 6) einen gültigen IServ Account in der Spalte 3 (Zielkonto) zu hinterlegen.
Dieser Vorgang wird nun wiederholt, bis --check keine Fehlermeldung mehr anzeigt, anschließend kann mittels des Parameters --patch die Korrektur überführt werden.
Hinweis
Bei Unklarheiten existiert im Backup-Pfad (/mnt/ld-kopano-stores/) eine zusätzliche YAML-Datei kopano.userlist.yaml, welche ausführliche Informationen zu den LogoDIDACT Benutzerkonten beinhaltet. Diese Datei muss nicht bearbeitet werden, sie dient ausschließlich dem Heranziehen zusätzlicher Informationen.
Sind alle Namen korrekt, wird der Modus --patch verwendet, um die Importkonfigurationen anzupassen:
Betroffene Dateien im Backupverzeichnis /mnt/ld-kopano-stores/:
- offlineimap.iserv.mailboxes.importlist.config – wird für den IMAP-Mailimport verwendet.
- vdirsyncer.iserv.calendars.importlist.config – wird für den Kalenderimport per CalDAV verwendet.
6. Import der Postfächer mittels offlineimap
Hinweis
Vor diesem Schritt muss das Mapping ohne Fehler durchgelaufen sein, damit alle Postfächer den ursprünglichen Nutzern zurückgespielt werden können!
Der Import benötigt (abhängig von der Postfachgröße) wieder einiges an Zeit, deswegen empfiehlt sich auch hier der Einsatz einer Screen-Session.
- Datei offlineimap.iserv.importlist.config im Texteditor bearbeiten
- Im oberen Abschnitt [DEFAULT] die beiden Platzhalter mit den Zugangsdaten des ISERVADMINUSER austauschen (Benutzername + Kennwort).
- In diesem Abschnitt [DEFAULT] ebenso den dritten Platzhalter ISERVHOSTNAME durch den tatsächlichen Wert ersetzen.
| IServ | |
|---|---|
- Mailbox-Import startet, parallel für die Anzahl an Postfächern wie im Parameter
maxsyncaccountsdes ConfigFile angegeben
Der Vorgang kann beliebig oft wiederholt werden, sollten beim Import vereinzelte Fehler auftreten. Mittels des Parameters -a unter Angabe eines Accountnamens, wird nur das genannte Postfach synchronisiert.
7. Abschlussarbeiten nach dem Import
Nach dem Durchlaufen des Importskriptes, ist der Import abgeschlossen - zur Kontrolle kann man die Logdatei /~/ld-kopano-mailimport/offlineimap.iserv.mailboxes.import.log sichten. Hier findet man folgende Information:
- Finished Account (username) in xx:xx (Zeitangabe in Min)
7.1 Zurücksetzen (ACL-Reset) nach dem Import
Hinweis
Nach Abschluss der Arbeiten sind die Berechtigungen wieder auf die IMAP-Ordner der Benutzer zurückzusetzen, also den Zugriff des Administrators entfernen.
| IServ | |
|---|---|
Abschließend noch die Cyrus Konfigurationsdatei zurücksetzen:
| IServ | |
|---|---|
8. Importieren der Kalenderdaten
Die nachfolgenden Schritte beschreiben den Import der Kalenderdaten in die IServ Schulplattform.
8.1 Einbinden der Backup-Festplatte und Erstellen des Arbeitsordners
Hinweis
Dieser Schritt kann übersprungen werden, wenn dieser Dokumentation chronolisch gefolgt wurde.
(Label/Pfad zur Backup-Partition ggf. anpassen)
| IServ | |
|---|---|
8.2 Temporären DAViCal-Admin festlegen
Um den Zugriff auf die Kalenderdaten der Benutzer zu erhalten, müssen einem definierten Administrator temporär die Berechtigungen zugewiesen werden. Durch die nachfolgenden Befehle werden zwei Datensätze in der DAViCal Datenbank hinzugefügt, wodurch der enstprechende Nutzer die Admin-Berechtigungen und somit Zugriff auf die übrigen User-Kalender erhält.
Hinweis
Den Platzhalter ISERVADMINUSER durch den vorgesehenen Benutzernamen im zweiten Kommando ersetzen.**
| IServ | |
|---|---|
8.3 Identitätsabgleich
Hinweis
Dieser Abschnitt entspricht ebenfalls dem unter 5.3 beschriebenen Identitätsabgleich, mit dem Unterschied, dass hier --patch=calendars ausgeführt werden muss.
Im eingehängten Pfad /mnt/ld-kopano-stores/ befindet sich die Datei kopano.userlist.csv mit drei Spalten:
- Kopano-Benutzername (LogoDIDACT),
- Linux-Accountname (LogoDIDACT),
- IServ-Benutzername (Zielkonto).
Wir gehen im Weiteren davon aus das die IServ-Benutzernamen dem Schema vorname.nachname entsprechen. Bei Abweichungen (Lehrerkürzel, sehr lange Namen etc.) muss die Datei angepasst werden.

Mittels des Skriptes ld-iserv-usermapping.sh kann nun die Mapping-Datei kopano.userlist.csv verarbeitet/angepasst werden.
Wichtig
Es empfiehlt sich den Modus --check unter Angabe der CSV-Mappingdatei /mnt/ld-kopano-stores/kopano.userlist.csv. einmal auszuführen, dabei prüft das Skript ob alle IServ-Benutzernamen (aus Spalte 3) bereits angelegt sind. Sollten Benutzer fehlen, gibt das Skript einen Fehler aus und listet die Zeile des fehlenden Benutzers auf.

8.4 Beispielausgabe nach Fehlermeldung
Das nachfolgende Bild zeigt, dass der Nutzer "tte" nicht gefunden werden konnte. Es handelt sich möglicherweise um ein Lehrerkonto, welches in LogoDIDACT mittels Lehrerkürzel als Accountnamen importiert wurde und innerhalb der IServ Schulplattform unter dem Schema Vorname.Nachname angelegt wurde:

Um nun die Datenmigration zu ermöglichen, muss die Mapping-Datei bearbeitet werden um darin in der Zeile des betroffenen Benutzers (line 6) einen gültigen IServ Account in der Spalte 3 (Zielkonto) zu hinterlegen.
Dieser Vorgang wird nun wiederholt, bis --check keine Fehlermeldung mehr anzeigt, anschließend kann mittels des Parameters --patch=calendars die Korrektur überführt werden.
Hinweis
Bei Unklarheiten existiert im Backup-Pfad (/mnt/ld-kopano-stores/) eine zusätzliche YAML-Datei kopano.userlist.yaml, welche ausführliche Informationen zu den LogoDIDACT Benutzerkonten beinhaltet. Diese Datei muss nicht bearbeitet werden, sie dient ausschließlich dem Heranziehen zusätzlicher Informationen.
Sind alle Namen korrekt, wird der Modus --patch verwendet, um die Importkonfigurationen anzupassen:**
Betroffene Dateien im Backupverzeichnis /mnt/ld-kopano-stores/:
- offlineimap.iserv.mailboxes.importlist.config – wird für den IMAP-Mailimport verwendet.
- vdirsyncer.iserv.calendars.importlist.config – wird für den Kalenderimport per CalDAV verwendet.
8.5 Kalenderimport mit vdirsyncer starten
Nun kann der finale Export der Kalenderdaten mittels des Tools vdirsyncer erfolgen:
Hinweis
Auch dieses Tool kann mehrfach ausgeführt werden, um Kalenderinhalte für IServ-Konten zu importieren. Mit dem optionalen Parameter -vdebug können im Bedarfsfall Informationen zu den CalDAV Request eingesehen werden.
In der Logdatei ~/ld-kopano-mailimport/vdirsyncer.iserv.calendars.import.log können die Kalenderimport-Aktionen auch nachträglich noch eingesehen und ausgewertet werden.
8.6 Zurücksetzen der Berechtigungen
Nun ist der Import abgeschlossen und die DAViCal-Berechtigungen müssen dem jeweiligen Nutzer wieder entzogen werden. Hierzu müssen die in 1.2 hinzugefügten Privilegien in umgekehrter Reihenfolge wieder aus der Datenbank entzogen werden.
Hinweis
Den Platzhalter ISERVADMINUSER durch den vorgesehenen Benutzernamen im zweiten Kommando ersetzen.