Umzug

 

Der Umzug der bestehenden Website netzalben.de konnte nur in kleinen Schritten abgearbeitet werden. Dazu wurde zunächst in einer Subdomain eine Kopie der bestehenden WordPress-Installation angelegt. Die Idee war, in Joomla! durch die Funktion Weiterleitungen den Aufruf eines nicht vorhandenen Beitrags auf die WordPress-Kopie so umzuleiten, dass man davon im aufrufenden Browser nichts merkt. Wenn ich mich recht entsinne, zeigte sich dadurch aber die geänderte URL in der Adresszeile. Das war nicht im Sinne des Erfinders.

 Parallelbetrieb

Bei genauerem Hinsehen stellt man fest, dass es in den beiden Systemen genau 3 Dateien gleichen Namens gibt, wobei die Lizenzdatei sich zwar bei den Großbuchstaben unterscheidet, das Datei-Übertragungsprogramm FileZilla das aber ignoriert.

Die neue Idee war also, beide Systeme im selben Ordner zu installieren und die Dateien .htaccess und index.php so zu editieren, dass je nach Anfrage das System gestartet wird, das sie beantworten kann. In index.php ist dazu eine Liste von URLs nötig, auf die Joomla! antwortet, wenn sich der angefragte Beitrag darin befindet. Findet ein kleines Script die angeforderte URL nicht in dieser Liste, wird zu WordPress verzweigt. Auf diese Weise lassen sich die Beiträge sukzessive umstellen.

Das funktioniert im Prinzip auch – bis eins der Systeme ein Update bekommt. Dann wird index.php überschrieben. Als ich das zum ersten Mal merkte, konnte ich die gemischte Version relativ schnell wiederherstellen. Ab diesem Zeitpunkt habe ich nach jeder Änderung sofort eine Backup-Datei erstellt. Bei WordPress versuchte ich leider vergeblich, automatische Update zu unterbinden. Daher bekam ich die fehlende Erreichbarkeit dort gespeicherter Beiträge immer nur mit Verzögerung mit. Bei Joomla! musste das Update manuell gestartet werden. Hier konnte die Reparatur unverzüglich erfolgen.

Langfristig ist eine solche Vorgehensweise nicht tragbar, aber zumindest, bis die Umstellung vollständig ist, ein gangbarer Weg.

 Blog und Kategorie

Da man bei Joomla! einen Beitrag nur aufrufen kann, wenn es einen Menüpunkt dazu gibt, stellt sich bei einer Umstellung der Site natürlich die Frage, ob das jetzt Beitrag für Beitrag nötig ist. In WordPress sind Beiträge ja eher Blog-Artikel, während Seiten für permanent aktualisierte Inhalte stehen. Während man wahrscheinlich für umgestellte Seiten tatsächlich jeweils einen eigenen Menüpunkt anlegt, möchte man die Blog-Artikel über einen gemeinsamen Einstieg erreichen.

Das Gute ist, dass man beim Anlegen eines Menüpunktes unter dem Menüeintragstyp auch die Auswahl Kategorie findet, einmal als Blog und einmal als Liste. Ein Beitrag, den man für eine sichtbare Kategorie veröffentlicht, ist seinerseits auch direkt sichtbar. Das spart also Arbeit. Bei Joomla! funktioniert das intern so, dass zunächst geprüft wird, ob zu einem aufgerufenen Beitrag ein Menüpunkt existiert. Ansonsten nimmt Joomla! an, dass vor dem Beitrag in der URL die Kategorie steht.

Hatte man in WordPress die Kategorie der Artikel bereits in der URL, wird man das in Joomla! genauso nachbilden. Für die anderen Beiträge sollte jetzt eine Kategorie für WordPress-Beiträge eingerichtet werden. Wenn diese nicht in der URL erscheinen soll, benötigt man ein Plugin, das die internen Verknüpfungen anhand der Datenbankinhalte herstellt, bevor die weitere interne Verarbeitung erfolgen kann. Für netzalben.de wurde ein solches Plugin erstellt. Bei Interesse werde ich später einen Beitrag dazu schreiben.

Wenn man in der globalen Konfiguration bei den Beiträgen im 3. Register: Kategorie den Kategorietitel auf Verbergen gestellt hatte, lässt sich das beim Menüpunkt im 2. Register: Kategorie mit Kategorietitel Anzeigen überschreiben. Vielleicht möchte man, dass der Name der Kategorie im Breadcrumb-Menü auftaucht.

 Methode1: Übertragen

Wie stellt man nun einen Beitrag von WordPress auf Joomla! um? Die erste Variante wurde bereits am Beispiel des Beitrags Turmbesteigung Aachener Dom vorgeführt. Dabei müssen alle Inhalte von WordPress nach Joomla! kopiert werden. Man kann dabei den Beitrag noch einmal vollständig überarbeiten und hat die volle Kontrolle über das Design.

