Joomla goes Contao: Vorüberlegungen

Wenn im Rahmen eines Re-Designs auch das CMS wechseln soll, bedarf das noch Einiges an zusätzlicher Planung, - schließlich müssen die Inhalte nicht nur umstrukturiert sondern auch umgezogen werden. Leider geht dabei vieles nicht so automatisch, wie man sich das wünschen würde. Parallel dazu muss man Komponenten des einen mit Erweiterungen des anderen Systems ersetzen - und auch hier wieder überlegen, wie man möglichst geschickt mit Inhalten umgeht, beispielsweise den Bildern oder Downloads. Nicht nur.

Ein paar strategische Überlegungen.

Vorbemerkung

Es ist grundsätzlich durchaus eine Überlegung, von Joomla auf Contao zu wechseln - das Ganze ist einfach mit Aufwand verbunden. In diesem konkreten Fall allerdings gab es einige ausschlaggebende Faktoren: Mehrsprachigkeit, Benutzerrechte sowie Suchmaschinenfreundlichkeit. Das alles in der Summe machte die Entscheidung leichter. Ich würde mit dem Umzug der Inhalte schneller sein als mit allen Installationen und Konfigurationen und würde gleichzeitig noch ein paar andere Benefits bekommen. Ein neues Layout war sowieso Teil des Auftrags und damit auch eine Umstrukturierung der Inhalte notwendig. Ohne diese beiden Aspekte hätte ich mich an dieser Stelle wahrscheinlich nicht für einen CMS Wechsel ausgesprochen.

Es gibt im Wesentlichen folgende Punkte, die vorab eingehend durchdacht sein sollten:

  • Wie mappt man Bereiche und Kategorien in die Seitenstruktur?
  • Inhalte … was geht? Was geht nicht?
  • Wie übernimmt man Joomla User? (ich rede hier von einer ganzen Menge Usern)
  • Wie werden bestehende Erweiterungen ersetzt?

Mapping: Bereiche, Kategorien und Artikel werden zu einer Seitenstruktur

Einer der ersten Shritte ist sicherlich das Mapping der Struktur, denn es erfordert ein Verständnis der beiden Systeme an sich. Contao kennt keine “Container” wie Bereiche und Kategorien, es kennt nur Seiten und Artikel. Die Planung der Seitenstruktur heraus entsteht zum einen über Joomla Menüs, zum anderen aber auch aus der Struktur von Bereichen und Kategorien.

Bereiche und Kategorien: Seitenstruktur

Für mich sind Bereiche und Kategorien im Groben den verschiendene Ebenen der Seitenstruktur: Bereiche entsprechen dabei der Eltern-Ebene, Kategorien entsprechen der darunterliegenden Kind-Ebene.  Man hat damit schon einmal die Möglichkeit geschaffen, typische Navigationsstrukturen abzubilden. Beispielsweise würde ich sofort darüber nachdenken, ehemalige Joomla Bereiche als Teil oder Ganzes einer horizontalen Navigation einzusetzen.

Seiten und Artikel: Was macht man mit dem Content?

Eine grundsätzliche Frage ist, ob ein Joomla-Beitrag auch eine einzelne Seite bekommen soll oder nicht. Das macht Sinn für Seiten, die bisher innerhalb des Joomla Systems unkategorisiert waren (dann nämlich ist es sogar unumgänglich). Es macht keinen Sinn für alle Inhalte, die bisher über Category-Blog Ansichten erreichbar waren. Diese Rolle nämlich übernimmt in Contao der Artikel-Teaser. Mehr dazu im folgenden Abschnitt.

Joomla Menüs Richtung Seitenstruktur

Interessant wird das Erweiterungs-Handling: Das nämlich funktioniert Contao-weit ebenfalls über Seiten und deren Artikel. Erweiterungen werden also nicht direkt in Menüs eingebunden (ich nenne es mal so) sondern über Module in Artikel. (Achtung: Joomla Module haben nur marginal etwas mit Contao Modulen zu tun). Jeder in Joomla über eine Komponente erstellte Menüpunkt braucht daher sein Pendant in der Seitenstruktur.

Insgesamt also: Menüs ansehen, Bereiche und Kategorien ansehen.

