2.  Joomla! 1.5

joomla.org-Screenshot

Screenshot der Site joomla.org
Natürlich wird auch hier Joomla! verwendet

Einleitung: Joomla!

Joomla! ist ein sehr beliebtes, umfangreiches und modulares CMS, dass viele Privatleute und Firmen einsetzen. Joomla! vereint viele Funktionen und eine übersichtliche Administrationsoberfläche.

Für die Beliebtheit von Joomla! ist wahrscheinlich die Tatsache, dass es einfach zu nutzen ist, unter einer Open Source Lizenz entwickelt wird und dass ein großer Fundus an Erweiterungen verfügbar ist, verantwortlich. Joomla! ist für Websites fast beliebiger Größe geeignet und kann mit Hilfe von Erweiterungen für fast jede Art von Website, Portal oder Ähnlichem verwendet werden.

Die Entstehungsgeschichte Joomla!'s

Offizielles Joomla!-Logo

Offizielles Joomla!-Logo
Quelle: joomla.org

Joomla! ist ein Fork des Open Source CMS Mambo. Dieses wurde im Jahr 2001 von der australischen Firma Miro entwickelt und unter einer Open Source Lizenz freigegeben. Außerdem bot Miro ab dem Jahr 2002 auch eine kommerzielle Variante des Systems mit Support und mehr Sicherheit an.

Überlegungen, eine Stiftung zu gründen, die sich um die Erhaltung der Existenz und die Weiterentwicklung von Mambo kümmern sollte, wurden 2005 von vielen geäußert.
Miro gründete dann eine Stiftung, wobei die Entwickler nicht in die Gründung mit einbezogen wurden. Dies sorgte für heiße Diskussionen.

Das Entwicklerteam von Mambo beschloß, Mambo selbstständig weiter zu entwickeln. Dies steigerte den "Rosenkrieg" der Parteien Miro, Entwicklerteam und Nutzer weiter. Das Entwicklerteam suchte einen Namen und sammelte dazu Vorschläge der Community.
Der neue Name wurde am 1. Septembet 2005 veröffentlicht: Joomla!

Viele Programmierer von Erweiterungen und auch viele Nutzer von Mambo stiegen schon bald auf Joomla! um.

Vorraussetzungen für den Einsatz Joomla!'s

Für den Einsatz von Joomla! genügt ein einfaches SharedHosting-Paket mit PHP und MySQL. Bei manchen Anbietern (z.B. Strato) gestaltet sich die Joomla!-Installation allerdings ein bisschen schwerer, da dort die PHP-Einstellung safe_mode aktiviert ist, welche einige Handarbeit bei der Installation erforderlich macht. Ansonsten erfordert Joomla! eine PHP-Version mit zlib- und XML-Unterstützung. Für die Nutzung von Suchmaschinen-freundlichen-URLs benötigt man einen Apache-Webserver mit Mod Rewrite.

Auf Clientseite genügt ein normaler Browser, wobei dieser, jedenfalls für den Administrationsbereich und den Editor, JavaScript unterstützen muss. Das Betrachten der Website funktioniert meist auch ohne JavaScript.

Screenshot: Das Joomla! Control Panel

Screenshot: Das Joomla! Control Panel
Startseite des Joomla!-Backends (Joomla! 1.5 Beta2)

Der Aufbau Joomla!'s

Trennung: Backend / Frontend

Wie bei vielen CMS besteht auch bei Joomla! die Trennung von Frontend, also der Seite, die der Nutzer sieht und dem Backend, der Administrationsoberfäche.
Die Administration ist über das Unterverzeichnis administrator des Joomla!-Verzeichnisses zu erreichen.

Außerdem können Redakteure die Inhalte der Site auch aus dem Frontend bearbeiten, vorrausgesetzt, der Login auf der Website ist aktiviert.

Extensions (dt. Erweiterungen)

Joomla! ist sehr modular aufgebaut. Dies bedeutet, dass die ausgegebene Seite aus vielen Modulen besteht, für deren Ausgabe verschiedene Extensions verantwortlich sind. In der Standardinstallation von Joomla! sind schon einige dieser Erweiterungen vorhanden, andere lassen sich bequem über das Administratoren-Interface nachinstallieren.

