Erster! – Die Namics Blogs neu auf WordPress. Das technische Gedöns.

Die fünf Namics Blogs wurden in den letzten Wochen von Movable Type auf WordPress migriert. Die grösste Herausforderung des Projektes war die vollständige Datenübernahme aus dem etwas in die Jahre gekommenen Movable Type System. Bei mehr als 2’000 Posts wäre eine manuelle Nachbearbeitung im grossen Stil schlicht nicht tragbar gewesen. Wichtig war uns auch eine wartbare technologische Plattform, sowie die Integration unseres Frontend Frameworks Terrific. Der nachfolgende Artikel für Technik-Interessierte beschreibt einige Eckpunkte und technische Details des Projektes.

Datenmigration

Der erste Schritt im Projekt war die Übernahme der Artikel aus den bestehenden Blogs. Die Daten lagen alle mehr oder weniger strukturiert in einer Movable Type Installation. Es gibt sogar einen offiziellen Importer für WordPress. Dieser kann Exports aus Movable Type einlesen. Er deckt lediglich den Import von Posts und Kommentaren ab. Auf der Strecke bleiben Benutzer, Bilder, Dateien, die Aktualisierung von URLs in Artikeln, etc. Hier musste eine bessere Lösung her.

Movable Type Backup Importer für WordPress

Was WordPress aber bietet, ist ein schönes Framework für neue Importer. So habe ich mich entschieden einen neuen Importer mit erweitertem Funktionsumfang zu erstellen. Wichtig war mir dabei, den Migrationsvorgang eines Blogs so schlank wie nur möglich zu halten. Das erleichtert vorallem das Testen ungemein. Movable Type bietet einen Export (TXT) an, der aber lediglich die oben erwähnten Posts und Kommentare enthält. Viele andere Objekte, sowie statische Ressourcen wie Bilder oder Dateien werden nicht mit exportiert, diese müssten manuell kopiert werden. Glücklicherweise bietet Movable Type eine Backupfunktion. Diese schreibt die gesamten Daten des Blogs in XML Dateien (gesplittet als 2MB chunks oder als grosse Datei) in das Dateisystem, zusammen mit allen (im System erfassten) Bildern und Dateien.

Der Importer bedient sich diesen Dateien und erreicht damit eine nahezu komplette Übernahme der Daten, inklusive aller Assets, Tags, Kategorien, Relationen, Benutzer, etc. Fehlende Dateien, die aus einer früheren Migration nicht im System erfasst waren, erkennt der Importer und lädt diese Dateien automatisch herunter. Eine ebenfalls essentielle Funktion ist das Aktualisieren von Links oder Bildpfaden innerhalb der Posts. Der Importer arbeitet für grosse Imports die XML Dateien als Chunks ab, was zu keinen Memory-Engpässen führt. Ebenfalls ist es möglich, wie in unserem Fall, die Blogs in einem Multisite Setup zu befüllen.

Der Importer ist Open Source und kann frei unter http://www.wordpress.org/extend/plugins/movable-type-backup-importer/ heruntergeladen werden.

WordPress Setup & Plugins

Die Namics Blogs sind alle Teil einer Multisite Instanz von WordPress. Diese Funktion wurde in Version 3 eingeführt und dient der einfacheren Verwaltung eines Blognetzwerkes mit mehreren (Sub-)domains, aber nur einer WordPress Installation. Wir verwenden zurzeit nur eine kleine Anzahl an Plugins. Neben den üblichen wie Akismet oder CodeColorer, verwenden wir eine Active Directory Integration, sowie WP Super Cache zur Performanceoptimierung.

Share Buttons

Die bekannten Share Buttons für Facebook, Twitter und Google+ sind vielen Entwicklern ein Dorn im Auge, da sie bei vielen Posts enorm viele HTTP Requests generieren und so die gefühlte Performance einer Website in den Keller befördern. Abhilfe schafft Lazy Loading, indem wir die Buttons erst laden, wenn sie sichtbar werden. Dadurch minimieren wir diese Requests massiv. Leider gibt es dazu noch kein Plugin, kann aber relativ einfach mit dem JQuery Appear Plugin implementiert werden.

Lightbox

Die Bilder in neuen Posts erhalten automatisch eine Lightbox via Fancybox. Dafür habe ich den WordPress Filter image_send_to_editor verwendet um die CSS Klasse „fancybox“ auf dem Bildlink zu setzen. Ebenfalls notwendig sind dafür die Blog-Einstellungen Default Image Link („file“) und Default Image Size („medium“).

WordPress goes Terrific!

Das Theme für die Namics Blogs wurde auf Basis von Terrific erstellt. Dazu wurde eigens das Terrific Theme Framework für WordPress entwickelt, welches für Interessierte demnächst zum freien Download verfügbar ist. Der Vorteil dieses Frameworks ist die stark verbesserte Trennung von Frontend- und Backend-Code aller wichtigen Komponenten wie z.B. Postanzeige, Suchfeld, Kommentaren, Sidebarwidgets (Feeds, Flickr, Twitter, etc.) oder auch Layoutelementen wie der Wortmarke oder dem Footer. Insgesamt wurden mehr als 20 solche Module erstellt, viele davon Portierungen der Standard-Widgets von WordPress. Darunter sind aber auch einige neue, wie z.B. die Typobox oder das Twitter Modul. Dieses Framework richtet sich vorallem an Entwickler, die wartbare und sauber strukturierte WordPress Projekte umsetzen wollen.

Fazit

Insgesamt fühlte sich WordPress sehr kooperativ und stabil an. Es macht Spass mit und um WordPress herum zu entwickeln. Gerade die einfache Erweiterbarkeit, die Unmengen an guten Plugins und die aktive Community machen WordPress zu einem wirklich sehr empfehlenswerten Blogsystem. Das Zusammenspiel von Terrific und WordPress ist problemlos und bringt eine enorme Steigerung der Wartbarkeit von Themes. Gerne stehe ich für Fragen rund um das Projekt oder zu WordPress zur Verfügung.

13 Gedanken zu “Erster! – Die Namics Blogs neu auf WordPress. Das technische Gedöns.

  1. Cool! Willkommen bei den WordPressern! Und Gratulation zur erfolgreichen Migration. Ach noch einen kleinen Bugreport: Beim eingeben diese Kommentars auf meinem iPhone scheint noch irgendetwas mit Auflösung und Zeilenumbruchs zu klappen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>