Das Open Source CMS Joomla! in Version 4

Joomla! gehört wie WordPress und Drupal zu den großen Open-Source-CMS. Das PHP-System wurde erstmals im Jahr 2005 als Ableger des CMS "Mambo" veröffentlicht. Durch die vergleichsweise einfache Handhabung ist Joomla! trotz rückläufigem Trend auch in Deutschland immer noch weit verbreitet. Die Einsatzszenarien reichen von kleinen Web-Projekten bis hin zu Web-Auftritten großer Mittelständler wie Wiley oder Thieme. Im August 2021 ist nach fast 10 Jahren Entwicklungsarbeit mit Joomla! 4 eine stark überarbeitete Version des CMS erschienen.

Screenshot der Joomla! 4 Webseite

Neben der selbst-gehosteten Variante bietet Joomla! unter launch.joomla.org eine kostenfreie Cloud-Variante an. Der Speicherplatz ist auf 500 MB begrenzt, es sind nur Sub-Domains möglich und der Account muss alle 30 Tage per Button bestätigt werden. Mit 5 US-Dollar pro Monat entfallen diese Einschränkungen.

Im Gegensatz zu zahlreichen anderen Systemen gibt es bei Joomla! keinen dezidierten Gründer. Stattdessen entstand Joomla! im Jahr 2005 durch die Abspaltung einer ganzen Community von dem bereits existierenden CMS Mambo. Die Gemeinde hat sich mit "Open Source Matters Inc." und einem Board of Directors einen organisatorischen Rahmen gegeben und fühlt sich dem Community-Gedanken stark verpflichtet.

Joomla für Content Manager

Autoren und Administratoren arbeiten bei Joomla! mit einer klassischen Oberfläche ohne große Überraschungen: Inhalte werden überwiegend über Formulare erstellt, Frontend-Editing spielt allenfalls eine Nebenrolle und Konzepte wie einen Block-Editor gibt es nicht. Dafür wirkt die Oberfläche trotz der vielen Features vergleichsweise übersichtlich und zumindest für Autoren relativ intuitiv. Das etwas altbackene Design des User Interfaces bekommt mit Joomla! 4 einen frischen Anstrich.

Neben dem Facelift hat Joomla! in Version 4 auch die Navigation in der Autorenoberfläche verbessert. Die Hauptnavigation ist vom Kopfbereich in die linke Sidebar gewandert, wo sich früher nur die kontext-abhängige Unternavigation befand. Die Zusammenführung des Haupt-Menüs mit den Unterpunkten in der Sidebar verbessert die Orientierung bei der Navigation deutlich. Weniger verständlich ist die Entscheidung, die Sidebar in der Bearbeitungsansicht komplett zu entfernen, sodass man die Detailansicht eines Artikels erst verlassen muss, bevor man die Navigation wieder nutzen kann.

Screenshot Autorenoberfläche Joomla! 4

Ähnlich wie bei Drupal steht auch bei Joomla! ein klassischer Content-Editor im Zentrum der inhaltlichen Arbeit (TinyMCE oder Codemirror). In den Tiefen der Plugin-Einstellungen lassen sich die Editoren umfassend konfigurieren. Außerdem können Joomla!-spezifische Inhalte wie Artikel-Verweise, Kontakte oder auch Menüs in den Editor integriert werden. Erst mit Version 3.7 wurde unter dem Tab "Fields" ein Formular-Manager integriert, der eine Definition zusätzlicher Inhalte ermöglicht. Damit ist Joomla! beim Thema Content-Modellierung recht spät dran – bei anderen Content Mangement Systemen gehört dieses Feature seit langem zur Grund-Ausstattung. Andere Features wie ein umfangreiches Rechte-System werden bei Joomla! unmittelbar mitgeliefert, sodass auf Plugin-Orgien wie bei WordPress in der Regel verzichtet werden kann.

Joomla! Editor