Bei Joomla! gibt es verschiedene Arten von Programmmodulen, die je nach Verwendung und Aufgabe unterschiedlich umfangreich sind und auch anders programmiert werden. Somit bezeichnet man sie als Komponenten, Module, Plugins, Templates, Languages.

Templates
Templates sind Vorlagen für die Ausgabe der Website. Sie bestehen aus HTML-Code und speziellen Tags, die Joomla! durch die Inhalte, Menüs und Module ersetzt, die man über die Administration konfiguriert hat.
Um vielfältige Möglichkeiten zu bieten, besitzt Joomla! viele Modul-Positionen, die einzeln per entsprechender Tags in dem Template platziert werden können.
Components (dt. Komponenten)
Komponenten sind die komplexesten Erweiterungen. Sie sorgen für die Ausgabe von Texten, Linklisten, Kontaktformularen und Vielem mehr.
Modules (dt. Module)
Als Module bezeichnet man einfache Erweiterungen, die für Ausgaben von Informationen an den Modulpositionen zuständig sind.
Beispiele hierfür sind: Menüs, Newsflash und das Loginformular
Plugins
Plugins, bei Mambo und Joomla! bis Version 1.0.X unter dem Namen Mambots bekannt, arbeiten im Hintergrund. Sie sorgen für die Durchsuchung der Datenbank, wenn der Nutzer die Suchfunktion der Website nutzt und für die Ersetzung gewisser Platzhalter bei der Ausgabe von Artikeln.
Languages (dt. Sprachen)
Languages sind, wie der Name schon sagt, Sprachen, genauer gesagt Sprachpakete. Es gibt Sprachpakete für das Frontend und für das Backend. Im Frontend sorgen diese für die Ausgabe der Standardmodule in der passenden Sprache.
Das Backend ist erst seit der Version 1.5 von Joomla! Multisprachfähig und bietet seither die Möglichkeit, die Administration von Joomla! in der Muttersprache zu erledigen, außer es ist kein passendes Sprachpaket verfügbar. Bisher bot Joomla! nur ein rein englisches Backend.
Inhaltsstruktur Joomla!

Die Kategorieen- und Bereichsstruktur Joomla!s

Inhalte / Texte

Joomla! bietet zwei Arten von Texten: Static Content und Content. Static Content ist für Texte gedacht, die sich in der Regel nicht ändern. Solche Texte sind z.B. das Impressum oder ähnliches. Andere Inhalte wie News und andere Artikel speichert man als Content. Zur Strukturierung der Inhalte bietet Joomla! Sections (dt. Bereiche) und Categories (dt. Kategorien). Jeder Kategorie muss ein Bereich zugewiesen sein. Jedem Beitrag muss ein Bereich und eine Kategorie zugewiesen werden. Definiert man keinen Bereich und keine Kategorie bzw. wählt man jeweils "nicht kategorisiert", so ist der Beitrag ein Static Content (Seiten die sich wenig ändert).

Außer den erforderlichen Einstellungen wie Bereich, Kategorie, Freigabe, Titel, Alias und Text, kann man auch noch weitere Parameter konfigurieren. Beispielsweise kann man für den Artikel je ein Datum zur Freigabe und zur Beendung der Freigabe einstellen oder Zugriffsrechte vergeben.

Der eigentliche Beitrag kann nun komfortabel per WYSIWYG-Editor oder auch direkt als HTML eingegeben werden. Dank des WYSIWYG-Editors können auch HTML-unerfahrene Webredakteure und Nutzer Inhalte einfügen und komfortabel formatieren.
Über den Editor lassen sich auch Bilder einfügen, die man über den so genannten Media Manager verwaltet. Den Bildern kann man eine Beschreibung zuweisen und die Ausrichtung bestimmen. Die Umsetzung in HTML-Code übernimmt Joomla!. Ähnlich einfach lassen sich auch Seitenumbrüche hinzufügen und so ein Artikel auf mehrere Seiten verteilen.

Menüs

Menüs werden bei Joomla! über das Menü Menüs administriert. Man kann beliebig viele Menüs erstellen und im Template auf verschiedene Weisen platzieren. In den Menüs kann man Menüeinträge mit beliebig tiefer Hierarchie erstellen. Für jeden Link legt man einen Typ fest und kann dann je nach Typ verschiedene Einstellungen erledigen.

