Die Synchronisation von zwei Wikis ist nützlich, wenn ein Wiki gespiegelt oder ein Backup angelegt werden soll. Außerdem hilft es dem Benutzer, eine Version des Wikis auf seinen mobilen Geräten zu nutzen, ohne dass er mit dem Internet verbunden ist.

Inhaltsverzeichnis

Ziel

Benutzung

Konfiguration

Einige Regeln

Ziel

Teilweise oder vollständige Synchronisation zweier Wikis, so dass beide den gleichen Inhalt (aber nicht notwendigerweise die gleiche Historie) haben. Hierbei werden Konflikte vermieden und das automatische Zusammenführen unterstützt. Eine bidirektionale Verbindung zwischen den beiden Wikis ist nicht nötig; nur eine Seite muss Zugriff auf das andere Wiki mittels HTTP haben.

Benutzung

Als erstes muss das entfernte Wiki mit einem InterWiki-Namen registriert werden. Hierzu kann entweder die Seite InterWikiMap oder die Datei intermap.txt (siehe HilfeZurKonfiguration) editiert werden.

Dann muss eine "Jobseite" erstellt werden, die alle Einstellungen zur geplanten Synchronisation enthält. Auf dieser Seite werden auch alle Meldungen abgelegt. Weiter unten sind die erlaubten Parameter für diese Seite beschrieben, welche im Dictionary-Format (siehe HelpOnDictionaries) angegeben werden müssen. Im Allgemeinen ist es sinnvoll, die Vorlage SyncJobTemplate zu benutzen.

Schließlich kann die Synchronisation mittels eines Klicks auf SyncPages aus dem Drop-Down-Menü oder von der Wikiseite gestartet werden.

Konfiguration

(!) In der Konfiguration des entfernten Wiki's muss der Parameter actions_excluded überprüft werden. Der Default-Wert (siehe MoinMoin/config/multiconfig.py) verbietet einige Aktionen, auch 'xmlrpc' (dieser Default-Wert wurde gewählt, damit nicht automatisch Lese- und Schreiboperationen durch xmlrpc auf das Wiki möglich sind, es sei denn, es ist explizit erwünscht.) Um xmlrpc zuzulassen (wikisync basiert auf xmlrpc, es funktioniert nicht, wenn es nicht erlaubt wird), muss 'xmlrpc' aus der Ausschlußliste entfernt werden.

(!) Es ist sinnvoll das Wiki mit ACL-Regeln zu versehen, um es vor unerwünschten Zugriffen zu schützen.

Außer remoteWiki sind alle Parameter optional.

remoteWiki

InterWiki-moniker/-Name des entfernten Wikis. Wichtig ist, dass dieser mit dem InterWiki-Namen übereinstimmt, der im entfernten Wiki konfiguriert wurde. Ansonsten wird eine Fehlermeldung angezeigt.

remotePrefix

Wird vor den Seitennamen des entfernten Wikis gehängt, wenn nach Seiten gesucht wird oder diese gesendet werden. Wenn z. B. die eigenen Seiten unter einer Überseite im entfernten Wiki eingeblendet werden sollen, ist dieser Parameter sinnvoll.

localPrefix

Wird vor den Seitennamen des lokalen Wikis gehängt, wenn nach Seiten gesucht wird oder diese verändert werden. Wenn z. B. die entfernten Seiten unter einer Überseite im eigenen Wiki eingeblendet werden sollen, ist dieser Parameter sinnvoll.

pageMatch

Wenn dieser Parameter definiert wurde, werden nur Seiten übertragen, auf die der Parameter als regulärer Ausdruck anwendbar ist.

pageList

Wenn dieser Parameter definiert wurde, werden nur die angegebenen Seiten (getrennt mit Kommata) übertragen. In dem Fall wird kein Matching benutzt.

groupList

Wenn dieser Parameter definiert wurde, werden nur die von den angegebenen Gruppen (getrennt mit Kommata) referenzierten Seiten übertragen. In dem Fall wird weder Matching noch die pageList benutzt benutzt. Die Gruppen werden nicht rekursiv ausgewertet.

direction

Entweder Down oder Both (die Groß-/Kleinschreibung wird nicht beachtet). Bei Down werden lokale Änderungen nicht in das entfernte Wiki übertragen. Down ist im Allgemeinen langsamer.

user

Benutzername, der zur Authentifizierung im entfernten Wiki genutzt wird.

password

Das Passwort, das zusammen mit user genutzt wird. /!\ Geben Sie das Passwort nicht auf der Wikiseite an, wenn Sie nicht sicherstellen können, dass nur Sie die Seite lesen können. Falls Sie es nicht angeben, wird Sie MoinMoin nach dem Passwort fragen.

Einige Regeln

Wie oben beschrieben, wird keine Historie sondern nur die Differenz des Seiteninhaltes übertragen. Somit tauchen auch keine Kommentare oder Autornamen auf.

Es ist möglich, die Synchronisation auf beiden Seiten zu starten.

Seiten mit Konflikten werden nicht synchronisiert, bis der Konflikt aufgelöst wurde.

Umbenannte Seiten können nicht synchronisiert werden (dieses Feature ist noch nicht implementiert).

Anhänge werden nicht übertragen.