Nachdem der Beitrag vollständig in Joomla! übernommen ist, wird er in WordPress gelöscht. Wenn WordPress keine Beiträge mehr enthält, kann es gelöscht werden.

 Methode 2: iFrame

Bei dieser und der nächsten Variante ist eine parallele Installation von WordPress in einer Subdomain nötig, im Prinzip, wie eingangs erwähnt.

In Joomla! muss man zunächst ein Wrapper Site-Modul anlegen. Dazu geht man im linken Menü auf InhaltSite Module, betätigt auf der sich öffnenden Seite die Schaltfläche Neu und wählt Wrapper.

In der sich öffnenden Seite gibt man den Titel und die URL des WordPress-Beitrags ein und ändert die Vorgabe der Höhe auf 100%. Als Position wählt man in der Liste rechts oben einen Wert, der im eigenen Template nicht vorkommt. Nach Speichern & Schließen merkt man sich die ID (s. Liste rechts unten, z.B. 113) des neuen Moduls und erstellt in Joomla! den gleichnamigen Beitrag. Dessen einziger Inhalt lautet: . Dies führt dazu, dass die oben eingegebene URL in einem iFrame auf der Seite dargestellt wird.

Einen kleinen Schönheitsfehler gibt es noch: die gesamte Seite wird im iFrame gezeigt, nicht nur der eigentliche Inhalt. Als Abhilfe ändert man in WordPress das Template des Beitrags innerhalb der Themes auf eine leere Seite. Auf Tablets und Smartphones sieht es jetzt so aus, als käme der Beitrag aus Joomla, auf dem Desktop sieht man 2 Scrollbalken, einen für die Seite und einen für den Rahmen. An der unterschiedlichen Formatierung ändert sich nichts, darauf haben wird jetzt keinen Einfluss mehr.

Sinnvoll ist diese Variante in einem Artikel wie Lightbox in WordPress 6.4, in der das Verhalten von WordPress sonst nachprogrammiert werden müsste. In großem Umfang wird man diese Art der Umstellung nicht bevorzugen. Wenn es dennoch eine größere Anzahl Beiträge sein sollte, könnte man versuchen das Mengenproblem durch direkte Eingriffe in die Datenbank zu lösen.

  Methode 3: Modul zum Auslesen aus WordPress

Wie der TinyMCE ist auch der Blockeditor Gutenberg in WordPress ein Javascript-Paket. Dieses führt seine Interaktionen mit dem System über ein REST API aus. Darin sehen die Anfragen wie URLs aus. Man kann so den Inhalte der WordPress-Datenbank zu einem Beitrag abfragen. Statt die Server-Antwort direkt in den Browser auszugeben, lassen sich durch Scripte noch Veränderungen vornehmen.

Für netzalben.de wurde ein Modul entwickelt, das aus der WordPress-Installation den Inhalt des Beitrags ausliest, der den gleichen Permalink wie die aktuelle Seite hat, und ihn mit dem aktuellen Template stylt. Im Umkehrschluss heißt das, dass man bei Umstieg von WordPress auf Joomla! für jeden Beitrag ein Pendant anlegen muss, das die alte Version aufruft. Bei einer größeren Anzahl an Beiträgen wird man das automatisieren können.

Wendet man das Modul bei einer klassischen Site an, dürfte der nachträgliche Formatierungsaufwand selbst bei mehreren hundert Beiträgen überschaubar bleiben. Im wesentlichen müssen eigene Styles ergänzt werden, wenn Inhalte bereits mit dem Blockeditor erstellt wurden.

Wie beim iFrame beinhaltet der Joomla!-Beitrag nur den Modulaufruf. Der Unterschied ist, dass alle Beiträge dieselbe Modul-ID benutzen können. Bei Interesse wird es auch zu diesem Modul einen späteren Beitrag geben.

 Ausblick

Während der praktischen Anwendung der beiden Systeme wurde festgestellt, dass WordPress durch den Block-Editor und die dabei leicht zu verändernde Struktur des Inhalts Vorteile bei der Eingabe bietet. Dagegen gelingt es mit Joomla! besser, die Ausgabe nach eigenen Vorstellungen zu gestalten.

Es stellt sich daher die Frage, ob es Sinn macht, Methode 3 soweit auszubauen, dass man eine Installation mit beiden Systemen verwendet, in der die jeweiligen Stärken genutzt werden. Wenn dazu einmal Erkenntnisse vorliegen, wird es einen entsprechenden Artikel geben.

Du kannst hier eine Nachricht hinterlassen