Diese Art der Menükonfiguration macht die Menüs unäbhängig von der Inhaltsstruktur und erlaubt somit flexiblere Menükonfiguration als manche anderen CMS, die die Menüs anhand der Struktur des Inhaltes erstellen.

Media Manager (Menüpunkt: Site / Medien)

Der Media Manager ist für die Verwaltung von Bilddateien zuständig. Diese liegen im Joomla!-Verzeichnis im Ordner images. Er ist also, bis auf die Beschränkung auf Bilddateien, ein Dateimanager wie Nautilus unter GNOME oder Konqueror unter KDE. Ähnlich wie andere Dateimanager bietet auch er verschiedene Ansichten: Thumbnail-Ansicht, vergleichbar mit der Symbolansicht unter Nautilus und eine Detail-Ansicht, mit Infos zu Dateigröße, Maße.
Auf diese Bilder kann danach vom Beitragseditor aus zugegriffen werden. Mit diesem lassen sie sich unkompliziert im Dokument platzieren.

Benutzer (Menüpunkt: Site / Benutzer)

Die Benutzerverwaltung von Joomla! ist einfach gestrickt und ermöglicht nur wenige Einstellungen. Im Gegensatz zu vielen CMS bietet Joomla! nämlich keine Möglichkeit die Benutzer auf die Arbeit an einem bestimmten Bereich der Seite zu beschränken. Man kann den Benutzern entweder global für die Seite Editierrechte geben oder nicht.

Die vorgegebenen Gruppen von Joomla! bieten jedoch eine kleine Abstufung. Es gibt registrierte Nutzer, Autoren, Editoren, Publisher, Manager, Administratoren und Super Administratoren. Jede Gruppe hat vorgegebene Rechte, die dann für die Seite gelten.
Der Zugriff auf Unterseiten lässt sich nur auf registrierte Nutzer oder auf "Special"-Benutzer beschränken. Dies sind alle, Benutzer, die mindestens Autor sind.
In Zukunft soll jedoch auch Joomla! eine flexiblere Benutzer- und Rechteverwaltung bieten.

Websiteerstellung mit Joomla!

Das Erstellen einer Website mit Joomla! erfordert einige Einarbeitung. Wenn dann allerdings das Template, die Grundstruktur und erste Inhalte eingepflegt sind, erleichert Joomla! die Pflege und Erweiterung der Website und bietet dem Webmaster viel Flexibilität. Vorraussetzung ist, dass der Webmaster mit Joomla! umzugehen weiß. Außerdem unterstützt Joomla! durch Statistiken und zeigt einem so, welche Seiten erfolgreich sind und welche nicht.

Zusätzlich existieren für Joomla! viele Erweiterungen, mit denen man das CMS fast unbegrenzt erweitern kann. Für viele häufige Einsatzgebiete existieren fertige Erweiterungen, die größtenteils unter joomla.org zum Download zu Verfügung stehen. Hier ein paar Beispiele: Joomlaboard, ein Forum, dass sich in die Site integriert, Virtuemart, eine Shop-Komponente oder DOCMan, ein Dokumenten Management System.

Die Zukunft Joomla!'s

Es wird noch einige Monate dauern, bis Joomla! 1.5 den Status "stable" erhält und dann auch produktiv eingesetzt werden kann. Allerdings bringt diese Version einige interessante Neuerungen mit und bietet eine komfortablere Oberfläche als die aktuelle Version 1.0.X. Jedoch tut sich leider auch in der Version 1.5 noch nicht viel in Richtung Barrierefreiheit, welche erst in der nachfolgenden Version gegeben sein wird.

In dieser Version sollen dann außerdem unter anderem eine Versionkontrolle, ein Update Mechanismus und die Unterstützung von mehr Datenbanken hinzukommen. Wann diese Version erscheinen wird, ist jedoch noch offen. Selbst die Version 1.5, die im 3. Qurtal 2006 erscheinen sollte, ist bis heute (08.04.2007) noch als unstable (nicht für den Produktiveinsatz geeignet) gekennzeichnet.