Eine Eigenheit sticht bei Joomla! im Vergleich zu vielen anderen Content Management Systemen heraus: Es gibt keine Unterscheidung zwischen statischen Seiten und dynamischen Beiträgen. Stattdessen sind alle Content-Seiten dynamische "Artikel". Abhängig vom verwendeten Template gibt es zwei Möglichkeiten, den Seiten einen statischen Charakter zu geben:

  1. Man kann einen Artikel per Klick als "featured" markieren. Der Artikel wird dann an der Startseite oder einer anderen Seite (abhängig von der Template-Logik) angeheftet.
  2. Man kann ein Menü erstellen und einen Artikel als Menü-Eintrag definieren.

Bei den Autoren- und Administrations-Features trumpft Joomla! 4 mit zahlreiche Neuerungen auf. Dazu gehören ein verbesserter Media-Manager, ein ausgefeiltes Notification-System mit E-Mail-Templates, Optimierungen bei der Barrierefreiheit, eine erhöhte Performance und zahlreiche Features für die SEO-Optimierung. Zudem gibt es im Frontend mit Cassiopeia ein neues Standard-Theme.

Besonders erwähnenswert ist die Einführung eines umfassenden Content-Workflows mit Joomla! 4. Dieses Feature versteckt sich allerdings in den Untiefen der Joomla!-Einstellungen und muss erst unter ➞ System ➞ Articles ➞ Integration ➞ Workflow aktiviert werden.

Workflows in Joomla! 4 aktivieren

Einmal aktiviert lassen sich mit dem Feature relativ beliebige Workflows einrichten. Das Setup ist nicht ganz trivial und erfordert zusätzlich eine Konfiguration von Stages (Zuständen) und Transitions (Zustandsübergänge). Mit Hilfe von Workflows kann man Artikel verschiedene Prüfungen durchlaufen lassen (juristisch, redaktionell) und bei jedem Schritt entsprechende Benachrichtigungen an spezielle Nutzergruppen versenden. Eine gelungene Einführung in das Feature findet man von Christiane Maier Stadtherr auf Hosteurope oder (als etwas älteres Video) von Benjamin Trenkle auf Joomla.de.

Aus Autoren-Sicht bleibt Joomla! auch in Version 4 ein grundsolides, sehr feature-mächtiges und natürlich praxiserprobtes CMS. Und mit dem neuen Workflow-Feature unterstreicht Joomla! einmal mehr seinen Anspruch, auch für komplexere Projekte so gut wie alle notwendigen Werkzeuge bereits in der Core-Version mitzuliefern. Anders als WordPress mit dem Block-Editor und dem geplanten Full-Site-Editing bemüht sich Joomla! jedoch kaum darum, neue Editing-Trends zu adaptieren oder sich an jüngeren Systemen zu orientieren. So wird Joomla! mit Version 4 die bestehende Nutzerbasis sicher überzeugen können. Ob es für die Erschließung neuer Anwendergruppen angesichts der vielen Alternativen reicht, bleibt abzuwarten.

Joomla! für Entwickler

Joomla! ist PHP-basiertes Content Management System und basiert auf einem eigenen MVC-Framework. Als Datenspeicherung können MySQL- oder PostgreSQL-Datenbanken eingesetzt werden, die Unterstützung von SQL-Servern wurde mit Joomla! 4 eingestellt. Im Frontend setzt Joomla! 4 auf Bootstrap 5, SASS und reines JavaScript. JQuery wird aus dem Core von Joomla! entfernt, kann allerdings optional noch eingebunden werden. Neue Frameworks wie Vue oder React sind nicht integriert.