Inhalte und ihre Grenzen

Joomla Inhalte werden in Joomla wesentlich allgemeiner erfasst als in Contao. Contao behandelt schon den Teaser anders Joomla und kennt neben dem Textelement (im Ehesten wohl noch mit dem allgemeinen Joomla Konzept vergleichbar) eine Reihe anderer Inhaltselemente. Eine Chance,

  • seine Inhalte besser zu strukturieren
  • und/oder auch Layout-Finessen zu nutzen

Eine Grundsatzüberlegung also. Wer seine Inhalte erstmal nur schnell umziehen will und dabei nicht händisch jeden einzelnen Content “anfassen” möchte, kann sich auf jeden Fall mit den Datenbank-Tabellen behelfen und dort die Inhalte von A nach B kopieren. Was es da alles zu tun gibt, würde allerdings den Rahmen dieses Artikels sprengen - hier geht es erstmal nur um die Sammlung von ToDos und Ideen.

Ich überlege mir, dass es doch meist auf einen intellektuellen Prozess hinauslaufen wird. Denn so ein Umzug ist auch eine Chance, HTML-Altlasten zu beseitigen und mal grundsätzlich aufzuräumen. Vielleicht braucht man den ein oder anderen Text gar nicht mehr in dieser Form?

Man sollte sich außerdem folgendes überlegen: Contao hat ein meiner Meinung nach recht gelungenes Prinzip, Bilder in Artikel einzufügen, nämlich das Text-Element mit Bild. Es macht gerade weniger geübten Usern, sprich den angehenden Redakteuren, das Leben wirklich leichter. Endlich Schluss mit dem Bild-PopUp des Tiny MCE. Eine Chance, die man sich eigentlich nicht entgehen lassen sollte.

User werden zu Benutzern und Mitgliedern

Der schwierigste Part meines Erachtens, denn hier darf nichts, aber auch wirklich nichts schief laufen, sonst können sich die bisherigen User nicht mehr wie gewohnt anmelden. Problem: Contao trennt Benutzer von Mitgliedern und so gibt es auch zwei Tabellen für die Benutzer des Adminbereichs und die registrierten User des Frontends. Plus - nicht zu vergessen -  der Tabellen für Benutzer- und Mitgliedergruppen. Joomla hingegen kennt nur eine.

Glücklich kann sich schätzen, wer für Frontend Benutzer eine Joomla Erweiterung wie den Community Builder verwendet, denn der bietet die für Contao Mitglieder obligatorische Trennung von Vor- und Nachname bereits an. Ansonsten täte es für den Anfang aber auch eine Übernahme des gesamten Namens in das Nachname-Feld. Wer die Funktion des Community Builders weiter nutzen möchte, kann sich das Backend-Modul members selbst erweitern oder etwsa komfortabler und damit auch für Administratoren oder Backend-Redakteure nutzbar die Erweiterung nutzen, um die Felder des Community Builders zu klonen.

Vielleicht ist es manchem Coder nicht elegant genug: ich finde, recht übersichtlich arbeitet es sich dann im ersten Schritt doch mit Excel, indem man Joomla Tabellen aus mySQL im Excel Format exportiert und gleiches auch mit den analog zuständigen Contao Tabellen tut (in die man im Idealfall schon Demo-Datensätze eingetragen hat). Man hat damit nämlich eine prima Übersicht und kann sich vergewissern, dass auch nichts verloren geht. Insbesondere sind Excel-Tabellen aber auch kundenfreundlich, denn sie sind leicht verständlich und können auch mal zur Überprüfung weitergegeben werden.

Die Erweiterungen

Die Erweiterungen sind deshalb wichtig, weil ich schließlich die bestehende Funktionalität beibehalten und noch verbessern möchte. Vielleicht trennt sich der ein oder andere nur ungern von “seinem Joomla”, weil es die vielen Erweiterungen gibt? Eigentlich unnötig… Ein Beispiel:

