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:

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:

Nachteile:

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:

Nachteile:

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:

wikisync.bat
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:

Nachteile:

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 SystemsteuerungVerwaltungAufgabenplanung.

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.