Die Installations-Routine für Joomla! wurde komplett erneuert und ist denkbar einfach: Man gibt Daten für die Admin-Nutzer ein, trägt die Zugänge für die Datenbank ein und wählt auf der folgenden Seite noch einige Installations-Optionen aus. Noch nicht ganz glatt liefen bei Version 4.0.2 die Fehlermeldungen, beispielsweise wird der Nutzer nicht darüber informiert, dass eine HTTPS-Verbindung zwingend erforderlich ist (was man nicht immer unter localhost eingerichtet hat). Für die Installation einer Entwicklungs-Umgebung steigt Joomla! in Version 4 auf Composer und Node.js für die CSS-Generierung mit SASS um.

Anders als Drupal folgt Joomla! bei der Template- und Theme-Entwicklung keinen Standards wie Twig, sondern geht mit sogenannten "jdoc"-Statements und XML-Definitionen einen eigenen Weg. Und dieser Weg sieht etwa so aus:

  • In der XML-Datei werden die Basis-Informationen für das Theme gespeichert und die Dateien für das Theme aufgelistet. Außerdem werden in der XML-Datei Module und Parameter definiert.
  • Mit den jdoc-statements können Module und Komponenten in das Template integriert werden. Ein typisches Modul ist zum Beispiel die Navigation, während der "article" eine typische Komponente darstellt. Man kann diese Module selbst entwickeln oder bestehende Module mit einem Modul-Manager im Administrationsbereich installieren.
  • PHP und HTML liefern die grundlegende Logik und das Rahmengerüst für das Template.*

Ein typisches Snippet von einem Joomla! Template sieht ungefähr so aus:

<?php if($this->countModules(&showcase&) : ?>
 <div class=&someclass&>
   <jdoc:include type=&modules& style=&none& name=&showcase& />
 </div>
<?php endif; ?>
<article>
 <jdoc:include type=&component& />
</article>

In den meisten Fällen würde man wohl bestehende Komponenten und Module in das Template integrieren. Man kann jedoch auch eigene Module und Komponenten entwickeln. Dabei ist die Entwicklung von Modulen vergleichsweise einfach, während die Entwicklung von Komponenten schnell sehr komplex werden kann und dem MVC-Modell des Joomla!-Frameworks folgt. Als dritte Variante können für Joomla! auch Plugins entwickelt werden, die wie üblich mit einem EventDispatcher arbeiten.

Bei den Frontend-Technologien verzichtet Joomla! weitestgehend auf Vorgaben. Mit Version 4 wird JQuery zwar noch mitgeliefert und kann bei Bedarf aktiviert werden. Die Oberflächen funktionieren jedoch mit reinem JavaScript. Angesichts der Schnelllebigkeit von JavaScript-Framework ist dieser Schritt strategisch vielleicht nicht die schlechteste Entscheidung.

Der Feature-Reichtum und die Flexibilität von Joomla! bringen es mit sich, dass die Entwicklung nicht ganz so intuitiv wie bei moderneren PHP-Systemen erscheint oder zumindest der Einstieg über die offizielle Dokumentation deutlich schwerer fällt. Dafür geht Joomla! allerdings auch über die reinen Web-CMS-Funktionalitäten hinaus und präsentiert sich als ein ganzes Entwicklungs-Framework nach dem MVC-Model. So kann Joomla! auch als technische Basis für Anwendungen jenseits des klassischen Content Managements genutzt werden.

Eine Neuerung bei Joomla! 4 stellt die integrierte Schnittstelle (API) für Web-Services dar. Damit können künftig auch Headless-Szenarien realisiert werden. Im Vergleich zu Drupal oder auch WordPress sind Headless-Szenarien und die API-Nutzung bei Joomla! zumindest in den Diskussionen nicht sehr präsent und tiefergehende Informationen oder Tutorials zu den Web-Services sind derzeit noch selten zu finden.

Joomla! für Nicht-Entwickler

Ein Kern-Merkmal von Joomla! sind die umfangreichen Features und die hohe Flexibilität der Core-Version. Anders als bei WordPress liefert die Core-Version bereits viele Features auch für komplexere Webseiten mit. Was das Core-System nicht hergibt, kann über Extensions hinzugefügt werden. In der Theorie kann ein Administrator auch ohne technische Kenntnisse komplette Projekte aufsetzen und bis ins Detail konfigurieren. Allerdings dürfte die Einarbeitung in die Funktionsweise des Systems relativ zeitintensiv sein, sodass man sich doch wieder an Experten wenden dürfte.

Die Roadmap von Joomla!

Mit Version 4 ist erst einmal ein sehr großer Meilenstein erreicht worden. In nächster Zeit wird es vor allem darum gehen, den Rollout abzuschließen und die neuen Features weiter zu optimieren. Als Vorhaben listet Joomla! beispielsweise die Komplettierung der Web-Services auf, ein reduziertes Admin-Template, die Optimierung des Routers und weitere Verbesserungen der SEO-Features. Auch die Aktualisierung der Dokumentation dürfte ein großes Unterfangen werden. Sobald sich das neue Release etwas gesetzt hat, wird man sicherlich auch wieder mehr Details auf der offiziellen Roadmap von Joomla! finden.

Kosten

Die Kern-Software von Joomla! ist komplett kostenfrei und unter GLP lizensiert. Zusätzlich bietet Joomla! einen Marktplatz mit kostenfreien und kostenpflichtigen Erweiterungen an. Die Erstellung einer eigenen Webseite vom gehosteten Joomla!-Service Joomla.com bzw. launch.joomla.org ist mit Einschränkungen ebenfalls kostenfrei, Upgrades ohne Einschränkungen beginnen ab 5,- US-Dollar pro Monat.

Empfehlung: Wann macht Joomla! Sinn?

Joomla! eignet sich vor allem für mittelkomplexe und komplexe Business-Seiten mit hohen Anforderungen an die Flexibilität des Systems. Aufgrund der langen Historie bietet das System natürlich einen entsprechenden Kosmos an Erweiterungen an, sodass die meisten Anforderungen abgedeckt sein dürften. Mit den neuen Workflow-Feature und mit der Unterstützung von HTML-Email-Templates eröffnen sich mit Joomla! 4 weitere spannende Einsatzfelder. Eine Einschränkung gibt es jedoch bei Multi-Site-Installationen: Es gibt zwar entsprechende Extensions, allerdings gehören Multi-Site-Features traditionell nicht zu den Kern-Kompetenzen von Joomla!.

Für kleinere Webseiten wirkt das System zu groß und überkomplex. Die Administrations-Oberfläche sieht bei Joomla! 4 zwar deutlich schicker aus und ist in vielen Details auch intuitiver geworden. Dennoch macht es wenig Sinn, sich mit der enormen Funktions-Vielfalt auseinanderzusetzen, wenn sie bei kleinen Projekten ohnehin nicht zum Einsatz kommt.

Alternativen zu Joomla!

Es gibt vergleichsweise viele Content Management Systeme für den größeren Mittelstand. Zu den klassischen Alternativen von Joomla! zählen vor allem TYPO3, Drupal, WordPress oder auch Redaxo. Unter den jüngeren Systemen kommen zum Beispiel Neos, Sulu oder auch Craft in Frage. Bei der Umstellung auf ein neues CMS ist jedoch auch ein Wechsel auf eine andere Architektur oder ein Upgrade auf ein komplexeres CMS denkbar. All das hängt vom konkreten Einsatz-Szenario im Unternehmen ab. CMSstash kann einen ersten Markt-Überblick liefern. Für einen erfolgreichen Auswahl-Prozess ist jedoch eine individuelle Analyse nötig. Wer dabei auf eine externe Unterstützung zurückgreifen will, der kann sich an unseren Kooperationspartner SUTSCHE wenden. SUTSCHE gehört zu den wenigen Dienstleistern, die nicht implementieren und so die CMS-Auswahl unabhängig im Interesse des Kunden begleiten können.

© by Sebastian Schürmanns, 2017 - 2021. All Rights Reserved. Built with Typemill.