Synchronisation der Wiki-Daten

Falls Sie Ihre Daten beispielsweise in einer Installation im Intranet pflegen und auf einem / mehreren ELW verwenden wollen, müssen diese Daten irgendwie synchronisiert werden. Die Wiki-Software DokuWiki, auf der das Einsatzleiterwiki basiert, verwendet keine Datenbank sondern legt alle Daten in Dateien ab, was die Synchronisation vergleichsweise einfach macht.

Grundsätzlich gilt für alle unten vorgestellten Möglichkeiten:

Um Inhalte zu übertragen, reicht es aus, die Unterverzeichnisse data/pages und data/media in eine andere Einsatzleiterwiki-Installation zu kopieren. Falls Sie eine große Anzahl von Seiten kopieren (auch nachdem Sie z.B. Namensräume umstrukturiert haben) kann es etwas dauern bis die neuen Seiten durch die Suche gefunden werden. Um die Suchdatenbank sofort komplett neu zu erstellen, können Sie das plugin searchindex verwenden.

Um sicherzustellen, dass Sie auf allen Computern immer die selbe Wiki-Version und die identischen Plugins verwenden, spricht nichts dagegen, nicht nur Ordner des data-Verzeichnisses zu kopieren/synchronisieren, sondern einfach das komplette Wiki. Dabei sollten Sie allerdings drei Verzeichnisse auslassen:

data\cache

data\locks

lib\plugins\ckgedit\fckeditor\userfiles

Falls Sie auf einem Server eine andere Konfiguration verwenden als auf dem Wiki in Ihrem ELW, weil Sie auf dem Server z.B. eine Anbindung an eine externe Benutzerdatenbank wie Active Directory oder LDAP nutzen aber die ELW-Version offline nutzen möchten, sollten Sie die Datei conf/local.php ebenfalls von der Synchronisation ausschließen und eine entsprechend angepasste conf/local.php für Ihre ELW-Version erstellen.

Folgende Möglichkeiten gibt es für die Synchronisation:

Bevor Sie anfangen mit Synchronisation zu experimentieren, fertigen Sie bitte unbedingt eine Datensicherung an!

Daten mittels USB-Stick übertragen

Kopieren Sie einfach auf Ihrem Server / Quell-System das komplette Einsatzleiterwiki auf einen USB-Stick und fügen Sie diese Daten wieder auf Ihrem Ziel-Rechner ein. Diese Variante wird von IT-Abteilungen scherzhaft auch als Turnschuh-Netzwerk bezeichnet, ist aber sehr einfach umzusetzen und eignet sich insbesondere für den Start oder eine Testphase einer Einsatzleiterwiki-Nutzung. Für die dauerhafte Nutzung wird sie aber aufgrund der genannten Nachteile nicht empfohlen.

Vorteile:

kein Einrichtungsaufwand

keine Netzwerkinfrastruktur erforderlich

Nachteile:

nicht automatisierbar, daher fraglich ob es nach einigen Monaten oder Jahren noch mit dem gleichen Engagement erledigt wird wie am Anfang. Und was passiert, wenn der zuständige Kollege spontan für längere Zeit erkrankt?

Auf die Dauer gesehen und mit den anderen Möglichkeiten verglichen relativ aufwendig

zwei Einsatzleiterwiki-Installation miteinander synchronisieren

Mittels des sync-Plugins können mehrere Wikis miteinander synchronisiert werden. In der Einsatzleiterwiki-Standardinstallation ist für das Sync-Plugin der Einsatzleiterwiki-Server im Internet eingetragen.

Sie können aber auch einfach in Ihrer ELW-Installation ein neues Synchronisationsprofil erstellen, bei dem als Gegenstelle für die Synchronisation Ihr Intranet-Server eingetragen ist.

Bitte beachten Sie: Für das Wiki welches den Server darstellt, muss in der Konfiguration der API-Zugang aktiviert werden, wie im nachfolgenden Bild zu sehen. Um die Sicherheit zu erhöhen, kann der Zugriff optional auf bestimmte Benutzer beschränkt werden.

Aktivierung API-Zugang

Vorteile:

geringer Einrichtungsaufwand

Nachteile:

Netzwerkverbindung zwischen beiden Wikis erforderlich

nicht automatisierbar (siehe oben bei USB-Stick)

Daten (unter Windows) von einem Netzlaufwerk abrufen

