Seite auswählen

WordPress LogoMittlerweile habe ich es geschafft und alle meine alten WordPress Artikel in mein neues Blogmittel Drupal importiert. Nun will ich meinen ausstehenden Erfahrungsbericht nachreichen, der vielleicht anderen Wechselwilligen hilfreich sein könnte.

Drupal LogoIch bin „professioneller Laie“ und daher kein PHP-MySQL-Javascript Junkie, der sich schnell mal ein eigenes Script für solche Angelegenheiten basteln kann. Zunächst hatte ich ein wenig recherchiert, ob es bereits Hinweise oder Anleitungen für den Import von WordPress Artikeln in Drupal gibt. Dabei bin ich nur bedingt fündig geworden. D.h. wenn Du nur sehr wenig Ahnung oder Erfahrung im Umgang mit Datenbanken, Administrationstools, lokalen Serven, etc. und der englischen Sprache hast, wird Dir das Konvertieren Deiner alten WordPress Beiträge nach dem jetztigen Stand der Dinge nicht besonders leicht fallen (vielleicht ändert sich das ja in absehbarer Zukunft)!

Lösungsmöglichkeiten für den Import von WordPressinhalten

Von Haus aus bringt Drupal leider keine Importfunktion mit. Das entspricht allerdings auch nicht dem Drupalkonzept das Grundsystem möglichst schlank zu halten und alle weiteren Funktionen durch Module zu realisieren. OK, hauseigener Importer = Fehlanzeige, aber bevor ich auf kreative Versuche wie Nodes aus einem Feed zu erzeugen oder andere abenteuerliche Ideen zurückgreife, hoffte ich darauf, dass es anderweitige Lösungen gibt.

Zwei einigermaßen brauchbare Möglichkeiten habe ich gefunden:

  1. das Conversion Programm und
  2. das wp2drupal Modul

Sicher ist sicher ist sicher

Gleichgültig ob man sich für eine der beiden Varianten entscheidet oder ganz eigene Wege geht:

Egal was Du tust, erstelle in jedem Fall vorher ein Backup der beiden betroffenen Datenbanken. Ein ausgezeichnetes Backup- und Restoretool, insbesondere für die in der Regel laufzeitbeschränkten Hostingangebote, ist der MySQLdumper. Falls Du noch keinen lokalen Server (WAMP, LAMP) installiert hast, besorgst und installierst Du Dir beispielsweise XAMPP, um alle Konvertierungsvorgänge an einer Kopie Deiner Systeme in einer gesicherten Umgebung durchführen zu können.

Außerdem kannst Du so lokal feststellen, ob sich Dein Datenbankbackup überhaupt funktionsfähig wiederherstellen lässt. Denn eigentlich kann man ein Backup erst dann ein Backup nennen, wenn die problemfreie Wiederherstellung sichergestellt ist (ich spreche da aus leidvoller Erfahrung). Einige weitere beachtenswerten Dinge in Bezug auf die lokale Serverinstallation werde ich später veröffentlichen. Ich gehe im weiteren davon aus, dass Du beide Systeme mit den dazugehörigen Datenbanken lokal installiert hast.

Das Conversion Programm

Als erstes habe ich das „Conversion Program“ ausprobiert. Ich zitiere mich hier einfach mal selbst:

Während meiner Nachforschungen bin ich auf eine weitere Möglichkeit aufmerksam geworden: ein Desktop „conversion program“, dass in einer Windows-, Linux- und Macvariante angeboten wird. Dabei ist nicht nur ein Import von WordPress, sondern auch von dem Blogsystem b2evolution möglich. Die Programmvarianten lassen sich hier herunterladen und es gibt einen ausführlichen User’s Guide. Leider funktioniert die derzeitige Version nicht mit der im Moment aktuellen Version 2.3 von WordPress. Aufgrund einiger mißlicher Umstände, hat sich der Autor entschieden die zukünftigen Versionen des Programms in einer neuen Programmiersprache zu entwickeln. Da er diese erst erlernen muss, kann es noch eine Weile dauern. Es gibt glücklicherweise einen Hinweis, wie man ein Downgrade von WordPress 2.3 auf 2.2 bewerkstelligen kann, so dass dann die Kovertierung mit dem Programm durchführbar ist: Have WordPress 2.3+? Never fear, you can downgrade easily!

Die Desktop-Variante ist besonders interessant für sehr umfangreiche Datenbanken, da Module, die online arbeiten, immer Gefahr laufen durch eine zu lange Laufzeit ein Timeout zu provozieren.