Während es in Joomla beispielsweise eine Menge an Bildergalerien gibt, kommt man in Contao mit der Standard-Bildergalerie schon recht weit. Nicht außer Acht lassen sollte man für Effektvolles sicherlich die dfGallery, ein Modul, das bis TYPOlight 2.8 Teil des Cores war. Ich bin überzeugt, dass es sich lohnt, sich die Konfigurationsmöglichkeiten der dfGallery wirklich eingehend anzusehen.
Gleiches gilt für typische Community Erweiterungen wie Newsletter oder Benutzerverwaltung. Alles schon da.
Natürlich wird man nicht umhin kommen, sich Gedanken über kleine Details zu machen, gerade wenn es um “besondere Features” geht, die inzwischen mit liebevoller Gewohnheit genutzt werden.

Klar, das alles ist individuell festzumachen. Insbesondere aber sollte man sich auch Gedanken machen, wie man beispielsweise neben den Bildern (also den Medien, die ja ein recht geringes Problem darstellen) auch die Meta-Informationen umzieht, wie man die Newsletter von A nach B transportiert und wie man die ein oder andere Konfigurationshürde umschifft. Nicht alles wird sich automatisiert umziehen lassen. Es gibt auch Komponenten, bei denen man sich wirklich Gedanken über den Umzug machen wird: Kalender beispielsweise. Ich zumindest hätte keine Lust, hunderte von Events mit Anfangs- und Endzeit händisch umzuziehen.

Wer sich keinen Tabellen-Konverter schreiben möchte, kann sich das Ganze erstmal über einen Tabellenexport via Excel ansehen und sich dort einen Überblick über die bestehenden Joomla und die gewünschten Contao Inhalte verschaffen.

Fazit

Wer plant, seine Seite von Joomla nach Contao umzuziehen, nimmt sich, je nach Inhalten, einiges vor - je nach Seitengröße versteht sich. Nicht alles ist über “Tabellengeschubse” machbar, vieles ist Handarbeit, bedeutet aber auch eine deutlich verbesserte Strukturierung der Inhalte.

Die Planung der Seitenstruktur ist ein wesentlicher Punkt und steht auch bei jeder Contao Installation am Anfang.
Für die meisten (sinnvollen) Erweiterungen wird man sofort Ersatz finden. Es lohnt hierbei ein Blick in die Tabellenstrukturen, gerade wenn es sich um Informationen mit viel zusätzlichen Feldern handelt (Events beispielsweise).
Besondere Beachtung sollten sicherlich die Joomla User finden, die je nach Berechtigung als Contao Benutzer oder als Mitglied angelegt werden müssen.

Demnächst mehr zum Thema, insbesondere aber die ganz konkrete Frage, wie man einzelne Joomla Komponenten sinnvoll und ohne Verlust, natürlich auch mit möglichst wenig Anpassungen  auf Contao mappen kann.

 

