CMSstash

Joomla!

Joomla! gehört wie WordPress oder Drupal zu den großen und etablierten Open-Source-Systemen. 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. Die Community zählt über 600.000 aktive Mitglieder.

Joomla! Webseite

Joomla! bietet eine kostenlose Download-Version für die Installation auf dem eigenen Server an. Seit 2015 existiert unter joomla.com auch ein gehosteter Service, mit dem Nutzer eine kostenfreie Webseiten mit Joomla! online erstellen können.

Für Content Manager

Joomla! bietet für Autoren und Administratoren eine funktionsreiche und recht komplexe Arbeitsoberfläche an. Über eine Kopf-Navigation hat der Nutzer Zugriff auf System-Einstellungen, auf eine Nutzerverwaltung, auf die Menü-Verwaltung, auf die Content-Erstellung sowie auf 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.

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. Wer zum Beispiel einen neuen Eintrag in der Sidebar erstellen will, kann über das entsprechende "Menu Module" einen Eintrag erstellen und ihn in der Sidebar positionieren.

Das Konzept von Artikeln, Menüs und Modulen ist ziemlich flexibel. Und in der Theorie ermöglicht das System die Erstellung von komplexen Webseiten ohne die Hilfe eines Entwicklers. Allerdings ist das Konzept für Einsteiger nicht sonderlich intuitiv und erfordert daher eine intensive Einarbeitung. Im Vergleich zu anderen CMS ist durch diese Komplexität auch die Erstellung einfacher Webauftritte und Inhalte über das Dashboard etwas erschwert.

Um die Arbeit zu vereinfachen und den Abstraktionsgrad zu verringern bietet Joomla! eine Art Frontend-Editing-Feature an. Dabei erscheinen im Frontend zu jedem editierbaren Element Buttons, mit denen man einen im Frontend eingebetteten klassischen Editor für die Bearbeitung öffnen kann. Also kein klassisches Inline-Editing, aber immerhin eine hilfreiche Möglichkeit für die schnelle Bearbeitung von Inhalten.

Auf der Joomla!-Seite wird ein Demo-Zugang angeboten, über den man sich einen ersten Überblick über das System verschaffen kann.

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.

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.

Die XML-Dateien speichern dabei die Basis-Informationen für das Theme und listet die Dateien des Themes auf. Außerdem werden darin 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 keinen schnellen und strukturierten Einstieg in die Template-Entwicklung zu geben scheint. Aufgrund der Verbreitung des Systems findet man jedoch eine Vielzahl an unabhängigen Quellen mit 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.

Kosten

Die Kern-Software von Joomla! ist komplett kostenfrei, genauso wie eine Vielzahl von zusätzlichen Ressourcen. Zusätzlich findet man jedoch auch noch zahlreiche kommerzielle Erweiterungen im Marktplatz von Joomla! Die Erstellung einer Webseite vom gehosteten Joomla!-Service Joomla.com ist offenbar ebenfalls kostenfrei.

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, sodass man bei diesem Usecase eher auf ein anderes CMS setzen sollte.

Für kleinere Webseiten wirkt das System überkomplex, zumal die Usability für Autoren unter der Flexibilität des Systems etwas leidet und die Nutzeroberfläche nicht mehr ganz up-to-date wirkt. Wie auch andere Systeme mit einer vergleichbar langen Historie trägt Joomla! natürlich einige Altlasten mit sich. Und wie bei anderen großen Systemen offenbaren einige der vielen externen Erweiterungen immer wieder Sicherheitslücken.

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.