Um es kurz zu machen: ich konnte nach dem Überwinden einiger Hürden (Downgrade von WordPress von Version 2.3 auf 2.2) mit dem Programm nur einen Teilerfolg verbuchen.

wordpress drupal converter 1Der Importvorgang lief zunächst zügig und glatt ab. Leider enthielten die Beitragstitel statt der verwendeten Sonderzeichen die entsprechenden HTML-Entitäten („& # 3 3 ;“ ohne Leerzeichen). Ich denke das wäre noch verschmerzbar und durch ein paar Suchen und Ersetztenaktionen in der Datenbank auch lösbar gewesen, wenn nicht die Artikeltexte jeweils nur bis zum Auftauchen des ersten Sonderzeichens importiert worden wären.

Damit ist das Conversion Program in der derzeitigen Variante für deutsche Beitragsinhalte unbrauchbar. Allerdings arbeitet der Autor hart, um eine neue Verison in einer anderer Programmiersprache zu erstellen. Ich habe ihn über das Problem informiert und er will sich sobald er kann des Sache annehmen, so dass ggf. in einigen Wochen oder Monaten eine funktionierende Version zur Verfügung steht. Das Programm bietet ein paar nette Optionen. So lässt sich einstellen in welchem Nodetype die Artikel importiert werden sollen und auch die Anzahl der pro Durchgang zu konvertierenden Inhalte lässt sich limitieren. Es gibt leider keine Möglichkeiten um die Artikelautoren zu beeinflussen, um z.B. die Artikel einem bestehendem Drupalbenutzer zuzuordnen.

Das wp2drupal Modul

wordpress drupal modul 1Hiermit ist mir dann der Import gelungen. Wichtig ist, die für Drupal 5.x gepatchte Version zu verwenden. Nach der Installation erschien das Modul merkwürdigerweise nicht direkt unter den Administrationsmenüs. Sondern musste erst über eine entsprechende URL aufgerufen werden (deineseite.de/admin/wp2drupal). Erstaunlicherweise wird das Menü aber anstandlos im Admin Menu Modul angezeigt.

Nach ein paar Vorinformationen trägt man die entsprechenden Zugangsdaten zur WordPressdatenbank ein. Anschließend bietet das Modul einige sehr nette Konvertierungsoptionen an:

  • Es lässt sich genau definieren wie die WordPress-Autoren der alten Beiträge auf bestehende Drupal Nutzer gemappt werden sollen.
  • Es kann eine Kategorie (Taxonomie) ausgewählt werden in die die WordPress-Kategorien importiert werden oder auch eine neue angelegt werden.
  • Es kann gewählt werden in welchen Nodetyp die Artikel importiert werden sollen. Dabei kann ein abweichender Nodetyp für die statischen WordPress Seiten (Pages) angegeben werden.
  • Der zu nutzende Eingabefilter kann ausgewählt werden.
  • Man kann entscheiden, ob Trackbacks übernommen werden sollen oder nicht.
  • Es lassen sich automatische Umleitungen von den alten zu den neuen URL’s anlegen, wenn das Path Redirect Modul installiert ist. Dabei gibt es zusätzliche Optionen.
  • Es gibt für Profis die Möglichkeit auf jeden Inhalt eigene selbstdefinierte PHP Anweisungen durchzuführen.

Insgesamt ist die Funktionalität des Moduls wesentlich umfangreicher als die des „Conversion Programs„.

Nach Start des Konvertierungsvorganges importierte das Modul meine alten WordPressbeiträge, -kommentare und -trackbacks anstandlos in die Kopie (sicher ist sicher) meiner neuen Drupalinstallation. Ein paar Kleinigkeiten blieben übrig. Auch bei dieser Methode wurden Sonderzeichen in den Artikeltiteln als HTML-Entitäten dargestellt. Und so lange man keine relativen Links für in den Artikeln eingebundene Bilder verwendet, so werden diese noch vom ursprünglichen Verzeichnis geladen. Wer seinen Blog nach der Umstellung unter derselben Adresse betreibt ist fein raus. Alle anderen müssen hier Hand anlegen oder sich an ein paar Suchen und Ersetzten Aktionen in der Datenbank herantrauen. Für Einsteiger ist in diesem Fall der Artikel „Suchen und Ersetzen in MySQL-Datenbanken“ sehr empfehlenswert.

Fazit

Insgesamt gefällt mir das Modul sehr gut und ich hoffe, das es wieder aktiv weiterentwickelt wird und letztendlich vielleicht zu dem Importmodul schlechthin wird. Ich denke das würde Drupal sehr gut tun, wenn hier die Migrationshürde tiefer gelegt wird.