3 Antworten zum Beitrag “Joomla goes Contao: Vorüberlegungen”

  1. am 20 Sep 10 um 22:02 meint

    Wolfgang

    Hallo Anne,

    das ist sicher ein große Aufgabe. Daher würde ich mich erst mal auf das Wichtigste stürzen, was bei allen “Wechselwilligen” zutreffen wird: Content überführen. Ist es wirklich mit “Schieben” getan? Wird man nicht Inhalte von Joomla auf unerwünschtes HTML parsen müssen?

    Bildergalerien werden sicher auch oft eingesetzt. Mitglieder im Contao-Sinne vielleicht auch … praktische Frage: kann man verschlüsselte Passwords überführen? Sollte eigentlich nur gehen, wenn die gleiche one-way-encryption verwendet wird.Über die Nutzer (des Backends) würde ich mir keine Gedanken machen. Die können im Zweifel auch eine neue ID und Password bekommen.

    Ich bin kein Excel-Freund. Ich würde zur Konvertierung Datenbank auf Datenbank mappen, im Zweifel mit einer Zwischendatenbank. Was nicht mit SQL und Übersetzungstabellen geht muss eben in (z.B. PHP) gemacht werden. Aber PHP und CLI geht ja auch prima. Ich mache sowas zum Mapping/Abgleich zwischen dem Artikelstamm einer kaufm. Software auf dem PC und einem Web-Shop. Sehr viel geht ohne Programmierung (bei mir in MS Access).

    Wirklich schwer stelle ich es mir bei den Joomla Extensions vor. Vermutlich muss man sich das von Fall zu Fall ansehen …

    Gruß Wolfgang

  2. am 27 Okt 10 um 21:37 meint

    blog947

    Ich habe das einmal gemacht, einen Wechsel einer Site eines Kunden von Joomla zu Contao. Dem Kunden ist im Endeffekt alles teurer gekommen als damals bei der Ersteinrichtung mit Joomla (was meine Arbeitszeit betrifft).

    Die Seiten und Menüstruktur war in Contao relativ schnell angelegt, jedoch musste ich jede einzelne Seite einzeln ins neue CMS rüberkopieren und nachbearbeiten. Z.B. musste auf allen Seiten die Email-Adressen neu verschleiert werden. In Joomla standen die Adressen in Klartext drin, in Contao nun per Insert-Tag. Die Bildergalerien hebe ich in Contao neu aufbauen müssen. Und viele andere Punkte mussten nachgebessert werden. Hierbei handelte es sich um einen Sportverein, bestehend aus 180 Seiten mit mehr als 300 Emailadressen. Für Jede Sportart einen Newsbereich, und jetzt in Contao mit Teaser, die ich erst mal alle anlegen musste. Der Komplette Newsbereich des gesamten Vereins umfasste mehr als 500 Artikel.
    Davon hab ich aber nicht alle übernommen, habe somit auch etwas Zeit einsparen können.
    Den Rest hab ich einfach nur per STRG+C rüberkopiert, Seite für Seite.
    Der Aufwand für die Verwaltung mit Contao ist für den Verein jetzt teuer aber Sie können nun selber mit Hand anlegen und eigene Sachen veröffentlichen. Bei Joomla kommt die Benutzerweraltung erst mit der Version 1.6 so richtig im Gang. Und nur deswegen haben wir zu Contao gewechselt.

    Einen Wechsel mittels Datenbankkonverter oder mit Excel finde ich noch zu gewagt und sollte vorher auf ein Offline-System (XAMPP) getestet werden. Deshalb hab ich mich einfache Kopier-methode entschieden. Und ausserdem mussten einige Seiten wegen Aktualität komplett neu Aufgebaut werden.

    Jeder sollte also selber entscheiden, ob sich der Wechsel finanziell lohnt, bei priv. Sites sicherlich ohne Belang aber bei komerziellen….

    Bei neuen Aufträgen werde ich je nach Umfang der Website nach wie vor so entscheiden, ob Joomla oder Contao zum Einsatz kommt.
    Einen Wechsel werde ich nur bei kleinen Sites empfehlen, bzw. wenn die Benutzerverwaltung eine Rolle spielen soll, denn da liegt Contao absolut vorn. Alle anderen Eigenschaften von Contao sind mittels Erweiterung und Plugins auch mit Joomla realisierbar.

  3. am 28 Okt 10 um 12:58 meint

    Anne-Kathrin

    Der Umzug der Inhalte ist für mich automatisiert keine wirkliche Option. Machbarkeit hin oder her. Es hat ja auch den Vorteil, dass man Ausmisten und Bereinigen kann. Irgendwo finden sich immer Altlasten ;-)
    News, Newsletter und z.T auch Events lassen sich hingegen ganz gut über SQL transferieren, allerdings gibt es für Joomla ja viele Erweiterungen und damit eine Reihe potenzieller Ausgangspunkte, während nur das Ziel klar ist, weil es Core Funktionen sind. Auch das also individuell.

    Bei mir ging es ganz klar um Mitglieder Management (das leider in diesem Fall auch bei Contao nicht ausreichend ist, sich aber netterweise gut erweitern lässt). Glücklicherweise hatte ich noch den Community Builder im Hintergrund und damit beispielsweise Vor und Nachname separat, so dass ich mir skuzessive einen Import für tl_members schreiben konnte. So ganz ohne war das natürlich nicht - Stichwort Passwort.

    Generell hat so ein Umzug etwas Bereinigendes: Es gibt wahrscheinlich kaum eine nicht vom Profi betreute Website, auf der sich nicht doch auf kurz oder lang Unmengen nicht mehr benötigter Bilder und nie veröffentlichter Texte ansammeln ;-)

Auch was dazu sagen?