IT-MÜCKE

Migration von Drupal zu Dokuwiki

29.10.2016

Die letzten Tage habe ich damit verbracht die Webseiten von IT-MÜCKE von Drupal 6 auf DokuWiki umzuziehen.

Vorarbeiten und Gedanken

  • Drupal speichert alle Beiträge in einer Datenbank
  • DokuWiki speichert alle Beiträge in Dateien
  • Ich musste also als erstes die Tabellen und Spalten in der Datenbank von Drupal lokalisieren, die meine gewünschten Infos beinhalten
  • Diese Daten musste ich exportieren und dann vielfach filtern. Als Stichworte für die nötigen Vorarbeiten:
    • Richtiger Content-Type
    • Neuste Version des jeweiligen Beitrags
    • Passendes Export-Format herausfinden
  • Drupal speichert HTML als Inhalt einer Webseite
  • Also brauchte ich Werkzeug, dass HTML in DokuWiki-Markup umwandelt: pandoc.org
  • Dokuwiki kann zwar HTML direkt anzeigen, aber das ist eine Lösung, die ich in diesem Fall nicht optimal fand

Export

  • Ich exportierte die Tabelle, die meine Seiten und Beiträge enthielt: node revsions
  • Als Zielformat wählte ich CSV for Excel, das Tool meiner Wahl war phpMyAdmin
  • Innerhalb der Tabellenkalkulation (in diesem Fall eine Mischung aus Excel und LibreOffice aus Gründen der Verfügbarkeit - es reicht auch nur eins von beiden) konnte ich die Daten so filtern, dass mir für jede Node eine Zeile mit der neusten Version übrig blieb.
  • Später generierte ich aus der selben Datei noch eine Tabelle mit Node-ID und CreationDate, damit ich je Node das Erstellungsdatum angeben konnte.
  • Ich besorgte mir zusätzliche die Tabelle mit der Verknüpfung Node-ID und ContentType, um Seiten von Blog-Beiträgen unterscheiden zu können
  • Mittels Tabellenkalkulation, Linux-Bash und vielen Stunden Arbeit erhielt ich letzten Endes für jeden Blog-Beitrag eine Datei

Import

  • Diese konnte ich mittels den oben genannten pandoc von HTML in DokuWiki-Markup umwandeln
  • Die Bilder band ich nachträglich manuell ein (ein grep {{ * lieferte mir als Hilfe nur die Dateien, die Bilder enthielten)
  • Später ging ich die Beiträge manuell durch und bereinigte interne Drupal-Links (z.B. taxonomy). Viele ersetzte ich durch Links zu entsprechenden Suchen in DokuWiki

Nacharbeiten

  • Ich muss den Code jedes Beitrags prüfen und anpassen. Code wird nicht richtig umgesetzt - mangels richtiger Umsetzung damals in Drupal meinerseits.
  • Ich bin schließlich jeden Beitrag einzeln manuell durchgegangen und habe ihn geprüft, ob alles passt
  • Es waren noch einige Nacharbeiten notwendig, ein Teil ließ sich automatsieren (z.B. mittels sed, siehe auch Blog-Artikel „sed: Teile von Mustern ersetzen“)

Abschlussgedanken

  • Der Umzug war einfacher, als erwartet und ließ sich recht gut über Bash-Skripte automatisieren
  • Es blieb dennoch viel Handarbeit übrig
  • Ich hatte anfangs die Bedenken alle Bloginhalte zu verlieren, weil ein Export über Drupal selbst nicht möglich war.
  • Aber dank der Basteleien ging es am Ende doch recht gut. Würde ich wieder so machen ;o)

zurück

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information