Migration von Mediawiki nach Nextcloud im Markdown-Format

Mediawiki ist sehr gut nutzbar für die gemeinsame, webbasierte Entwicklung und Verwaltung von Wissen. Arbeitet man jedoch Datei-orientiert, im Markdown-Format und das mit einer Nextcloud-Installation, möchte man vielleicht die bisherige Mediawiki-Installation migrieren. Das ist mit überschaubaren Aufwand möglich:

Export aus dem Mediawiki

  • SPEZIALSEITEN / ALLE SEITEN -> ggf. Haken setzen bei "Weiterleitungen ausblenden", dann gewünschten Seiten kopieren, ggf. im Texteditor sammeln. Je Zeile ein Seitenname (Leerzeichen vorne sind egal)
  • SPEZIALSEITEN / SEITEN EXPORTIEREN -> Seitennamen reinkopieren, Haken setzen bei "Nur die aktuelle Version .." und "Als XML Datei speichern". Exportieren

Tempäre Arbeitsumgebung erstellen

  • z.B. eine virtuelle Maschine (VM) mit Qubes oder Virtualbox erstellen
  • als root in dieser dann folgende Pakete installieren: apt-get install php php-xml curl
  • als user dann einen Arbeitsordner erstellen und die exportiere XML-Datei dahin kopieren

Konventieren von XML nach Markdown

  • in den Arbeitsordner gehen
  • Aufrufen der Seite https://github.com/philipashlock/mediawiki-to-markdown
    • die dortigen Dateien composer.json und convert.php herunterladen in den Arbeitsordner
    • curl -sS https://getcomposer.org/installer | php
    • php composer.phar install
  • php convert.php --filename=mediawiki.xml --output=export --format=markdown_strict

Als Format habe ich markdown_strict genommen, da hier bei den Überschriften keine Links eingebaut werden im Markdown. Pandoc kann verschiedene markdown-Formate

Auf der Konsole kann man sich die Fäigkeiten der Formate anzeigen lassen: pandoc --list-extension=markdown_strict | grep +

Probleme

  • Level 1 im Wikipedia wird nicht übertragen als erste Überschriftsebene -> Habe ich keine Lösung gefunden, mir aber auch egal.
  • Error Code 65 war bei mir die Hauptseite, wo die Konvertierung abgebrochen worden ist -> Entweder manuell in der XML die Page entfernen oder bei der XML-Erstellung nicht mit exportieren.
  • Kategorie-Angaben werden übernommen und verlinkt, was jedoch ja nicht funktioniert -> Habe ich keine Lösung gefunden, mir aber auch egal.

Hochladen in die Nextcloud

  • Hochladen, vlt. in einen separaten Ordner.
  • Prüfen der Dateien in der Nextcloud
  • Löschen der VM
  • Fertig