CMSstash

Joomla! Open Source CMS für mittelkomplexe Seiten

Autor: Sebastian Schürmanns

Joomla! gehört wie WordPress und Drupal zu den großen Open-Source-CMS. Joomla! läuft auf PHP-Basis und wurde im Jahr 2005 als Ableger des CMS "Mambo" veröffentlicht. Das CMS erlebte ein massives Wachstum und ist heute bei mehreren Millionen Webseiten im Einsatz. Seit einigen Jahren sind die Markt-Anteile allerdings wieder rückläufig und wie viele etablierte Systeme schlägt sich auch Joomla! mit einigen Alt-Lasten herum.

Joomla! Webseite

Neben der selbst-gehosteten Variante bietet Joomla! unter launch.joomla.org eine kostenfreie Cloud-Variante an. Leider sind die Informationen darüber recht spärlich. Auf der Webseite werden lediglich der Speicherplatz und die Sub-Domains als Einschränkungen genannt, Upgrades sind "ab 5 US-Dollar" pro Monat zu haben.

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

Joomla! bietet eine funktionsreiche und recht komplexe Autoren- und Administrations-Oberfläche an. Über die Kopf-Navigation erreicht man die System-Einstellungen, die Nutzerverwaltung, die Menü-Verwaltung, den Content-Bereich sowie die Komponenten und Erweiterungen. Am linken Rand gibt es in vielen Fällen noch ein Kontext-Menü, mit dem innerhalb des aktuellen Bereichs navigiert werden kann. Der ständige Wechsel und zum Teil auch die Deaktivierung von Menüs je nach Position des Users sind allerdings etwas gewöhnungsbedürftig.

Autoren arbeiten bei Joomla! mit einem klassischen Content-Editor (TinyMCE oder CodeMirror). In den Plugin-Einstellungen kann der Editor mit den drei Voreinstellungen "simple", "medium" und "advanced" für verschiedene User-Gruppen konfiguriert werden. Eine feingranulare Konfiguration der Editier-Optionen ist zumindest über die Admin-Oberfläche offenbar nicht möglich. Es ist allerdings möglich, die Eingabefelder um weitere Field-Typen zu erweitern, also zum Beispiel Listen-Elemente, Dropdowns und andere Content-Typen hinzuzufügen. Der Autor kann diese zusätzlichen Felder unter dem separaten Tab "Fields" befüllen.

Joomla! Dashboard

Bei Joomla! gibt es 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.

Neben Artikeln können auch andere Content-Typen mit Hilfe von Modulen erstellt werden. Für einen neuen Eintrag in der Sidebar nutzt man dazu beispielsweise das Modul "Menu Module".

Joomla! ist zwar äußerst flexibel und bietet viele Features an. Allerdings muss man zum Teil lange nach den richtigen Einstellungen suchen. Ein Beispiel ist das Inline-Editing: Um die Arbeit der Autoren zu vereinfachen und den Abstraktionsgrad zu verringern kann der Autor die Webseiten auch über das Frontend bis zu einem gewissen Grad bearbeiten. Dazu wird für jeden Content-Block ein Konfigurations-Button angezeigt, der mit etwas Glück auch ein Edit-Icon enthält. Ähnlich wie bei Drupal werden mit dem Edit-Icon die entsprechenden Bearbeitungsformulare für den Content-Block eingeblendet. Es ist allerdings nicht so einfach, im Admin-Dashboard für diesen Modus die richtigen Einstellungen zu finden. Andere Content Management Systeme haben gezeigt, dass eine hohe Flexibilität nicht unbedingt auf Kosten einer intuitiven Bedienbarkeit gehen muss. Von daher kann Joomla! hier immer noch etwas aufholen.

Joomla! für Entwickler

Joomla! ist in PHP geschrieben und läuft mit MySQL-, MS-SQL- oder PostgreSQL-Datenbanken. Das CMS setzt auf dem Joomla! MVC-Framework auf. Im Frontend setzt Joomla! auf Bootstrap und JQuery.