Der Abgleich kann auch über ein Netzlaufwerk stattfinden, auf dem die aktuelle Version des lokalen Wikis bereitgestellt wird. Über ein Batch-Skript findet die Synchronisation dann statt.

Für das Script wurden folgende Annahmen getroffen:

Auf dem lokalen Rechner liegt das Wiki-Hauptverzeichnis im Ordner C:\einsatzleiterwiki\wiki.

Im freigegebenen Netzwerkordner liegt das Verzeichnis einsatzleiterwiki, in welchem sich Ihr Wiki auf dem Server befindet.

net use Q: \\Server\einsatzleiterwiki /USER:Username pass robocopy "Q:" "C:\einsatzleiterwiki\wiki" /MIR /XD "Q:\data\cache" /XD "Q:\data\locks" /XD "Q:\lib\plugins\ckgedit\fckeditor\userfiles" net use Q: /delete

Das Script erledigt, Zeile für Zeile, folgende Aufgaben:

net use Q: \\Server\einsatzleiterwiki /USER:Username pass

Der auf dem Computer Server freigegebene Netzwerkordner einsatzleiterwiki wird als Laufwerk Q: eingehängt. Um auf den Netzwerkordner zugreifen zu dürfen ist der Benutzername Username und das Passwort pass notwendig.

robocopy "Q:" "C:\einsatzleiterwiki\wiki" /MIR /XD "Q:\data\cache" /XD "Q:\data\locks" /XD "Q:\lib\plugins\ckgedit\fckeditor\userfiles"

Das mit Windows mitgelieferte Programm Robocopy wird gestartet. Es spiegelt (/MIR) den Inhalt des Verzeichnisses Q: in das Verzeichnis C:\einsatzleiterwiki\wiki. Dabei werden die Unterverzeichnisse Q:\data\cache, Q:\data\locks und Q:\lib\plugins\ckgedit\fckeditor\userfiles übersprungen bzw. von der Synchronisation ausgeschlossen.

net use Q: /delete

Das zuvor angelegte Laufwerk Q welches auf den Netzwerkspeicherort verweist wird wieder gelöscht.

Speichern Sie das Script ab, passen Sie die Pfadangaben an (öffnen Sie das Script zur Bearbeitung mittels Rechtsklick - Bearbeiten, ein Doppelklick startet das Script!).
Ist alles bereit für den ersten Lauf der Synchronisation, können Sie das Script mittels eines Doppelklicks darauf starten.

Vorteile:

schnelle Synchronisation (dauert von Start des Scripts bis Ende nur ca. 15 Sekunden, falls nicht viele große Dateien synchronisiert werden sollen)

automatisierbar

Nachteile:

Netzwerkverbindung zwischen beiden Wikis erforderlich

Einrichtung etwas aufwendiger

Netzlaufwerk-Abruf automatisieren

Um das eben vorgestellte Skript in regelmäßigen Abständen auszuführen (z.B. täglich), bietet sich die Windows-Funktion Aufgabenplanung an. Diese erreichen Sie über Systemsteuerung → Verwaltung → Aufgabenplanung.

Alternativen für die Netzwerksynchronisation

Die Software FreeFileSync überwacht ein Netzlaufwerk dauerhaft auf Änderungen und synchronisiert unmittelbar bei neuen Dateien, ähnlich Cloud-Diensten wie Dropbox, Microsoft OneDrive, etc.
Bis jetzt wurde die Robustheit noch nicht im Langzeittest untersucht, die Software sieht allerdings vielversprechend aus. Weitere Informationen über das Programm finden Sie auch im Eintrag in der englischsprachigen Wikipedia.

Cloud-Dienste nutzen

Auch Cloud-Dienste wie Dropbox, Microsoft OneDrive, Nextcloud/Owncloud, Google Drive, etc. können zur Synchronisation genutzt werden. Hierbei gilt es allerdings zu beachten, dass im Gegensatz zu den anderen oben vorgestellten Lösungen bei der Nutzung von Cloud-Diensten in der Regel keine Ein-Weg-Synchronisation eingerichtet werden kann, d.h. bei einer Änderung auf dem ELW-Computer wird diese zurück auf den Server synchronisiert (und danach auch auf möglicherweise weitere angebundene Rechner verteilt).

Haben die Benutzer im ELW nur Leserechte oder ist es sogar gewünscht dass Änderungen vom ELW auf den Server zurück synchronisiert werden, spricht ansonsten nichts gegen den Einsatz eines Cloud-Dienstes.

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16