1 Einleitung
Was ist ein Content-Management-System, und wie platziert sich Joomla! in der Masse der Webapplikationen? Dieses Handbuch erklärt Ihnen, welche Internettechnologien involviert sind, und hilft, das Maximum aus dem CMS herauszuholen.
Dieses Buch richtet sich an Sie, egal, ob Sie mit Joomla! Ihre eigene private Homepage aufsetzen oder Ihr Teamleiter das Projektbriefing mit dem Satz »Wir brauchen jetzt einen Joomla!-Experten!« einleitet. Auf den folgenden Seiten lernen Sie das Open-Source-Content-Management-System (CMS) in- und auswendig kennen. Sie gehen dabei entweder chronologisch, Kapitel für Kapitel, vor oder schlagen immer mal wieder ein Thema nach, das Ihnen Kopfzerbrechen bereitet. Dabei hilft Ihnen sowohl das Inhaltsverzeichnis als auch der umfassende Index am Ende des Buchs, über den Sie in Sekundenschnelle den passenden Abschnitt zu jedem Thema finden, dem Sie im Rahmen von Joomla! begegnen.
Die Kennzeichnung umfassend im Titel dieses Handbuchs signalisiert, dass dies nicht nur ein Kompendium für Joomla! ist, mit dem Sie Schritt für Schritt jedes Feature kennenlernen. Selbst als Einsteiger haben Sie nach wenigen Kapiteln die Idee, das Bedienungskonzept und die Funktionsweise von Joomla! verstanden. Darum liegt ein großer Schwerpunkt dieses Buchs auf dem möglichst praxisnahen Einsatz des CMS. Nicht nur eine Auflistung aller Menüpunkte und Einstellungsoptionen – dafür gibt’s in Joomla! Tooltips, die erscheinen, wenn man mit der Maus über eine Feldbeschreibung fährt. Sondern Hintergründe, das Wie und Warum, Tipps für das Tagesgeschäft und konkrete Problemlösungen. Was, wenn die Installation hängen bleibt? Hilfe, das Joomla!-Fenster ist komplett weiß ohne Inhalt! OK geklickt und eine Datenbankfehlermeldung erscheint? In diesem Handbuch erfahren Sie, wie es in solchen Fällen weitergeht. Und sind Sie dann etwas vertrauter mit Joomla!, legt die zweite Hälfte des Buchs den nächsten Gang ein. Sie lernen, das CMS nach Ihren Wünschen und Businessanforderungen zu erweitern, entweder mit herunterladbaren Extensions oder auf eigene Faust, damit Sie das Maximum aus Joomla! herausholen.
Ohne Fachchinesisch geht’s nicht, besonders in der internationalen Welt von Internetapplikationen, Webservern und Content-Management-Systemen. Die Texte in diesem Buch umgehen diese Herausforderung nicht durch eine unnatürliche Eindeutschung etablierter IT-Begriffe. Computerenglisch wird dort verwendet, wo es üblich ist, damit Sie sich auch mit Kollegen über technische Themen unterhalten können und sich in internationalen Foren zurechtfinden. Eine Gratwanderung freilich, die man gelegentlich an den deutschen Übersetzungen der Joomla!-Benutzeroberfläche beispielhaft nachverfolgt. Denn eine Grenze zwischen Original-Fachbegriffen und verdaulichen Übersetzungen zu ziehen ist höchstens durch eine klare Trennung zwischen Websiteadministratoren/Webmastern und Mitarbeitern möglich, die für die Content-, Verzeihung, Inhaltspflege verantwortlich sind. Doch selbst Websiteautoren und -lektoren sollten mit den Begriffen Content-Management, Main Menu, Template und Link etwas anfangen können. Um Ihnen den Einstieg in neue Themen zu erleichtern, entdecken Sie daher zu Beginn jedes Kapitels eine Tabelle, die Ihnen die wichtigsten Begriffe erklärt, um die es auf den jeweils folgenden Seiten geht.
Die Kenntnis dieser Begriffe ist wichtig, wenn Sie mal im Internet nach zusätzlichen Informationen suchen. Denn auch wenn die deutschen Foren, insbesondere zu Joomla!, starkes Wachstum vorweisen (besonders beliebt sind http://www.joomlaportal.de und http://forum.joomla.de), finden Sie die meisten wertvollen Informationen häufig auf internationalen Websites und damit in englischer Sprache. Paradebeispiel hierfür ist das offizielle Forum http://forum.joomla.org, in dem Sie topaktuelle Diskussionen zu Installations- oder Administrationsfragen finden.
1.1 Aufbau des Handbuchs
Das Handbuch ist in fünf große Abschnitte unterteilt, die chronologisch aufeinander aufbauen. Je weiter Sie im Buch fortfahren, desto anspruchsvoller werden die Themen. Das bedeutet nicht unbedingt, dass sie komplizierter werden, aber doch das Wissen aus den vorangegangenen Kapiteln voraussetzen.
Teil 1 – Grundlagen
In diesem Teil machen Sie es sich vor dem Arbeitsrechner erst mal gemütlich und bereiten alles vor, was Sie für die Entwicklung einer Joomla!-Website benötigen. Dazu gehören eine ausgewachsene, professionelle Entwicklungsumgebung und auch schon die ein oder andere fortgeschrittene Konfiguration des Content-Management-Servers. Keine Sorge, wenn’s zu komplex wird, können Sie diese Passagen auch gefahrlos überspringen.
Teil 2 – Joomla! benutzen
Nach der Installation der Entwicklungs-/Testumgebung und Joomla! selbst lernen Sie hier das Content-Management-System in all seinen Details kennen. Und zwar mit allen Features und Funktionen, die es von Haus aus mit sich bringt, den sogenannten Bordmitteln. Dabei werden Sie erfreut feststellen, dass Joomla! out-of-the-box, also unmittelbar nach der Installation, in der Lage ist, eine vollständige moderne Website auszuliefern. Und das sogar in Responsive Design, einer Technik, die auch auf Tablets und Smartphones ansprechende und auf das jeweilige Endgerät perfekt zugeschnittene Ausgaben erzeugt.
Teil 3 – Joomla! erweitern
Aber die wahre Stärke von Joomla! liegt in seiner gewaltigen Community, die Tausende von Erweiterungen kostenlos (kostenpflichtig für professionellere Extensions) bereitstellt. Damit wird das Content-Management-System noch komfortabler und lässt sich um Features erweitern, von denen Sie heute noch gar nicht wussten, dass sie morgen Teil der Anforderung werden. Ideal für ein agiles Websiteprojekt. Eine Community-Plattform mit Forum und Nachrichtensystem? Ein ausgewachsener Online-Shop mit PayPal- und Kreditkarten-Bezahlung und Anbindung ans Warenwirtschaftssystem? Alles nur ein paar Mausklicks entfernt.
Teil 4 – Joomla! warten
Aus den letzten Teilen entstand nun ein Content-Management-System in maximaler Ausbaustufe mit allen Erweiterungen, die Ihre Website funktionell benötigt. Dieser Teil beschäftigt sich mit dem Tagesgeschäft: Welche Maßnahmen zur Suchmaschinenoptimierung lassen sich durchführen? Wie gelangt Content aus Entwicklungsumgebungen auf das Live-System? Lässt sich die Website noch beschleunigen? Und, last, but not least, was zu tun ist, wenn das System durch einen Hackerangriff kompromittiert wurde.
Teil 5 – Joomla!-Erweiterungen entwickeln
Teil II beschäftigte sich schon mit Design und Layout der Website, wie man Templates installiert und ein bisschen mit den Darstellungseinstellungen experimentiert. Wer seine Website aber in ein professionelles, teuer in Auftrag gegebenes Design tauchen möchte, kommt um die Programmierung eines eigenen Templates, im Kern eine Joomla!-Erweiterung, nicht herum. Dieser Teil zeigt, wie’s funktioniert, und schwenkt weiter zur Programmierung anderer Erweiterungen, die sich an fortgeschrittene Entwickler richtet. Sie nutzen das richtungsweisende Programmier-Framework von Joomla! zur Programmierung kleiner Inhaltsmodule für die Homepage, nützlicher kleiner Feature-Erweiterungen (Plugins) oder größerer Komponenten, die den Funktionsumfang von Joomla! signifikant erweitern. Ein bisschen Erfahrung in der PHP- und objektorientierten Programmierung sollten Sie mitbringen.
Bei der Erstellung dieses Handbuchs wurde mit allergrößter Sorgfalt und Recherche vorgegangen. Trotzdem kann ein Screenshot oder ein einzelner Fakt aufgrund der Schnelllebigkeit und der rasanten Entwicklungszyklen der neuen Versions-Releases nicht mehr aktuell sein. Haben Sie dann bitte Nachsicht. Geraten Sie an eine Textpassage oder eine Anleitung, die Sie nicht exakt nachvollziehen können, ist ein Blick auf die Website zum Buch empfehlenswert (https://joomla-handbuch.com). Dort finden Sie Updates gegebenenfalls veralteter Informationen.
1.1.1 Begleitende Hinweise
Geraten Sie mal an eine Passage, die sich wie das Um-die-Ecke-gedacht-Kreuzworträtsel der Zeit liest, halten Sie nach einem Kasten Ausschau, der mit zusätzlichen Informationen zum gerade im Fließtext besprochenen Thema aufwartet. Dabei gibt es verschiedene Arten von Kästen:
Kasten »Achtung«
Achtung: Pflichtlektüre, sonst kann es zu Problemen kommen
Sehr wichtige Hinweise zu Fallstricken, Einschränkungen und Sicherheitsrisiken bei der Verwendung einer Funktionalität. Das betrifft z. B. Auswirkungen einer Einstellung auf eine völlig andere Komponente. Oder kollidierende Benutzerrechtekonzepte, z. B. das alte Problem: »Wie streng lässt sich ein System absichern, wenn einige Benutzer aber doch bestimmte Rechte benötigen?« Oder, ganz wichtig: »Speichern Sie Programmdateien von Joomla! immer in UTF-8.«
Kasten »Tipp«
Tipp: Den anderen Joomla!-Webmastern eine Nasenlänge voraus sein
Praktische Tricks aus dem Tagesgeschäft, dem Alltag bei der Konfiguration und Bedienung von Joomla!, z. B. Link- oder Softwareempfehlungen oder abgekürzte Wege bei der Bedienung.
Kasten »Info«
Info: Das könnte interessant für Sie sein – hat mit dem Thema zu tun
Ein kleines ergänzendes Informationshäppchen, manchmal auch zur Erinnerungsauffrischung. Was hat es z. B. mit dieser Funktion auf sich, die zwar in der Benutzeroberfläche angezeigt, aber äußerst selten, wenn überhaupt, benötigt wird? Oder – für später – wie deinstallieren Sie jetzt diese gerade frisch eingerichtete Komponente?
Kasten »Hintergrund«
Hintergrund: Zum Schmökern
Allgemeinere Hintergrundinformationen, die sich nicht unbedingt auf den eben vorgestellten Mechanismus, sondern die Technik oder Motivation dahinter beziehen. Und natürlich die Erklärung weiterer Fachbegriffe und Abkürzungen.
Kasten »Problemlösung«
Problemlösung: Beim letzten Schritt ist etwas kaputtgegangen. Was nun?
Bei komplizierten technischen Themen lauert Murphy überall. Hakt die Installation? Was bedeutet diese Fehlermeldung? Wieso sieht dieser Konfigurationsschritt bei mir ganz anders aus als im Handbuch? Natürlich lassen sich in diesem Buch nicht alle Bugs und Sperenzchen von Joomla! klären und lösen. Dafür ist das Internet da. Aber die meisten unerwarteten Verhalten und Fehlermeldungen beruhen häufig auf einem fundamentalen Problem, das schnell geklärt ist.
Kleinere Tipps oder Hinweise finden Sie auch abseits der Kästen im Fließtext, wenn z. B. das Thema nicht besonders umfangreich ist oder es sich nur um eine kurze Ergänzung oder einen Minitipp handelt. Hinweis: Die Hinweisbezeichnungen sind kursiv hervorgehoben.
Linktipps
Gelegentlich finden Sie auch Linktipps in den Texten dieses Handbuchs. Bei besonders kryptischen Links findet der Linkshortener TinyURL Anwendung, damit sich beim Abtippen von z. B. YouTube-Adressen keine Fehler einschleichen. Solche abgekürzten Links sind im Pfad nach der tinyurl.com-Domain erkennbar durch das Präfix jh für »Joomla!-Handbuch«, z. B. http://tinyurl.com/jh-spam oder http://tinyurl.com/jh-php-statistik.
SEO-Tipps
Weiterhin finden Sie überall im Buch verstreut SEO-Tipps. Ratschläge und Maßnahmen, wie Ihre Website besser von Google und Co. indexiert wird und vor Ihren Mitbewerbern im Sucherergebnis erscheint. Das läuft Hand in Hand mit der idealen Bedienbarkeit der Website, schnellen Ladezeiten und der Bereitstellung qualitativ hochwertigen Contents. SEO-Tipps sind also nicht nur geheime Tricks, um ein besseres Suchmaschinen-Ranking zu erlangen, sondern generelle Ratschläge, wie Sie die Attraktivität Ihrer Website auch für menschliche Besucher steigern.
Diagramme
Manchmal reichen Worte zwar aus, um ein komplexes Thema zu erklären, aber veranschaulichen sie es auch? In solchen Fällen finden Sie ein Diagramm oder ein Schaubild, das die Zusammenhänge visuell darstellt, z. B. einen Workflow oder Abhängigkeiten zwischen verschiedenen Komponenten.
Textformate und typgrafische Konventionen
Im Fließtext dieses Handbuchs finden Sie häufig Bezüge auf technische Elemente und Komponenten, z. B. Buttonbeschriftungen, Menüpunkte, Internetadressen (URLs), Auszüge aus Konfigurationsdateien und auch kleine Programmlistings. Um diese vom normalen Text hervorzuheben, sind sie auffällig formatiert:
-
Interaktionselemente, Buttons, Links, Beschriftungen, alles, was Sie von einer Webseite ablesen
-
Einen Klickpfad, also mehrere nacheinander zu klickende Elemente, erkennen Sie durch die Trennung mit einem Bulletpunkt (•), z. B. Menü System • Konfiguration • Komponente Beiträge • Reiter Berechtigungen.
-
Internetadressen, URLs und auch URL-Bestandteile, z. B. die Domain oder Teilpfade
-
»Texteingaben befinden sich in Anführungszeichen«
-
Verzeichnisse oder Dateien im Dateisystem Ihres Arbeitsrechners
-
Kommandozeilenbefehle
-
XML-Code, PHP-Listings, HTML-Code, CSS-Styles, JavaScript-Code; /* einzelne Listingteile koennen auch hervorgehoben sein */
-
Konfigurationen, Werte und HTTP-Antwortnummern
-
Eine Besonderheit von Joomla!: Begegnen Sie einem Tabellennamen aus der Datenbank, beginnt dieser mit einem Hash-Zeichen, z. B. #__content. Das Symbol steht für die fünf Zeichen, die Joomla! bei jeder Installation zufällig vergibt und vor alle Tabellennamen stellt. #_ ist dann durch die Zeichenkombination Ihrer individuellen Joomla!-Instanz zu ersetzen.
-
Begegnen Sie kursiv geschriebenen Begriffen, wird meist eine neue Komponente oder Technologie eingeführt; ein wichtiges Wort, das Sie auf den jeweils folgenden Seiten häufiger sehen werden. Gelegentlich dienen kursiv gesetzte Worte auch einer Betonung.
1.1.2 Die Website zum Buch
Parallel zur Lektüre dieses Handbuchs sind Sie eingeladen, die begleitende Website unter https://joomla-handbuch.com zu besuchen. Sie finden dort nützliche Tipps, Tools und Links, die den Buchinhalt ergänzen, und dürfen sich sogar ins Backend einloggen (Benutzername: »Auditorium«, Passwort: »KnusperQuasselHummel«), um sich dort umzusehen. Manchmal versteht man eine Komponente oder ein Plugin besser, wenn man direkt auf Buttons klickt und sieht, was passiert. Der Zugang hat keine Schreibrechte, Sie können nach Belieben herumklicken, ohne versehentlich etwas zu löschen.
1.1.3 Das Reiseforum, das CMS, der Shop und die Community
Um einen realen Bezug zur Erstellung einer echten Website herzustellen, entsteht im Verlauf dieses Handbuchs ein kleines Reiseforum – eine Website mit Reiseberichten, Vorstellung von Urlaubszielen, Listen für Reisetipps und natürlich einer Galerie der schönsten Urlaubsfotos.
Dabei kommen nicht nur Joomla!-eigene Features zum Einsatz, sondern auch Schritt-für-Schritt Erweiterungen, die den Funktionsumfang der Open-Source-Software ergänzen. Zunächst zu einem äußerst flexiblen Content-Management-System, dann zu einer ausgewachsenen Community-Plattform und schließlich durch das Hinzufügen von Shop-Features zu einem professionellen E-Commerce-System.
Im letzten Fünftel des Handbuchs wird das Reiseforum außerdem mit selbst programmierten Erweiterungen ausgebaut. Somit begegnen Sie im Verlauf der Lektüre allen denkbaren Szenarien für den Einsatz von Joomla! und können nicht nur Ihre eigene Website um beliebige Funktionen erweitern, sondern sind auch für die Webprojekte von Kollegen oder Kunden gerüstet.
Wenn Sie in diesem Handbuch lesen, wie Joomla! konfiguriert, Inhalte eingestellt und Erweiterungen installiert werden, dient das Reiseforum nur als Beispiel für die Befüllung von Textfeldern und Einstellungen. Aber Sie müssen das Reiseforum natürlich nicht auf ihrem Arbeitsrechner nachbauen. Genau an diesen Textstellen können Sie bereits Ihre eigenen Terminologien einsetzen, um so Ihre Website, parallel zur Lektüre des Handbuchs, aufzubauen.
Online ist das fiktive Reiseforum ebenfalls abrufbar, damit Sie Anleitungen nicht nur in Form dieses Handbuchs schwarz auf weiß vor sich liegen haben, sondern sich auch hands-on durch das tatsächliche System klicken können. Das veranschaulicht Themen und klärt vielleicht die eine oder andere Konfigurationsfrage, für die der Screenshot im Handbuch nicht aussagekräftig genug ist.
Das Reiseforum erreichen Sie, je nach Ausbaustufe, unter der Begleitwebsite-URL mit verschiedenen Subdomains (die kurze Bezeichnung vor der Hauptdomain joomla-handbuch.com):
-
Teil 2 – Joomla! benutzen
http://reiseforum.joomla-handbuch.com
Mit den Standardfeatures von Joomla! inklusive Mehrsprachigkeit, Beispielbenutzern und verschiedenen Templates (aber größtenteils unter Verwendung des Standardtemplates Protostar).
-
Teil 3 – Joomla! erweitern • Joomla! als Content-Management-System
http://cms.joomla-handbuch.com
Das Thema Content-Management-System umfasst mehr Funktionalitäten, als die Joomla!-Standardinstallation bereitstellt, z. B. benutzerdefinierte Inhaltstypen und Webseitenformulare. Darum sehen Sie hier, wie sich die passenden Erweiterungen nahtlos ins System fügen.
-
Teil 3 – Joomla! erweitern • Joomla! als Community-Plattform
http://community.joomla-handbuch.com
Eine Community-Website hat einen starken Fokus auf Benutzer, ihre Profile und die Kommunikation zwischen ihnen. Sehen Sie die sinnvollsten Erweiterungen für Foren, Newsletter und auch die Social-Media-Integration live im Einsatz.
-
Teil 3 – Joomla! erweitern • Joomla! als E-Commerce-Plattform
http://shop.joomla-handbuch.com
Es muss nicht immer Magento oder OXID sein. Mit den passenden Erweiterungen wird Joomla! zum Online-Shop mit komfortabel bedienbaren Produktkatalogen und lückenlosen Checkout-Prozessen.
-
Teil 5 – Joomla!-Erweiterungen entwickeln
http://development.joomla-handbuch.com
Damit die Beispielwebsites nicht zu unübersichtlich werden, erhält auch der Programmierabschnitt eine eigene Joomla!-Instanz, in der Sie Fortschritte bei der Template- und Komponentenentwicklung besser nachvollziehen.
Wichtig: Zugang ins Backend all dieser Websites erhalten Sie über den Benutzernamen »Auditorium«, Passwort: »KnusperQuasselHummel«. Aus Sicherheitsgründen (mehr dazu in Kapitel 22, »Sicherheit ausbauen«) erfolgt die Passwortabfrage in zwei Stufen, einmal als Serverabfrage in einem Popup-Fenster und dann noch mal im eigentlichen Login im Backend von Joomla!.
Genug zum Handbuch. Der folgende Abschnitt klärt mit Ihnen die Voraussetzungen für die Erstellung einer Website. Das Verständnis der Internetlandschaft mit all den Servern und Clients, Websites, URLs, Datenbanken, Programmiersprachen und Protokollen, um mit Joomla! von einem definierten Startpunkt loslegen zu können. Danach finden Sie Infos zur Geschichte und dem eigentlichen System Joomla!, bevor Sie dann Ihren Arbeitsrechner starten. Denn in Kapitel 2 geht’s bereits los mit der Einrichtung einer Joomla!-Entwicklungs- und Testumgebung.