Für die Installation bietet Joomla! eine relativ einfache Routine, die einwandfrei sowohl auf dem Live-Server, als auch für die lokale Installation ausgeführt werden kann. Ein schönes Feature dabei ist die Auswahl, ob man die Seite nach der Installation auf "offline" setzen will. In diesem Fall sieht der Nutzer nur einen Login-Screen mit einer Maintenance-Notiz.

Wer Themes und Templates für Joomla! entwickeln will, arbeitet zum größten Teil mit PHP, HTML, XML und mit Joomla!-spezifischen Tags, die "jdoc"-Statements genannt werden.

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 die 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 sind die grundlegenden Template-Sprachen. In PHP wird überwiegend mit Methoden und Properties des globalen Template-Objekts gearbeitet, das im Template mit $this referenziert wird.

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>

Die Entwickler-Dokumentation wirkt auf den ersten Blick etwas konfus, da es offenbar keinen schnellen und strukturierten Einstieg in die Template-Entwicklung gibt. Aufgrund der Verbreitung des Systems findet man jedoch viele unabhängige Einführungen und Tutorials.

Joomla! für Nicht-Entwickler

Aufgrund seines sehr flexiblen Konzepts kann man mit Joomla! auch ohne Entwickler-Kenntnisse individuelle Webseiten erstellen. Allerdings dürfte die Einarbeitung in das Konzept und in die Funktionsweise des Systems relativ zeitintensiv sein.

Die Roadmap von Joomla!

Joomla! wird mit der kommenden Version 3.9 ein Privacy-Feature veröffentlichen und damit eine Kompatibilität zum GDPR bieten. Danach steht die Major-Version 4.0 vor der Tür. Joomla! will mit Version 4 auf PHP7 und auf Bootstrap 4 umsteigen. Wie viele andere Systeme verabschiedet sich auch Joomla! komplett von JQuery. Allerdings beschreitet Joomla! einen eher ungewöhnlichen Weg: Anstatt ein neues Framework wie Vue, React oder Angular einzusetzen, soll die Version 4 komplett Framework-agnostisch werden und nur mit reinem JavaScript und Web-Components arbeiten. Weitere Details findet man in der Roadmap von Joomla!.

Kosten

Die Kern-Software von Joomla! ist komplett kostenfrei und unter GLP lizensiert. Zusätzlich bietet Joomla! einen Marktplatz mit kostenfreien und kommerziellen 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, sodass die meisten Anforderungen abgedeckt sein dürften. Allerdings unterstützt Joomla! in der Standard-Ausführung keine Multi-Site-Installation. Es gibt zwar entsprechende Extensions, ggf. sollte man bei Multi-Site-Konzepten jedoch auf andere Systeme ausweichen.

Für kleinere Webseiten wirkt das System überkomplex, zumal die Usability für Autoren unter der Flexibilität des Systems leidet und die Nutzeroberfläche nicht mehr zeitgemäß wirkt. Wie auch andere Systeme mit einer vergleichbar langen Historie schleppt Joomla! diverse Altlasten mit sich herum. Und wie bei anderen großen Systemen eröffnen manche externen Erweiterungen immer wieder Sicherheitslücken. Auch wenn Joomla! im Kern nicht weniger sicher ist als WordPress oder Drupal, ist Joomla! in der Vergangenheit ein recht beliebtes Angriffsziel für Hacker gewesen. Joomla! steuert mit einem eigenen Sicherheits-Team dagegen.

Dennoch gibt es natürlich Millionen von Webseiten, die auf Joomla! basieren. Die meisten sind kleinere Unternehmen oder Organisationen, allerdings findet man unter den Anwendern auch bekanntere Marken wie Lipton Ice Tea oder Fratelli. Auf der offiziellen Seite findet man Showcases, die einen guten Eindruck vermitteln.

Auch andere Experten lesen gerne gute Inhalte und freuen sich, wenn Du diesen Artikel zum Beispiel über Twitter teilst. Auf Twitter gibt es außerdem von @CMSstash tägliche Updates.

Zuletzt aktualisert: 22.10.2018