Dem Markus seine Spielwiese
Joomla! (engl. dschuumla, seltener auch dt. juumla) ist ein populäres freies Content-Management-System (CMS), das aus dem Open-Source-Projekt Mambo hervorgegangen ist und inzwischen in den unterschiedlichsten Anwendungsbereichen weltweit zum Einsatz kommt.
Joomla ist Freie Software und steht unter der GNU General Public License. Es ist in PHP 5 geschrieben und verwendet MySQL als Datenbank (weitere Datenbankschnittstellen stehen in Entwicklung).
Joomla! gehört zusammen mit Typo3 und Drupal zu den bekanntesten Open-Source-CMS.<ref>Google Trends</ref>
Contents
Geschichte
Geeklog gehört zu den kleinen, schlangen WebCMS, kann sich nicht mit Typo3 wohl aber mit Drupal, Mambo und Joomla messen.
Es wurde bereits zwei mal durch Google Summer of Code gefördert.
Versionen
Version 1.0.x
- Am 19. September 2005 wurde die Version 1.0.0 freigegeben. Merkmale sind:
- Bereinigung von Fehlern und Sicherheitslöchern
- Unterstützung von MySQL 4.1
- Am 21. Juli 2007 ist die Version 1.0.13 veröffentlicht worden. In dieser Version werden fünf unkritische Sicherheitsmängel behoben sowie die Veränderung des Passwortsystem mittels des Salt-Algorithmus eingeführt. Aufgrund dieser Änderung ist ein Downgrade auf frühere Versionen nicht mehr möglich und sämtliche Fremdmodule, die mit dem Login arbeiten (z. B. Brücken zu Fremdsoftware wie ein Forum), sind nicht mehr mit dieser Version kompatibel.
- Am 22. Februar 2008 ist die Version 1.0.15 veröffentlicht worden. Die Version schließt kritische Sicherheitslücken, die erst kurz nach Veröffentlichung der Vorgängerversion 1.0.14 bekannt wurden.
Grundlegende Funktionsweise
In der Basisversion ist Joomla zunächst vor allem ein Redaktionssystem, das es einem oder mehreren Autoren erlaubt, Texte und Bilder mithilfe von Upload- und Editierwerkzeugen online zu stellen. Die eingegebenen Daten werden dabei zunächst in einer Datenbank gespeichert und bei einem Seitenaufruf mittels der Skriptsprache PHP dynamisch zusammengesetzt. Über die Anweisung <?php mosMainBody ();?>
wird dabei im Template ein Skript aufgerufen, das die Ausgabe vom Nutzer eingegebener Inhalte an einer einzelnen, definierten Stelle auf der Webseite, dem Main-Content-Bereich, initiiert.
Darüber hinaus werden schon in der Basisversion eine Reihe sogenannter Module zur Verfügung gestellt, mittels derer der Nutzer vom System automatisch Daten, wie z. B. Übersichten der zuletzt eingestellten Artikel, auf der Webseite generieren lassen kann. Diese Module werden durch PHP-Skripte des Typs mosLoadModules eingebunden. Die von den Modulen zusammengestellten Daten können so an verschiedenen, von der Position der Skriptanweisungen im Template vorgegebenen, Stellen auf der Webseite ausgegeben werden.
Mit sogenannten Komponenten, wie z. B. der in der Grundausstattung enthaltenen Kontakte-Komponente, eingegebene Daten werden dagegen beim Aufruf einer entsprechenden Seite im Browser vom Skript mosMainBody angefordert und im Main-Content-Bereich angezeigt. Auf die Darstellung dieser Daten kann dabei allerdings zum Teil nur bedingt durch Manipulation der die Ausgabe steuernden Anwendungsskripte Einfluss genommen werden.
Erweiterungen
Viele Anwender haben Erweiterungen (Plugins, Addons) für Geeklog erstellt und beiten diese kostenlos an. Dazu gehören ein Forum-Plugin und ein Galerieplugin.
Sicherheit
Geeklog wurde von anfangs für ein Sicherheitsportal entwickelt und somit selber mit viel Sicherheit in derKonzeption gebaut. Das zeigt das linuxähnliche Rechtesystem, aber auch ...
Version 1.5.x
Am 22. Januar 2008 wurde der erste Stable Release von Joomla! 1.5 über die offizielle Projektseite veröffentlicht. Der Release trägt die Versionsnummer 1.5.0 und den Codenamen Khepri, der gleichnamigen altägyptischen Gottheit, die den Sonnenaufgang verkörpert.<ref>Meldung auf der Joomla! Projektseite</ref>
Version 1.5 stellt für das CMS Joomla! einen Entwicklungssprung dar. Basierte der Quellcode der 1.0x-Serie noch auf Mambo, handelt es sich bei der Version 1.5 im Prinzip um ein neues CMS.
Wegen des neuartigen Aufbaus der Version 1.5 wird oft von einem sogenannten Framework gesprochen. Der Code wurde vollständig objektorientiert ausgelegt und die Komponenten folgen dem Model-View-Controller-Entwurfsprinzip. Dementsprechend steht Komponentenentwicklern eine neue API zur Verfügung, um eigene Erweiterungen für Joomla! zu entwickeln. Obwohl das Framework in der objektorientierten Version PHP 5 geschrieben wurde, ist Joomla! 1.5 auch zur Version 4 teilweise abwärtskompatibel. Dennoch wird PHP 5 für den Betrieb empfohlen, da Joomla 1.5 mit dieser Version signifikant schneller und stabiler läuft.
Ausgewählte Eigenschaften
- Strikte Trennung von Layout/Design und funktionalem Quelltext mit dem Model-View-Controller-Entwurfsprinzip
- Suchmaschinenoptimierung – Joomla! kann menschen- und maschinenlesbare URLs (z. B. für Suchmaschinen) erzeugen
- Eingebaute Volltext-Suchfunktion
- Eingebaute Caching-Mechanismen sorgen für gute Performance
- Zahlreiche Themes ermöglichen weitgehende Anpassung des Layouts
- Spracheinstellungen (auch mehrsprachige Sites) mit Hilfe von Lokalisierungsdaten
- Anbindung an LDAP Server/-Authentifizierung
- Anbindung an OpenID Server/-Authentifizierung
- Integration von Ajax-Features mit dem Web 2.0 JavaScript-Framework MooTools
Sicherheit
Aufgrund der Popularität von Joomla wurde die Version 1.0.x oft zur Zielscheibe für Hackerangriffe. Die Angriffe nutzten zumeist Schwachstellen bei installierten Drittkomponenten aus oder waren auf fehlerhaft konfigurierte Installationen zurückzuführen. In einigen Fällen lag das Sicherheitsproblem auch direkt bei den Joomla-Kerndateien.
Aus diesem Grund hat man sich beim Design von Joomla 1.5 dazu entschlossen, die Sicherheitsarchitektur grundlegend zu überholen. Die gesteigerte Robustheit der Version 1.5 gegenüber Hackerangriffen lässt sich zum gegenwärtigen Zeitpunkt nicht bestätigen, da die neue Version noch nicht lange genug im praktischen Einsatz ist. In einem separaten englischen Wiki<ref>Security and Performance FAQs</ref> werden grundlegende Sicherheitstipps für den sicheren Betrieb von Joomla gegeben.
Eine Sicherheitslücke im Kernsystem von Joomla, die auf eine unzureichende Eingabeüberprüfung zurückzuführen war, führte nach Bekanntwerden zu ersten Hackerangriffen auf veraltete Internetpräsenzen der Version 1.5. Betroffen waren alle Versionen der Joomla 1.5 Reihe, einschließlich der Version 1.5.5. Die Sicherheitslücke wurde mit Version 1.5.6 behoben.
Version 1.6
Version Joomla 1.6 befindet sich gerade in der Entwicklung. Laut Angabe der offiziellen Entwickler ist die Veröffentlichung von Joomla 1.6 für das vierte Quartal 2008 geplant.
Joomla 1.6 wird den Support für PHP 4 einstellen und nur noch zu PHP 5.2+ kompatibel sein. Eines der neuen Hauptfeatures in Version 1.6 wird ein umfangreiches Rechtesystem sein, das auf einer Access Control List beruht.
Joomla 1.6 setzt die 1.5-Reihe fort und erweitert diese Version um zahlreiche neue Features. Da die Version 1.6 vollständig auf dem neuen Framework der 1.5 basieren wird, wird ein Update von Version 1.5 auf 1.6 problemlos möglich sein. Ein Wechsel von der älteren Version 1.0 auf die neue Version 1.6 wird hingegen nicht unterstützt werden und aufgrund der tiefgreifenden Veränderungen im System (seit Einführung von Joomla 1.5) nicht möglich sein.
Joomla! User Groups (JUGs)
Die sogenannten JUGs sind lokale Gruppen von Joomla-Benutzern und -Entwicklern, die sich regelmäßig zusammenfinden, um Informationen über Joomla! auszutauschen, Projekte zu planen (z. B. Workshops) und natürlich, um sich kennen zulernen und somit die soziale Komponente von Open-Source-Software zu pflegen. JUGs gibt es bisher (Stand Juli 2008) in den Städten Berlin, Köln, Nürnberg, Regensburg, in Hessen, im Ruhrgebiet, Sachsen und Schleswig-Holstein sowie in der Schweiz und in Österreich.
Name und Logo
Der Name Joomla! (englische Lautumschreibung) leitet sich von dem Wort „Jumla“ aus der Suaheli-Sprache ab. Es bedeutet soviel wie „das Ganze“ oder auch „als ganzes“ und betont damit die Rolle der Entwickler-Gemeinschaft (Community). 2006 kamen Nutzer, Firmen und Verlage in Bonn zu einem Kongress zusammen, dem Joomla!Day.
Das offizielle Logo besteht aus dem Logobild und dem Joomla!-Schriftzug. Das Logobild repräsentiert die Vereinigung der Joomla!-Community. Es setzt sich aus vier zueinander gedrehten J zusammen. Das Joomla!-Logo ist nicht copyrightfrei und darf nur unter bestimmten Bedingungen verwendet werden. Ein Abändern des Logos ist in den meisten Fällen nicht gestattet. Das Logo darf dann in Publikationen verwendet werden, wenn sich diese an die von Joomla! vorgegebene Farbgestaltung hält.<ref>joomla!-Logo, Download und Verwendungsbeschränkung</ref>
Community
Joomla hat eine offizielle und viele inoffizielle Communities. Seit Juni 2008, weist das offizielle Joomla-Forum mehr als 299.000 Beiträge auf mit mehr als 1,3 Millionen Posts von mehr als 195.000 registrierten Mitgliedern in 40 Sprachen. Inoffizielle Seiten werden in vielen Sprachen veröffentlicht, meist mit Joomla-Erweiterungen, die regions-spezifisch sind. Bi-direktionale Text-Unterstützung für Hebräisch und Arabisch zum Beispiel finden sich häufig in Community Portalen von Drittanbietern. Inoffizielle Web-Entwickler programmieren ebenfalls Erweiterungen und Templates für den kommerziellen Vertrieb und bieten individuelle Anpassungsdienste auf Freelance-Basis an. Gewöhnlicherweise wird ein Template in einer Zip-Datei veröffentlicht, die mit Hilfe des integrierten Joomla-Installationsprogrammes installiert werden kann.
Medien
Literatur
Geeklog 1.4.x
- Hoi sin: blabla ISBN 978-3-8273-2323-1.
Weblinks
- offizielle Geeklog-Webseite (englisch)
- Geeklog – Deutschland, Frankreich und Polen, Japan
Einzelnachweise
<references />
Kategorie:Web-Content-Management-System
Kategorie:Freies Content-Management-System
Kategorie:Skriptsprache PHP
af:Joomla ar:جملة! bg:Joomla! bs:Joomla! ca:Joomla! cs:Joomla! da:Joomla! en:Joomla! eo:Joomla! es:Joomla! eu:Joomla! fa:جوملا! fi:Joomla fr:Joomla! gl:Joomla! he:ג'ומלה hr:Joomla! hu:Joomla! id:Joomla! it:Joomla! ja:Joomla! ko:줌라 ku:Joomla! lv:Joomla! mk:Јоомла! ms:Joomla! nl:Joomla! no:Joomla! pl:Joomla! pt:Joomla ro:Joomla! ru:Joomla sk:Joomla sr:Joomla! sv:Joomla th:จูมลา! tr:Joomla! uk:Joomla uz:Joomla! vi:Joomla! zh:Joomla!