Joomla kompakt - Brain-Media.de Brain-Media.de
Joomla kompakt - Brain-Media.de Brain-Media.de
Joomla kompakt - Brain-Media.de Brain-Media.de
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
BRAIN-MEDIA.DE<br />
PROFESSIONELLES LINUX- UND OPEN-SOURCE-KNOW-HOW<br />
Neugebauer / Reibold<br />
<strong>Joomla</strong>! <strong>kompakt</strong><br />
Alles, was Sie für <strong>de</strong>n Einsatz <strong>de</strong>s freien<br />
Content-Managementsystems wissen müssen
Tim Neugebauer / Holger Reibold<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
2 <strong>Joomla</strong>! <strong>kompakt</strong><br />
Alle Rechte vorbehalten. Ohne ausdrückliche, schriftliche Genehmigung <strong>de</strong>s Verlags<br />
ist es nicht gestattet, das Buch o<strong>de</strong>r Teile daraus in irgen<strong>de</strong>iner Form durch<br />
Fotokopien o<strong>de</strong>r ein an<strong>de</strong>res Verfahren zu vervielfältigen o<strong>de</strong>r zu verbreiten. Dasselbe<br />
gilt auch für das Recht <strong>de</strong>r öffentlichen Wie<strong>de</strong>rgabe.<br />
Der Verlag macht darauf aufmerksam, dass die genannten Firmen- und Markennamen<br />
sowie Produktbezeichnungen in <strong>de</strong>r Regel marken-, patent- o<strong>de</strong>r warenrechtlichem<br />
Schutz unterliegen.<br />
Verlag und Autor übernehmen keine Gewähr für die Funktionsfähigkeit beschriebener<br />
Verfahren und Standards.<br />
© 2007 <strong>Brain</strong>-<strong>Media</strong>.<strong>de</strong><br />
Umschlaggestaltung: <strong>Brain</strong>-<strong>Media</strong>.<strong>de</strong><br />
Satz: <strong>Brain</strong>-<strong>Media</strong>.<strong>de</strong><br />
Druck: COD<br />
ISBN-10: 3-939316-08-3<br />
ISBN-13 : 978-3-939316-08-4<br />
www.brain-media.<strong>de</strong>
3<br />
Inhaltsverzeichnis<br />
Vorwort .................................................................................................................. 11<br />
1 <strong>Joomla</strong>! und Content-Management ................................................................ 13<br />
1.1 CMS-Basics ............................................................................................. 13<br />
1.2 Voraussetzungen schaffen ........................................................................ 19<br />
1.3 <strong>Joomla</strong>! in Betrieb nehmen ...................................................................... 22<br />
1.4 Was Sie sonst noch wissen sollten ........................................................... 30<br />
2 Einstieg in die <strong>Joomla</strong>!-Administration .......................................................... 33<br />
2.1 Wissenswertes über Benutzer, Administratoren und Manager ................ 35<br />
2.2 Konfiguration einer <strong>Joomla</strong>!-Site ............................................................. 38<br />
2.2.1 Register Locale ............................................................................... 42<br />
2.2.2 Register Content ............................................................................. 43<br />
2.2.3 Register Database .......................................................................... 45<br />
2.2.4 Register Server ............................................................................... 46<br />
2.2.5 Register Metadata .......................................................................... 48<br />
2.2.6 Register Mail .................................................................................. 49<br />
2.2.7 Register Cache ............................................................................... 50<br />
2.2.8 Register Statistics ........................................................................... 51<br />
2.2.9 Register SEO .................................................................................. 51<br />
2.3 Language Manager ................................................................................... 52<br />
2.4 <strong>Media</strong> Manager ........................................................................................ 53<br />
2.5 Vorschaufunktion ..................................................................................... 55<br />
2.6 Statistiken ................................................................................................. 55<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
4<br />
2.7 Template Manager ................................................................................... 55<br />
2.8 Trash Manager ......................................................................................... 58<br />
2.9 User Manager – Benutzerverwaltung ....................................................... 59<br />
3 Ihre erste <strong>Joomla</strong>!-Site.................................................................................... 63<br />
3.1 Typische Vorgehensweise ........................................................................ 63<br />
3.2 Template-Auswahl und -Installation........................................................ 64<br />
3.3 Struktur für Ihre Site ................................................................................ 66<br />
3.4 Das passen<strong>de</strong> Menü .................................................................................. 68<br />
3.5 Inhalte erstellen ........................................................................................ 70<br />
3.6 Einbin<strong>de</strong>n bestehen<strong>de</strong>r und statischer Inhalte .......................................... 71<br />
3 Der Umgang mit Menüs ................................................................................. 73<br />
4 Inhalte erstellen und bearbeiten ...................................................................... 83<br />
4.1 Content-Elemente erzeugen ..................................................................... 85<br />
4.2 Sektionen ................................................................................................. 89<br />
4.3 Frontpage- und Archivmanager ............................................................... 90<br />
5 Komponenten, Module & Co. ........................................................................ 91<br />
5.1 Komponenten ........................................................................................... 91<br />
5.1.1 Banner ............................................................................................ 93<br />
5.1.2 Kontaktverwaltung ......................................................................... 96<br />
5.1.3 Massenmails ................................................................................... 98<br />
5.1.4 Komponente Newsfeed .................................................................. 99<br />
5.1.5 Umfragen ...................................................................................... 101<br />
5.1.6 Syndicate ...................................................................................... 103<br />
5.1.7 Links ............................................................................................. 105<br />
www.brain-media.<strong>de</strong>
5<br />
5.2 Modulmanager ....................................................................................... 106<br />
5.2.1 <strong>Joomla</strong>!-Module ........................................................................... 107<br />
5.2.2 Modul Login ................................................................................. 111<br />
5.2.3 Modul Archive .............................................................................. 112<br />
5.2.4 Modul Template Chooser ............................................................. 113<br />
5.3 Mambots ................................................................................................ 114<br />
5.4 Installer, Nachrichten und mehr ............................................................. 115<br />
5.4.1 Messaging-Einstellungen ............................................................. 115<br />
5.4.2 Checkin-Informationen ................................................................. 116<br />
6 Template-Entwicklung ................................................................................. 119<br />
6.1 Dreamweaver Template Buil<strong>de</strong>r Extension ........................................... 119<br />
6.2 Template-Gestaltung .............................................................................. 124<br />
6.3 Template-Verzeichnisstruktur ................................................................ 131<br />
6.4 XML-basierte Template-Beschreibung .................................................. 132<br />
6.5 Hea<strong>de</strong>r hinzufügen ................................................................................. 134<br />
6.6 Flash-Animation einbin<strong>de</strong>n .................................................................... 135<br />
6.7 Stylesheet <strong>de</strong>finieren .............................................................................. 136<br />
6.8 Template installieren .............................................................................. 137<br />
7 <strong>Joomla</strong>! barrierefrei ...................................................................................... 139<br />
7.1 Einleitung ............................................................................................... 139<br />
7.1.1 Nutzergruppen .............................................................................. 140<br />
7.1.2 Gesetzliche Anfor<strong>de</strong>rungs<strong>de</strong>finitionen ......................................... 141<br />
7.1.3 Accessibility und Usability ........................................................... 142<br />
7.1.4 Kosten-Nutzen-Relation barrierearmer Web-Angebote ............... 143<br />
7.2 Barrierefreies Web<strong>de</strong>sign mit Content Management Systemen ............. 144<br />
7.2.1 Barrierefreies <strong>Joomla</strong>! .................................................................. 145<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
6<br />
7.2.2 Weitere Hilfsmittel ....................................................................... 147<br />
7.3 Tutorial ................................................................................................... 148<br />
7.3.1 Ausgangspunkt ............................................................................. 149<br />
7.3.2 Validität <strong>de</strong>r Website .................................................................... 150<br />
7.3.3 Template<strong>de</strong>sign für barrierefreie Webpräsenzen .......................... 160<br />
7.3.4 Skalierbarkeit und Crossbrowser-Kompatibilität ......................... 164<br />
7.3.5 Die Navigation ............................................................................. 174<br />
7.3.6 Sprungmarken (Skip Links) ......................................................... 184<br />
7.3.7 Pfadnavigationen (Breadcrumb)................................................... 186<br />
7.3.8 Textlinks ....................................................................................... 186<br />
7.3.9 Kontextbezogene Links ................................................................ 187<br />
7.4 Der Inhaltsbereich <strong>de</strong>r Website .............................................................. 188<br />
7.4.1 Akronyme, Abkürzungen, Fachbegriffe und Sprachwechsel ....... 189<br />
7.4.2 Umsetzung .................................................................................... 191<br />
7.4.3 Formulargestaltung ....................................................................... 203<br />
7.5 Optimierungen ....................................................................................... 209<br />
7.6 Zusammenfassung .................................................................................. 210<br />
8 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r .............................. 213<br />
8.1 Installation <strong>de</strong>s Community Buil<strong>de</strong>rs ..................................................... 213<br />
8.2 Community-Buil<strong>de</strong>r-Konfiguration ....................................................... 216<br />
8.3 Exkurs: Interne Abläufe ......................................................................... 221<br />
8.4 Weiter mit <strong>de</strong>r CB-Konfiguration .......................................................... 225<br />
8.5 Community Buil<strong>de</strong>r aus Benutzersicht .................................................. 232<br />
8.6 Tabs erzeugen ........................................................................................ 234<br />
8.7 Fel<strong>de</strong>r <strong>de</strong>finieren .................................................................................... 235<br />
8.8 Der Umgang mit Benutzerlisten............................................................. 243<br />
8.9 Plugin-Verwaltung ................................................................................. 246<br />
www.brain-media.<strong>de</strong>
7<br />
8.10 Typische Aktionen im Backend ........................................................ 247<br />
8.11 Typische Frontend-Aktionen ............................................................. 252<br />
8.12 Fazit ................................................................................................... 253<br />
9 Formularentwicklung mit FacileForms ........................................................ 254<br />
9.1 Installation und Konfiguration ............................................................... 254<br />
9.2 Ein erstes Formular erstellen .................................................................. 257<br />
9.3 Funktionalität für Ihre Formulare........................................................... 266<br />
9.4 Eingaben sichten .................................................................................... 270<br />
9.5 Formular einbin<strong>de</strong>n ................................................................................ 272<br />
9.6 Import und Export von Formularen ....................................................... 274<br />
9.7 Fazit ....................................................................................................... 278<br />
10 Forum mit <strong>Joomla</strong>board ......................................................................... 280<br />
10.1 Installation und Konfiguration .......................................................... 280<br />
10.1.1 Allgemeine <strong>Joomla</strong>board-Konfiguration ...................................... 281<br />
10.1.2 Frontend-Einstellungen ................................................................ 283<br />
10.1.3 Mehr Sicherheit für Ihr Forum ..................................................... 286<br />
10.1.4 Avatar-Konfiguration ................................................................... 287<br />
10.1.5 Upload steuern .............................................................................. 288<br />
10.1.6 Die Ranking-Einstellungen .......................................................... 290<br />
10.1.7 Zusammenspiel mit Drittanwendungen ........................................ 291<br />
10.2 Foren erstellen und verwalten ........................................................... 293<br />
10.3 Benutzeradministration und Sonstiges .............................................. 297<br />
10.4 Fazit ................................................................................................... 300<br />
11 Online-Shop mit VirtueMart .................................................................. 302<br />
11.1 VirtueMart-Basics ............................................................................. 302<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
8<br />
11.2 VirtueMart-Administration ............................................................... 307<br />
11.2.1 Allgemeine Shop-Konfiguration .................................................. 307<br />
11.2.2 Benutzerregistrierung ................................................................... 309<br />
11.2.3 Steuerliche Belange ...................................................................... 309<br />
11.2.4 Die Frontend-Konfiguration ......................................................... 311<br />
11.2.5 Pfad und URL ............................................................................... 313<br />
11.2.6 Design und Layout ....................................................................... 314<br />
11.2.7 Zustelleigenschaften ..................................................................... 316<br />
11.2.8 Der Checkout-Vorgang ................................................................ 317<br />
11.2.9 Downloads über VirtueMart verkaufen ........................................ 318<br />
11.3 Shop-Einstellungen ........................................................................... 320<br />
11.3.1 Die allgemeinen Shop-Einstellungen ........................................... 321<br />
11.3.2 Bitte zahlen ................................................................................... 321<br />
11.3.3 Zustellung ..................................................................................... 328<br />
11.3.4 Welche Kreditkarte soll es sein? .................................................. 330<br />
11.4 Käufergruppen, Hersteller und Lieferanten ....................................... 331<br />
11.5 Produkte verwalten ............................................................................ 333<br />
11.5.1 Produkte erstellen ......................................................................... 334<br />
11.6 Die Bestellverwaltung ....................................................................... 338<br />
11.7 Berichtfunktion ................................................................................. 339<br />
11.8 VirtueMart für Fortgeschrittene ........................................................ 340<br />
11.8.1 Die VirtueMart-Verzeichnisse ...................................................... 340<br />
11.8.2 Benutzer-Integration ..................................................................... 342<br />
11.8.3 Layout-Anpassungen .................................................................... 344<br />
11.8.4 Erweiterungen .............................................................................. 346<br />
11.9 Fazit ................................................................................................... 348<br />
www.brain-media.<strong>de</strong>
9<br />
12 Weitere Must-have-Erweiterungen ........................................................ 350<br />
12.1 Gallery2 Bridge ................................................................................. 350<br />
12.2 JCE – <strong>de</strong>r <strong>Joomla</strong>! Content Editor ..................................................... 353<br />
12.3 DocMan ............................................................................................. 356<br />
12.4 gigCalen<strong>de</strong>r ....................................................................................... 360<br />
12.5 Dateimanagement mit joomlaXplorer ............................................... 363<br />
12.6 Mehrsprachige Site mit Joom!Fish .................................................... 365<br />
12.7 Sitemap mit Joomap .......................................................................... 371<br />
12.8 Logfile Analyes mit BSQ Sitestats .................................................... 375<br />
12.9 WordPress-Integration mit OpenWP ................................................. 379<br />
12.10 Letterman .......................................................................................... 382<br />
12.10.1 Abonnenten verwalten ............................................................. 382<br />
12.10.2 Newsletter erstellen und versen<strong>de</strong>n ......................................... 386<br />
12.10.3 Letterman konfigurieren .......................................................... 389<br />
12.10.4 Letterman integrieren und nutzen ............................................ 390<br />
12.10.5 Troubleshooting ....................................................................... 391<br />
13 Sicherheit ............................................................................................... 394<br />
13.1 Standardsicherheit ............................................................................. 394<br />
13.2 Sicherheit <strong>de</strong>r CMS-Umgebung ........................................................ 396<br />
13.2.1 Cross-Site-Scripting ..................................................................... 396<br />
13.2.2 SQL-Injektion ............................................................................... 399<br />
13.2.3 Angriff auf CGI ............................................................................ 399<br />
13.2.4 Apache-Einstellungen................................................................... 400<br />
13.2.5 Dateisystem-Sicherheit ................................................................. 401<br />
13.2.6 XAMPP-Sicherheit ....................................................................... 401<br />
13.2.7 SSL-Verschlüsselung ................................................................... 403<br />
13.2.8 Schutz von Spambots ................................................................... 404<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
10<br />
13.3 Einsatz im Intranet- und Extranet ...................................................... 404<br />
13.4 Checkliste für mehr Sicherheit .......................................................... 406<br />
14 Ausblick: Was bringt <strong>Joomla</strong>! 1.5? ........................................................ 414<br />
14.1 Neue Funktionen für User und Admins............................................. 415<br />
14.2 Neues für Designer ............................................................................ 421<br />
14.3 Und Neues für Entwickler ................................................................. 422<br />
14.4 Fazit ................................................................................................... 426<br />
In<strong>de</strong>x ..................................................................................................................... 428<br />
www.brain-media.<strong>de</strong>
11<br />
Vorwort<br />
Das Content-Managementsystem <strong>Joomla</strong>! genießt einen ausgezeichneten Ruf. Es<br />
bietet alles, was man für <strong>de</strong>n Einsatz in kleinen bis mittleren Umgebungen benötigt.<br />
Nicht umsonst wur<strong>de</strong> es mehrfach mit verschie<strong>de</strong>nen Awards gekrönt. Insbeson<strong>de</strong>re<br />
im <strong>de</strong>utschen Sprachraum erfreut sich das System großer Beliebtheit.<br />
Dieses Praxishandbuch führt Sie in die Arbeit mit <strong>de</strong>m System ein. Es zeigt, wie<br />
Sie <strong>Joomla</strong>! in Betrieb nehmen, das System administrieren, wie Sie eine eigene<br />
<strong>Joomla</strong>!-basierte Site erzeugen, wie Sie mit Inhalten jonglieren und wie Sie die<br />
verschie<strong>de</strong>nsten <strong>Joomla</strong>!-Komponenten, -Module und -Mambots in <strong>de</strong>r Praxis<br />
einsetzen.<br />
Sie erfahren in diesem Handbuch außer<strong>de</strong>m, wie Sie mit <strong>Joomla</strong>! Diskussionsforen<br />
realisieren, einen Online-Shop aufbauen und Formulare entwickeln. Außer<strong>de</strong>m<br />
führt dieses Buch Sie in die Entwicklung eigener Templates ein und zeigt, wie man<br />
das Content-Managementsystem sicher betreibt. Ein weiteres Highlight ist das<br />
Kapitel <strong>Joomla</strong>! barrierefrei.<br />
Der Begriff „<strong>Joomla</strong>!“ ist übrigens von <strong>de</strong>m suahelischen Wort „Jumla“ abgleitet.<br />
Das be<strong>de</strong>utet so viel wie „das Ganze“. Das dürfen Sie wörtlich nehmen: <strong>Joomla</strong>!<br />
bietet alles, was Sie von einem professionellen Content-Managementsystem erwarten<br />
können, ist flexibel und anpassungsfähig zugleich, an<strong>de</strong>rerseits aber nicht so<br />
komplex wie Konkurrenzprodukte.<br />
Bleibt uns nur, Ihnen viel Erfolg zu wünschen.<br />
Tim Neugebauer & Holger Reibold<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
12 Vorwort<br />
www.brain-media.<strong>de</strong>
CMS-Basics 13<br />
1 <strong>Joomla</strong>! und Content-Management<br />
<strong>Joomla</strong>! (http://www.joomla.org bzw. http://www.joomla.<strong>de</strong>) zählt zu <strong>de</strong>n interessantesten<br />
Content-Managementsystemen, die die Open-Source-Gemein<strong>de</strong> vorzuweisen<br />
hat. Mambo ist erwiesenermaßen ein sehr leistungsfähiges und dabei einfach<br />
wartbares CMS. Es ist in <strong>de</strong>r Lage, sehr große Websites zu realisieren. Die<br />
Inhalte wer<strong>de</strong>n wie bei an<strong>de</strong>ren Systemen dynamisch aus MySQL-Datenbanken<br />
erzeugt.<br />
<strong>Joomla</strong>! basiert auf PHP und nutzt das Datenbanksystem MySQL. Somit ist es für<br />
Administratoren und Entwickler recht einfach, eigene Module und Komponenten<br />
für das CMS zu erstellen. In <strong>de</strong>r Regel ist das nicht erfor<strong>de</strong>rlich, <strong>de</strong>nn für <strong>Joomla</strong>!<br />
gibt es inzwischen eine Unmenge an Modulen und Erweiterungen. Auch ein auf<br />
<strong>Joomla</strong>! abgestimmtes Shopping-System ist verfügbar. Sogar eine Dreamweaver-<br />
Erweiterung für das Erstellen von Templates ist verfügbar. Ein Blick in <strong>de</strong>n Administrationsbereich<br />
macht schnell <strong>de</strong>utlich, warum <strong>Joomla</strong>! so beliebt ist: Das System<br />
besitzt eine klare und saubere Struktur.<br />
1.1 CMS-Basics<br />
Online-Software für das Intranet o<strong>de</strong>r das Internet gewinnt massiv an Be<strong>de</strong>utung.<br />
Wachsen die Anzahl <strong>de</strong>r auf <strong>de</strong>n Servern bereitgestellten Dokumente und die Größe<br />
<strong>de</strong>s Redaktionsteams, so versagen herkömmliche Metho<strong>de</strong>n zur Verwaltung <strong>de</strong>r<br />
Publikationen. Content-Managementsysteme versprechen die optimale Koordinierung<br />
<strong>de</strong>r Arbeitsabläufe.<br />
Der Siegeszug <strong>de</strong>r Internet-Technologie, insbeson<strong>de</strong>re aber <strong>de</strong>r Web-Technologie,<br />
hat unsere Informationslandschaft auf <strong>de</strong>n Kopf gestellt. Dank <strong>de</strong>s globalen Netzwerks<br />
können Unternehmen potentielle Kun<strong>de</strong>n und Zulieferer rund um <strong>de</strong>n Globus<br />
erreichen. Sie selbst müssen aber auch erreichbar sein. In nur wenigen Jahren<br />
hat das Web ganze Geschäftsabläufe verän<strong>de</strong>rt. Heute müssen Unternehmen Inhalte<br />
mit höchster Aktualität auf einer Website präsentieren. Fast noch zeitkritischer<br />
ist die schnelle Verfügbarkeit innerhalb von Unternehmen – zumin<strong>de</strong>st so weit, wie<br />
relevante Abläufe berührt sind. Man spricht in diesem Zusammenhang auch häufig<br />
von „Just-in-time-Informationen“. Die rasante Beschleunigung <strong>de</strong>r Produktionszyklen<br />
lässt sich nur noch durch Produktionssteigerungen auffangen. Das gilt insbeson<strong>de</strong>re<br />
für die „Produktion“ von Informationen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
14 <strong>Joomla</strong>! und Content-Management<br />
Lebenslauf von Dokumenten und Inhalten: Sie unterliegen einem ständigen<br />
Wan<strong>de</strong>l, wer<strong>de</strong>n erzeugt, gesammelt, verteilt und veröffentlicht.<br />
Gera<strong>de</strong> bei umfangreichen Websites mit einer hohen Aktualität ist professionelles<br />
Content-Management zur Strukturierung und Verwaltung <strong>de</strong>r Informationen gefragt.<br />
Mit Hilfe von Content-Managementsystemen wer<strong>de</strong>n die Handlungen <strong>de</strong>r<br />
Nutzer koordiniert und die Veröffentlichung <strong>de</strong>r Dokumente automatisiert. Durch<br />
die systematische Aufbereitung von internen Informationen und die Verbreitung<br />
über ein einheitliches Zugriffsparadigma können die Mitarbeiter effektiver auf die<br />
Anfor<strong>de</strong>rungen <strong>de</strong>s Geschäftsprozesses reagieren. Solche Systeme bil<strong>de</strong>n bereits<br />
bei vielen bekannten Web-Auftritten das Rückgrat <strong>de</strong>r Informationsbearbeitung.<br />
Unter Content versteht man gemeinhin Inhalte <strong>de</strong>r unterschiedlichsten Form, die<br />
auf einer Website abgelegt wer<strong>de</strong>n und für die Benutzer zugänglich sind. Dabei<br />
spielt es zunächst keine Rolle, ob es sich um global o<strong>de</strong>r lokal verfügbare Informationen<br />
han<strong>de</strong>lt. In <strong>de</strong>r Regel han<strong>de</strong>lt es sich um Inhalte, wie man sie in <strong>de</strong>n klassischen<br />
Medien wie Zeitungen und Büchern fin<strong>de</strong>t, beispielsweise um Artikel, Manuals<br />
o<strong>de</strong>r Produktbeschreibungen.<br />
Content-Managementsysteme dienen <strong>de</strong>r Administration von Webinhalten unter<br />
Einbeziehung <strong>de</strong>s Entwicklungsvorganges. Von zentraler Be<strong>de</strong>utung ist die Trennung<br />
von Inhalten und Struktur <strong>de</strong>s Content. Ihre wichtigste Aufgabe ist es, die<br />
unterschiedlichsten Informationsschnipsel zu einem kohärenten Gebil<strong>de</strong> zusammenzuführen,<br />
so dass ein dynamischer Entwicklungsprozess entstehen kann. Das<br />
Schlüsselwort: Dynamik. Inhalte müssen ohne Medienumbrüche, quasi in Sekun<strong>de</strong>nschnelle,<br />
verfügbar sein. Kernpunkt: Informationen wer<strong>de</strong>n als Komponenten<br />
aufgefasst, auf die in Echtzeit zugegriffen wer<strong>de</strong>n kann und die bearbeitet und mit<br />
www.brain-media.<strong>de</strong>
CMS-Basics 15<br />
an<strong>de</strong>ren Komponenten kombiniert wer<strong>de</strong>n können. Aus <strong>de</strong>n einzelnen Komponenten<br />
entstehen dann Dokumente.<br />
Welchen Anfor<strong>de</strong>rungen muss nun ein solches System genügen? Eine <strong>de</strong>r zentralen<br />
Anfor<strong>de</strong>rungen ist die End-to-End-Kontrolle. Ein Content-Managementsystem<br />
muss Inhalte von <strong>de</strong>r ersten Stun<strong>de</strong>, <strong>de</strong>r Weiterverarbeitung bis hin zur Veröffentlichung<br />
verwalten und kontrollieren können.<br />
Da Dokumente nach <strong>de</strong>m Baukastenprinzip zusammengesetzt wer<strong>de</strong>n, müssen<br />
diese Komponenten sicher verwaltet wer<strong>de</strong>n. Dazu zählen beispielsweise Funktionen<br />
wie Check-in und Check-out, über die sich Redaktionsmitarbeiter Zugriff auf<br />
Inhalte verschaffen. Durch die Einbindung von Verzeichnisdiensten wie X.500<br />
o<strong>de</strong>r LDAP wird dabei <strong>de</strong>r Zugriff gesteuert.<br />
Dokumente und Inhalte sind zwei Paar Schuhe: Dokumente können<br />
aus beliebig vielen Komponenten, <strong>de</strong>n Inhalten, bestehen.<br />
Inhalte entstehen immer häufiger verteilt. Auch für diese Anfor<strong>de</strong>rung muss ein<br />
Content-Managementsystem gerüstet sein, so dass auch mobile Mitarbeiter o<strong>de</strong>r<br />
Heimarbeiter in die Inhaltsentwicklung eingebun<strong>de</strong>n wer<strong>de</strong>n können. Um die Kosten<br />
für die Neuanschaffung von Managementsystemen zu minimieren, sollten sol-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
16 <strong>Joomla</strong>! und Content-Management<br />
che Lösungen auch in <strong>de</strong>r Lage sein, bereits bestehen<strong>de</strong> Authoring- und Publishing-Tools<br />
in <strong>de</strong>n Entwicklungsprozess zu integrieren.<br />
Nicht min<strong>de</strong>r wichtig sind leistungsfähige inhaltsorientierte Datenbanksysteme, in<br />
<strong>de</strong>nen die Komponenten nicht nur abgelegt, son<strong>de</strong>rn auch gesichert wer<strong>de</strong>n. Solche<br />
Systeme dienen zu<strong>de</strong>m <strong>de</strong>r Indizierung. Replikationsmechanismen sind auch hier<br />
Standard. Hinsichtlich Datenbankanbindungen darf man auch bei Content-<br />
Managementsystemen erwarten, dass sie bestehen<strong>de</strong> Systeme integrieren können<br />
und sich gegebenenfalls erweitern lassen.<br />
Die schönsten Inhalte sind wertlos, wenn sie nicht über einen leistungsfähigen<br />
Mechanismus veröffentlicht wer<strong>de</strong>n. Die Publikationssteuerung muss dabei auch<br />
die Veröffentlichung von Hun<strong>de</strong>rten o<strong>de</strong>r gar Tausen<strong>de</strong>n von Dokumenten bewältigen<br />
können. Zu<strong>de</strong>m muss sie sicherstellen, dass Inhalte in sauberem Layout veröffentlicht<br />
wer<strong>de</strong>n. Dynamische Generierung von Inhalten sollte ebenfalls möglich<br />
sein. Schließlich sind Funktionen erfor<strong>de</strong>rlich, über die sich die Site-Struktur verwalten<br />
lässt, beispielsweise um blin<strong>de</strong> Verweise aufzu<strong>de</strong>cken. Link-Management<br />
vereinfacht die Verknüpfung von Inhalten. Solche Funktionen sollten zumin<strong>de</strong>st<br />
für die interne Vernetzung vorhan<strong>de</strong>n sein.<br />
Aus <strong>de</strong>n vielfältigen Anfor<strong>de</strong>rungen, die ein Content-Managementsystem erfüllen<br />
muss, lässt sich erahnen, dass solche Systeme eine komplexe Architektur aufweisen.<br />
Nachstehen<strong>de</strong> Abbildung ver<strong>de</strong>utlicht die wichtigsten Komponenten und <strong>de</strong>ren<br />
Abhängigkeiten. Im Zentrum steht das Content-Managementsystem, das mit<br />
<strong>de</strong>n verschie<strong>de</strong>nsten Komponenten interagiert. Die Inhalte samt korrespondieren<strong>de</strong>n<br />
Meta-Daten sind in <strong>de</strong>r Dokumentenverwaltung abgelegt.<br />
Die Mitarbeiter greifen über einen Client, immer häufiger ein Standardbrowser,<br />
über das lokale o<strong>de</strong>r globale TCP/IP-Netzwerk auf das System zu. Dabei wer<strong>de</strong>n<br />
auch sichere Verbindungen unterstützt, die insbeson<strong>de</strong>re SSL für <strong>de</strong>n Zugriff auf<br />
das System nutzen. Je aufwendiger die Inhaltsentwicklung wird, umso wichtiger ist<br />
die Steuerung <strong>de</strong>r Benutzer- und Zugriffsrechte auf Objekte und Komponenten.<br />
Dabei wer<strong>de</strong>n meist Zugriffsrechte für einzelne Objekte o<strong>de</strong>r Objektgruppen eingerichtet.<br />
So kann man <strong>de</strong>m einzelnen Redakteur exakt die Rechte zuweisen, die für<br />
die jeweilige Aufgabe erfor<strong>de</strong>rlich sind. Chefredakteure haben dabei weitgehen<strong>de</strong>re<br />
Rechte.<br />
Je nach Produkt wer<strong>de</strong>n diese Rechte über Verzeichnisdienste o<strong>de</strong>r an<strong>de</strong>re Formen<br />
<strong>de</strong>r Benutzerverwaltung <strong>de</strong>finiert. Um <strong>de</strong>m Mitarbeiter die Informationssuche für<br />
benötigte Inhalte zu vereinfachen, sind in Content-Managementsystemen Suchfunktionen<br />
integriert, die nicht nur Inhalte aufspüren, son<strong>de</strong>rn auch die Suche nach<br />
unterschiedlichen Datei- beziehungsweise Dokumententypen erlauben.<br />
Solche Suchmaschinen berücksichtigen auch Zugriffsrechte, damit nur zulässige<br />
Inhalte bei <strong>de</strong>r Suchanfrage ausgegeben wer<strong>de</strong>n. Eine <strong>de</strong>r zentralen Aufgaben ist<br />
www.brain-media.<strong>de</strong>
CMS-Basics 17<br />
die Anbindung von externen Datenquellen und beliebigen Anwendungen, die in<br />
<strong>de</strong>r Regel über ein entsprechen<strong>de</strong>s API angesprochen wer<strong>de</strong>n. Das gilt insbeson<strong>de</strong>re<br />
für Datenbanksysteme wie SQL-Datenbanken o<strong>de</strong>r an<strong>de</strong>re proprietäre Datenbankschnittstellen.<br />
Die Architektur von Content-Managementsystemen: Das System dient<br />
als Schnittstelle zwischen Anwen<strong>de</strong>r, Daten, Inhalten und traditionellen<br />
Datenbanksystemen.<br />
Von zentraler Be<strong>de</strong>utung ist die Strukturierung und Formatierung von Inhalten.<br />
Damit Inhalte und Dokumente ausgetauscht und bearbeitet wer<strong>de</strong>n können, müssen<br />
Standards genutzt wer<strong>de</strong>n, die dieser Aufgabe gerecht wer<strong>de</strong>n. Einen ersten Schritt<br />
in diese Richtung stellte die Einführung von SGML (Standard Generalized Markup<br />
Language) in <strong>de</strong>n frühen Achtzigern dar – als einheitliches Format für die Darstellung<br />
und Präsentation von Publikationen. Heute wer<strong>de</strong>n Inhalte zunehmend in<br />
XML verwaltet.<br />
Heute buhlt eine schier unüberschaubare Anzahl an Content-Managementsystemen<br />
um die Gunst <strong>de</strong>r Anwen<strong>de</strong>r. Ein Blick auf die Website Contentmanager.<strong>de</strong> zeigt,<br />
wie viele Lösungen heute zu haben sind. Neben kommerziellen sind es insbeson<strong>de</strong>re<br />
Open-Source-Projekte, die immer mehr Interesse fin<strong>de</strong>n. Das ist nicht weiter<br />
verwun<strong>de</strong>rlich, <strong>de</strong>nn Umgebungen wie <strong>Joomla</strong>! & Co. müssen sich nicht vor<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
18 <strong>Joomla</strong>! und Content-Management<br />
kommerziellen Produkten verstecken. So bleibt die Frage nicht aus, warum man<br />
sich gera<strong>de</strong> für <strong>Joomla</strong>! entschei<strong>de</strong>n soll.<br />
Die Frage lässt sich recht einfach beantworten. <strong>Joomla</strong>! ist ein sehr leistungsfähiges,<br />
gleichzeitig aber auch ein sehr einfach zu warten<strong>de</strong>s CMS. Es basiert auf <strong>de</strong>m<br />
etablierten Apache-PHP-MySQL-Gespann. Mambo ist erwiesenermaßen in <strong>de</strong>r<br />
Lage, selbst komplexe und stark frequentierte Websites zu realisieren. Nicht min<strong>de</strong>r<br />
interessant: <strong>Joomla</strong>! kann auf Linux- und auch auf Windows-Rechnern ausgeführt<br />
wer<strong>de</strong>n. Das Client-Betriebssystem spielt ohnehin keine Rolle, da die Redakteure<br />
mit einem Standard-Browser arbeiten.<br />
Die Architektur <strong>de</strong>s Content-Managementsystems <strong>Joomla</strong>!<br />
Als modulare Umgebung kann <strong>Joomla</strong>! mit einer Vielzahl an Modulen funktional<br />
erweitert wer<strong>de</strong>n. So stehen Module für Dokumentenmanagement, Bil<strong>de</strong>rgalerien,<br />
Umfragen, Formular- und Templategenerator, Wettermodule und sogar Online-<br />
Shops zur Verfügung. Für Administratoren und Redakteure wichtig: Das System<br />
ist extrem einfach zu bedienen. Zum Erstellen von Inhalten verwen<strong>de</strong>t man beispielsweise<br />
einen Fast-WYSIWYG-Editor.<br />
Wie man es von einem professionellen System erwartet, trennt <strong>Joomla</strong>! durch <strong>de</strong>n<br />
Einsatz von Templates <strong>de</strong>n Inhalt vom CSS-basierten Layout. Mit <strong>de</strong>m Template-<br />
Konzept kann man seiner Website ein beliebiges Layout verpassen. Weitere Highlights<br />
sind die flexible Benutzerverwaltung, die Unterstützung von Content-<br />
www.brain-media.<strong>de</strong>
Voraussetzungen schaffen 19<br />
Syndication, <strong>de</strong>r XML-Export und und und. Last but not least: <strong>Joomla</strong>! ist Open-<br />
Source und unterliegt <strong>de</strong>r weit verbreiteten GNU/GPL-Lizenz. Als Open-Source-<br />
Software ist das CMS daher kostenlos verfügbar und kann bei Bedarf nach Belieben<br />
erweitert wer<strong>de</strong>n.<br />
Natürlich soll an dieser Stelle nicht verschwiegen wer<strong>de</strong>n, dass <strong>Joomla</strong>! auch –<br />
zum Teil – erheblichen Einschränkungen unterliegt. Dazu mehr im letzten Kapitel,<br />
das einen Ausblick auf Version 1.5 (und <strong>de</strong>ssen Einschränkungen bietet). Dennoch:<br />
Eine Evaluierung ist <strong>Joomla</strong>! immer wert. Nicht zuletzt die rasant steigen<strong>de</strong> Fangemein<strong>de</strong><br />
wird dafür sorgen, dass das CMS immer besser und leistungsfähiger<br />
wird.<br />
1.2 Voraussetzungen schaffen<br />
Nun, da Sie wissen, was es mit Content-Management auf sich hat, wollen wir zur<br />
Sache kommen. Bevor Sie sich an die Inbetriebnahme von <strong>Joomla</strong>! machen können,<br />
sind verschie<strong>de</strong>ne Voraussetzungen zu erfüllen. Die Voraussetzungen sind:<br />
- Apache 1.3.19 o<strong>de</strong>r höher<br />
- PHP 4.2.x o<strong>de</strong>r höher<br />
- MySQL 3.23 o<strong>de</strong>r höher<br />
Das Aufsetzen eines Apache-Servers ist nicht unbedingt so leicht, wie viele meinen.<br />
Noch schwieriger wird es, wenn weitere Pakete wie MySQL, PHP o<strong>de</strong>r Perl<br />
benötigt wer<strong>de</strong>n. Dieses Problem löst sich mit XAMPP nun fast von alleine. Bei<br />
XAMPP han<strong>de</strong>lt es sich um eine spezielle Distribution, die Apache, MySQL, PHP<br />
und Perl kombiniert und die einfache Installation und Inbetriebnahme dieser Programme<br />
ermöglicht. XAMPP ist über die ApacheFriends-Website<br />
(http://www.apachefriends.org) in einer Linux-, einer MacOS-, einer Solaris- und<br />
auch in einer Windows-Variante verfügbar.<br />
Wichtig für die spätere Arbeit mit XAMPP: Auch <strong>de</strong>r Datenbankmanager<br />
phpMyAdmin gehört zum XAMPP-Paket. Damit sind Sie bestens gerüstet, um<br />
<strong>Joomla</strong>! auszuführen. Allerdings soll hier auch darauf hingewiesen wer<strong>de</strong>n, dass<br />
XAMPP nicht für <strong>de</strong>n Produktivitätseinsatz konzipiert ist. Dazu später mehr.<br />
Die Inbetriebnahme von XAMPP ist recht einfach. Wir beschränken uns hier auf<br />
die Installation unter Linux und Windows. Die Installation unter Windows gestaltet<br />
sich noch einfacher. Hier kann man eigentlich nichts falsch machen: Installieren,<br />
starten und been<strong>de</strong>n – mehr braucht man für <strong>de</strong>n Anfang nicht. Sollte man <strong>de</strong>nnoch<br />
Hilfe benötigen, fin<strong>de</strong>t man entsprechen<strong>de</strong> Informationen auf <strong>de</strong>r ApacheFriends-<br />
Website.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
20 <strong>Joomla</strong>! und Content-Management<br />
Wenn Sie <strong>Joomla</strong>! unter Windows ausführen wollen, so la<strong>de</strong>n Sie sich zunächst die<br />
Windows-Variante von XAMPP herunter. Am einfachsten greifen Sie zur Installer-<br />
Variante. Diese besitzt ein eigenes Installationsprogramm, mit <strong>de</strong>m Sie XAMPP<br />
mit ein paar Mausklicks einrichten können.<br />
Ebenfalls sehr einfach ist die Installation von XAMPP unter Linux. Hierzu la<strong>de</strong>n<br />
Sie sich die Linux-Variante herunter, machen sich mittels su zum Admin und führen<br />
die Installation mit folgen<strong>de</strong>m Kommando aus:<br />
tar xvfz xampp-linux-1.5.4a.tar.gz -C /opt<br />
Damit ist XAMPP an sich einsatzbereit. Sie müssen XAMPP und seine Server nur<br />
noch starten. Dazu verwen<strong>de</strong>n Sie folgen<strong>de</strong>n Befehl:<br />
/opt/lampp/lampp start<br />
Noch einfacher ist die Sache unter Windows: Hier verwen<strong>de</strong>n Sie am einfachsten<br />
<strong>de</strong>n Installer und starten XAMPP über das Startmenü. Der Zugriff auf die lokale<br />
XAMPP-Installation erfolgt mit Ihrem Browser. Verwen<strong>de</strong>n Sie dazu folgen<strong>de</strong>n<br />
URL:<br />
http://localhost<br />
Wenn Ihr System eine feste IP-Adresse besitzt o<strong>de</strong>r Sie von einem Zweitrechner<br />
auf die XAMPP-Installation zugreifen, müssen Sie localhost durch die entsprechen<strong>de</strong><br />
IP-Adresse ersetzen.<br />
Bevor Sie fortfahren, noch ein Wort zum Thema Sicherheit Ihrer XAMPP-<br />
Installation. XAMPP ist in erster Linie eine Entwicklungs- und Testumgebung.<br />
Daher ist XAMPP absichtlich nicht son<strong>de</strong>rlich restriktiv, son<strong>de</strong>rn im Gegenteil<br />
sehr offen vorkonfiguriert. Für die meisten Entwickler ist das i<strong>de</strong>al, da sie sich<br />
nicht mit zu engen Grenzen <strong>de</strong>s Systems herumschlagen müssen. Für einen Produktionseinsatz<br />
taugt die Standardinstallation allerdings nicht. Konkret sind bei<br />
einer Standard-XAMPP-Installation beispielsweise folgen<strong>de</strong> Konfigurationen unsicher:<br />
• Der MySQL-Administrator (root) besitzt kein Passwort.<br />
• Der MySQL-Daemon ist übers Netzwerk erreichbar.<br />
• Der ProFTPD-Daemon benutzt das Passwort lampp.<br />
• phpMyAdmin ist übers Netzwerk erreichbar.<br />
www.brain-media.<strong>de</strong>
Voraussetzungen schaffen 21<br />
• MySQL und Apache laufen unter <strong>de</strong>r gleichen Benutzerkennung (nobody).<br />
Sie fin<strong>de</strong>n im XAMPP-Navigationsmenü <strong>de</strong>n Sicherheitscheck, mit <strong>de</strong>m Sie <strong>de</strong>n<br />
aktuellen Sicherheitszustand einer XAMPP-Installation anzeigen können. Wenn<br />
Sie mit Linux arbeiten, so können Sie mit <strong>de</strong>m Kommando /opt/lampp/lampp security<br />
die XAMPP-Sicherheitseinstellungen bearbeiten.<br />
XAMPP ist installiert. Nun können Sie sich<br />
an die Installation von <strong>Joomla</strong>! machen.<br />
Wenn Sie mehr über XAMPP erfahren wollen, sollten Sie XAMPP <strong>kompakt</strong><br />
(http://www.bomots.<strong>de</strong>/xampp/in<strong>de</strong>x.htm) lesen, das ebenfalls beim bomots-Verlag<br />
erschienen ist. Dort fin<strong>de</strong>n Sie weitere Details zur optimalen Konfiguration von<br />
XAMPP und zu Fragen <strong>de</strong>s sicheren Einsatzes.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
22 <strong>Joomla</strong>! und Content-Management<br />
1.3 <strong>Joomla</strong>! in Betrieb nehmen<br />
Da Sie mit <strong>de</strong>r XAMPP-Installation die Voraussetzung für die Ausführung von<br />
<strong>Joomla</strong>! geschaffen haben, müssen Sie nur noch das Content-Managementsystem<br />
installieren. Im Folgen<strong>de</strong>n gehen wir davon aus, dass Sie <strong>Joomla</strong>! auf Ihrem lokalen<br />
System installieren. Wenn Sie es bei Ihrem Provi<strong>de</strong>r einrichten, sind die erfor<strong>de</strong>rlichen<br />
Schritte natürlich die gleichen. Gegebenenfalls benötigen Sie <strong>de</strong>ssen<br />
Hilfe beim Einrichten <strong>de</strong>r Datenbank und <strong>de</strong>r Rechteanpassung. Für die Übertragung<br />
zum Provi<strong>de</strong>r-Server verwen<strong>de</strong>n Sie einen gängigen FTP-Client.<br />
Als Nächstes la<strong>de</strong>n Sie sich das aktuellste <strong>Joomla</strong>!-Paket von <strong>de</strong>r <strong>Joomla</strong>!-Website<br />
und entpacken dieses. Den dabei entstehen<strong>de</strong>n Ordner können Sie einfach in<br />
joomla umbenennen und dann in das htdocs-Verzeichnis Ihrer XAMPP-Installation<br />
kopieren.<br />
Als Nächstes wechseln Sie zu phpMyAdmin und erzeugen eine Datenbank für das<br />
CMS. Kehren Sie dazu zu Ihrer XAMPP-Installation zurück und öffnen Sie unter<br />
Tools <strong>de</strong>n Datenbankmanager phpMyAdmin. Im Feld Neue Datenbank anlegen<br />
geben Sie die Bezeichnung <strong>de</strong>r Datenbank an und klicken auf Anlegen. Sie fin<strong>de</strong>n<br />
die neu erstellte Datenbank anschließend im linken Auswahlmenü von phpMyAdmin.<br />
Dann sollten Sie im nächsten Schritt einen Admin für Ihre Datenbank erzeugen.<br />
Dazu wechseln Sie zur phpMyAdmin-Startseite, klicken auf Rechte und dann<br />
auf Neuen Benutzer hinzufügen. Bezeichnen Sie diesen beispielsweise ebenfalls<br />
mit joomla und weisen Sie <strong>de</strong>m Benutzer alle globalen Rechte zu.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! in Betrieb nehmen 23<br />
Mithilfe von phpMyAdmin erzeugen Sie Ihren <strong>Joomla</strong>!-Administrator.<br />
Der mit diesen Schritten erzeugte Benutzer hat nun umfassen<strong>de</strong> Berechtigungen.<br />
Das Erstellen <strong>de</strong>s Benutzers können Sie auch <strong>de</strong>m <strong>Joomla</strong>!-Installationsskript überlassen.<br />
Dieses bietet Ihnen automatisch die Erzeugung <strong>de</strong>s Admin-Benutzers an. Es<br />
empfiehlt sich allerdings eine individuelle Bezeichnung.<br />
Als Nächstes rufen Sie das Installationsskript von <strong>Joomla</strong>! auf. Dazu greifen Sie<br />
mit Ihrem Browser auf folgen<strong>de</strong>n URL zu:<br />
http://localhost_bzw_ip-adresse/joomla/<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
24 <strong>Joomla</strong>! und Content-Management<br />
Das Installationsskript analysiert zunächst<br />
Ihr System auf seine <strong>Joomla</strong>!-Tauglichkeit.<br />
Beim ersten Zugriff auf <strong>Joomla</strong>! mel<strong>de</strong>t sich <strong>de</strong>r Installationscheck, <strong>de</strong>r die Ergebnisse<br />
<strong>de</strong>r Systemanalyse anzeigt. Sie erkennen zunächst unter Required Settings<br />
Check, ob Ihr System die zwingend erfor<strong>de</strong>rlichen Systemanfor<strong>de</strong>rungen wie die<br />
PHP-Version, MySQL-Datenbank etc. unterstützt. Wenn Sie als Grundlage eine<br />
aktuelle XAMPP-Installation verwen<strong>de</strong>t haben, wird Ihnen hier durch grüne Schrift<br />
vermutlich bescheinigt, dass alle Voraussetzungen erfüllt sind. Falls die notwendigen<br />
Anfor<strong>de</strong>rungen nicht erfüllt sind, müssen Sie sich um Abhilfe bemühen, <strong>de</strong>nn<br />
Sie können nur dann ein funktionieren<strong>de</strong>s System aufsetzen, wenn alle Voraussetzungen<br />
erfüllt sind.<br />
Es folgt <strong>de</strong>r Versionscheck. Hier zeigt Ihnen die Prüffunktion die aktuelle Programmversion<br />
und <strong>de</strong>ren Alter an. Über <strong>de</strong>n Button Check for newer version können<br />
Sie eine Verbindung zu <strong>Joomla</strong>.org aufbauen und nachschauen, ob inzwischen<br />
eine neuere Version verfügbar ist.<br />
Es folgt das Ergebnis <strong>de</strong>s Sicherheitschecks. Hier zeigt Ihnen die Prüffunktion an,<br />
ob und falls ja welche PHP-Einstellungen aus sicherheitstechnischer Sicht nicht<br />
optimal sind. Hier ein Beispiel für eine typische Ausgabe:<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! in Betrieb nehmen 25<br />
<strong>Joomla</strong>! RG_EMULATION setting is `ON` instead of `OFF` in file<br />
globals.php<br />
`ON` by <strong>de</strong>fault for compatibility reasons<br />
Prüfen Sie, ob Sie die Einstellungen anpassen sollten. Für Einsteiger kann dies<br />
zugegebenermaßen ein schwieriges Unterfangen sein. Folgen Sie gegebenenfalls<br />
<strong>de</strong>m Link The Official <strong>Joomla</strong>! Server Security Post. Dort fin<strong>de</strong>n Sie weitere Detailinformationen<br />
zu allen sicherheitsrelevanten Belangen.<br />
Die Ergebnisse <strong>de</strong>r Sicherheits- und Berechtigungschecks.<br />
Die Pre-Installation-Check-Seite zeigt Ihnen die Ergebnisse zweier weiterer Prüfungen<br />
an. Unter Recommen<strong>de</strong>d Settings Check zeigt Ihnen <strong>Joomla</strong>! an, welche<br />
Einstellungen die Entwickler für sinnvoll halten und ob diese auch Ihren Einstellungen<br />
entsprechen.<br />
Schließlich zeigt Ihnen die Prüffunktion an, ob die erfor<strong>de</strong>rlichen Verzeichnisse<br />
schreibbar sind. <strong>Joomla</strong>! benötigt für folgen<strong>de</strong> Verzeichnisse Schreibrechte:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
26 <strong>Joomla</strong>! und Content-Management<br />
administrator/backups/<br />
administrator/components/<br />
administrator/modules/<br />
administrator/templates/<br />
cache/<br />
components/<br />
images/<br />
images/banners/<br />
images/stories/<br />
language/<br />
mambots/<br />
mambots/content/<br />
mambots/editors/<br />
mambots/editors-xtd/<br />
mambots/search/<br />
mambots/system/<br />
media/<br />
modules/<br />
templates/<br />
Mithilfe eines FTP-Clients o<strong>de</strong>r mit an<strong>de</strong>ren Betriebssystem-spezifischen Werkzeugen<br />
können Sie gegebenenfalls die Berechtigungen bearbeiten. Klicken Sie<br />
nach Än<strong>de</strong>rungen auf Check Again, um eine erneute Prüfung zu starten.<br />
Entsprechen die Einstellungen Ihren Anfor<strong>de</strong>rungen, so klicken Sie im Kopfbereich<br />
auf <strong>de</strong>n Link Next. Sie lan<strong>de</strong>n bei <strong>de</strong>n Lizenzbestimmungen. Mit einem weiteren<br />
Klick auf Next gelangen Sie zum ersten von vier Installationsdialogen.<br />
Im ersten Installationsdialog erfolgt die MySQL-Datenbankkonfiguration. Hier<br />
geben Sie zunächst <strong>de</strong>n Hostnamen an, auf <strong>de</strong>m <strong>de</strong>r MySQL-Server ausgeführt<br />
wird. Es folgt die Angabe <strong>de</strong>r MySQL-Benutzernamens. So Sie beispielsweise<br />
mithilfe <strong>de</strong>s XAMPP-Sicherheitsskripts keine Än<strong>de</strong>rungen vorgenommen haben,<br />
verwen<strong>de</strong>n Sie root als Benutzer. Es folgt die Angabe <strong>de</strong>s Passworts für die Datenbank.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! in Betrieb nehmen 27<br />
In das Eingabefeld MySQL Database Name geben Sie <strong>de</strong>n oben verwen<strong>de</strong>ten Begriff<br />
an. Sie können außer<strong>de</strong>m das Datenbank-Präfix anpassen, bestehen<strong>de</strong> Tabellen<br />
entfernen, ein Backup von älteren Tabellen durchführen und durch Aktivieren<br />
<strong>de</strong>r Option Install Sample Data Beispieldaten einspielen. Für <strong>de</strong>n Einstieg ist es<br />
sicherlich sinnvoll, die Beispieldaten mitzuinstallieren.<br />
Die MySQL-Datenbankkonfiguration.<br />
Klicken Sie nun auf Next. <strong>Joomla</strong>! gibt einen Hinweis aus, dass das System nun<br />
versucht, auf die von Ihnen angegebene Datenbank zuzugreifen. Die entsprechen<strong>de</strong><br />
Meldung schließen Sie mit OK. Gelingt <strong>de</strong>r Zugriff, so lan<strong>de</strong>n Sie automatisch im<br />
zweiten Schritt. Hier weisen Sie Ihrer Site eine Bezeichnung zu.<br />
Wir nähern uns mit großen Schritten <strong>de</strong>m Abschluss <strong>de</strong>r Installation. Mit einem<br />
weiteren Klick auf Next gelangen Sie zum dritten Schritt, in <strong>de</strong>m Ihnen das Installationsskript<br />
<strong>de</strong>n URL Ihrer Site und <strong>de</strong>n lokalen Pfad präsentiert. Sie können außer<strong>de</strong>m<br />
die E-Mail-Adresse und das Passwort <strong>de</strong>s Admins angeben. Schließlich<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
28 <strong>Joomla</strong>! und Content-Management<br />
können Sie Datei- und Verzeichnisberechtigungen anpassen. Für <strong>de</strong>n Einstieg ist es<br />
ratsam, die Standardvorgaben beizubehalten.<br />
Der dritte Installationsschritt.<br />
Mit einem letzten Klick auf Next schließen Sie die Installation ab. Gratulation – Sie<br />
haben Ihr erstes <strong>Joomla</strong>!-System installiert. Im vierten Schritt zeigt Ihnen das Installationsskript<br />
die Login-Details <strong>de</strong>s Administrators an. Über View Site können<br />
Sie sich einen ersten Eindruck von Ihrer Site verschaffen. Über <strong>de</strong>n Link Administration<br />
gelangen Sie zum Administrationsbereich.<br />
Bevor Sie allerdings auf die Site bzw. <strong>de</strong>n Admin-Bereich zugreifen können, müssen<br />
Sie das bei <strong>de</strong>r Installation erzeugte Install-Verzeichnis (Pfad_zu_Ihrer_<strong>Joomla</strong>_Installation/htdocs/installation)<br />
löschen. Erst dann ist ein Zugriff möglich.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! in Betrieb nehmen 29<br />
Glückwunsch! <strong>Joomla</strong>! liegt Ihnen zu Füßen. Sie müssen<br />
sich nur noch einloggen – und schon kann’s losgehen.<br />
Wenn Sie <strong>de</strong>n Aufwand für die Installation von XAMPP und die Installation von<br />
<strong>Joomla</strong>! scheuen, so können Sie – zumin<strong>de</strong>st gilt das für Windows-Benutzer – auch<br />
einen einfacheren Weg einschlagen. Mit JSAS (<strong>Joomla</strong>! Stand Alone Server) von<br />
<strong>Joomla</strong>solutions (http://www.joomlasolutions.com) und XJ! von CreativeCo<strong>de</strong>rs<br />
(http://www.creativeco<strong>de</strong>rs.<strong>de</strong>) gibt es zwei vorkonfigurierte Systeme, die Sie nur<br />
auf Ihrem Windows-Rechner installieren müssen, und schon können Sie direkt<br />
loslegen.<br />
XJ! ist klein und einfach zu handhaben.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
30 <strong>Joomla</strong>! und Content-Management<br />
Welche dieser bei<strong>de</strong>n Lösungen im Einzelfall die beste ist, ist sicherlich Geschmacksache.<br />
XJ! basiert auf XAMPP Lite und ist kin<strong>de</strong>rleicht in <strong>de</strong>r Handhabung.<br />
Für XJ! spricht auch, dass die Entwickler eine <strong>de</strong>utschsprachige Dokumentation<br />
zum Download bereitstellen.<br />
1.4 Was Sie sonst noch wissen sollten<br />
Da Sie nun ein lauffähiges <strong>Joomla</strong>!-System aufgesetzt haben, sollen Ihnen noch<br />
einige grundlegen<strong>de</strong> Informationen zum Umgang mit <strong>Joomla</strong>! Ihnen <strong>de</strong>n Einstieg<br />
erleichtern. Beim Umgang mit <strong>Joomla</strong>! wer<strong>de</strong>n Ihnen immer wie<strong>de</strong>r zwei zentrale<br />
Begriffe über <strong>de</strong>n Weg laufen: Frontend und Backend.<br />
Das Frontend ist die Ansicht, die die Besucher <strong>de</strong>r Website zu Gesicht bekommen.<br />
Hier fin<strong>de</strong>n Sie die Inhalte, die verschie<strong>de</strong>nen Navigationsleisten und Menüs, mit<br />
<strong>de</strong>nen sich <strong>de</strong>r Benutzer in <strong>de</strong>r Website bewegen kann. Eine typische <strong>Joomla</strong>!-Site<br />
besitzt auch eine Grafik, eine Suchfunktion, einen Login-Dialog und <strong>de</strong>rgleichen<br />
mehr. Das Backend ist <strong>de</strong>r Administrationsbereich, über <strong>de</strong>n Sie die Einstellungen<br />
Ihrer Umgebung <strong>de</strong>finieren, Inhalte und Benutzer verwalten etc.<br />
Die typische Frontend-Ansicht einer <strong>Joomla</strong>!-Site.<br />
www.brain-media.<strong>de</strong>
Was Sie sonst noch wissen sollten 31<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, wird eine Site aus typischen<br />
Blöcken aufgebaut, die Sie links, rechts, mittig o<strong>de</strong>r an an<strong>de</strong>rer Stelle positionieren<br />
können. Die Position einer Leiste o<strong>de</strong>r eines an<strong>de</strong>ren Elementen wird<br />
durch Templates bestimmt. Templates sorgen aber nicht nur für die Positionierung,<br />
son<strong>de</strong>rn auch für das Site-Design. Sie bestimmen also auch Farbe, Schriften etc.<br />
Beim Umgang mit <strong>Joomla</strong>! begegnen Ihnen weitere zentrale Begriffe immer wie<strong>de</strong>r.<br />
Der wohl wichtigste ist <strong>de</strong>r <strong>de</strong>r Komponente. Dahinter verbergen sich funktionale<br />
Erweiterungen <strong>de</strong>s <strong>Joomla</strong>!-Grundsystems. Bei einer Standardinstallation sind<br />
bereits verschie<strong>de</strong>ne Komponenten integriert, beispielsweise die Bannerverwaltung,<br />
eine Abstimmungsfunktion o<strong>de</strong>r das Link-Verzeichnis. Komponenten verrichten<br />
ihre Arbeit in <strong>de</strong>r Regel im Hintergrund und stellen spezifische Funktionen<br />
bereit. Selbst komplexe Funktionen wie ein Online-Shop o<strong>de</strong>r eine Community<br />
lassen sich dank <strong>de</strong>r Komponenten realisieren.<br />
Ein weiterer zentraler Begriff: Module. Sie sind zuständig für die Darstellung <strong>de</strong>r<br />
von <strong>de</strong>n Komponenten bereitgestellten Funktionen im Frontend – also auf Benutzerseite.<br />
In <strong>de</strong>r Praxis spielen Komponenten und Module häufig zusammen.<br />
Dann begegnen Sie immer wie<strong>de</strong>r <strong>de</strong>n so genannten Mambots, die übrigens in<br />
Zukunft durch die Plugins ersetzt wer<strong>de</strong>n. Diese arbeiten unsichtbar im Hintergrund,<br />
stellen ihrerseits aber bestimmte Funktionen zur Verfügung. So sorgen sie<br />
beispielsweise für <strong>de</strong>n Seitenumbruch, die Suche in Inhalten, die Verwendung von<br />
Grafiken und vieles mehr.<br />
Alle diese Funktionen bil<strong>de</strong>n quasi <strong>de</strong>n Rahmen für Ihre Inhalte. Sie erlauben es,<br />
auf all Ihren Seiten Grundfunktionen wie das Hauptmenü, die Suche etc. zu präsentieren.<br />
Mit diesem Grundwissen sind Sie nun gewappnet, um in die Administration<br />
einer <strong>Joomla</strong>!-Site einzusteigen. Das ist Thema <strong>de</strong>s nächsten Kapitels. Wenn Sie<br />
mit <strong>de</strong>n Grundzügen <strong>de</strong>r <strong>Joomla</strong>!-Administration vertraut sind, können Sie Ihre<br />
erste eigene Site realisieren.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
32 <strong>Joomla</strong>! und Content-Management<br />
www.brain-media.<strong>de</strong>
33<br />
2 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Nach <strong>de</strong>m ersten Einloggen präsentiert Ihnen <strong>Joomla</strong>! seine ansprechend gestaltete<br />
Benutzeroberfläche, über die alle er<strong>de</strong>nklichen administrativen Aufgaben durchgeführt<br />
wer<strong>de</strong>n. Im Kopf fin<strong>de</strong>n Sie die <strong>Joomla</strong>!-Menüleiste mit ihren zehn Menüs.<br />
Außer<strong>de</strong>m zeigt die Leiste die Anzahl <strong>de</strong>r ungelesenen Mails, die Anzahl <strong>de</strong>r Online-Benutzer<br />
und <strong>de</strong>n Logout-Link an.<br />
Über die Administrationszentrale erfolgt die Steuerung einer Website. All das, was<br />
mit <strong>de</strong>m Erstellen einer Site, <strong>de</strong>m Editieren und Publizieren zu tun hat, wird hier<br />
gesteuert. Die Schnittstelle besteht aus vier Bereichen:<br />
• Menüleiste<br />
• Symbolleiste<br />
• Infoleiste<br />
• Arbeitsbereich<br />
Die typische Benutzerschnittstelle von <strong>Joomla</strong>!<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
34 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Schauen wir uns die verschie<strong>de</strong>nen Bereiche genauer an. Über die Menüleiste<br />
rufen Sie die verschie<strong>de</strong>nen Funktionen und Einstellungen <strong>de</strong>s Content-<br />
Managementsystems auf. Hier fin<strong>de</strong>n Sie neben <strong>de</strong>m Link zur lokalen <strong>Joomla</strong>!-Site<br />
elf Menüs: Home, Site, Menu, Content, Components, Modules, Mambots,<br />
Installers, Messages, System und Help. In <strong>de</strong>n verschie<strong>de</strong>nen Menüs sind funktional<br />
ähnliche Aktionen zu fin<strong>de</strong>n. So nehmen Sie beispielsweise über das Menü Site<br />
globale Einstellungen vor und greifen auf statistische Informationen zu o<strong>de</strong>r erzeugen<br />
neue Benutzer.<br />
Nicht min<strong>de</strong>r wichtige Aufgaben übernehmen die Info- und die Symbolleiste. In<br />
<strong>de</strong>r Infoleiste wer<strong>de</strong>n folgen<strong>de</strong> Informationen angezeigt:<br />
• Die Bezeichnung <strong>de</strong>r aktuellen Website<br />
• Das aktuelle Menü, in <strong>de</strong>m man sich gera<strong>de</strong> befin<strong>de</strong>t<br />
Prinzipiell gehören drei Informationen, die in <strong>de</strong>r Menüleiste angezeigt wer<strong>de</strong>n,<br />
ebenfalls eher zur Infoleiste:<br />
• Die Anzahl <strong>de</strong>r ungelesenen Nachrichten<br />
• Die Anzahl <strong>de</strong>r aktuell eingeloggten Benutzer<br />
• Der Name <strong>de</strong>s eingeloggten Benutzers<br />
Die Menü-, Info- und Symbolleiste von <strong>Joomla</strong>!<br />
Aktivieren Sie einen Funktionsbereich, beispielsweise durch einen Klick auf Content<br />
Item Manager, so öffnet <strong>Joomla</strong>! eine weitere Symbolleiste, über die Sie typische<br />
Aufgaben wie das Publizieren, Sichern, Löschen etc. vornehmen. Dabei stehen<br />
abhängig von <strong>de</strong>r aktivierten Funktion folgen<strong>de</strong> Funktionen zur Verfügung:<br />
• New: Erzeugt ein neues Element, beispielsweise einen neuen Link.<br />
• Edit: Mit diesem Befehl öffnet und bearbeitet man die Einstellungen<br />
eines zuvor erzeugten Elements.<br />
• Publish: Dieser Befehl publiziert eine Seite o<strong>de</strong>r ein ausgewähltes<br />
Element.<br />
• Unpublish: Dieser Befehl nimmt ein Element (o<strong>de</strong>r auch mehrere)<br />
aus <strong>de</strong>r Website heraus. Es wird nicht gelöscht, son<strong>de</strong>rn ist vielmehr<br />
nicht mehr für <strong>de</strong>n Endanwen<strong>de</strong>r verfügbar.<br />
www.brain-media.<strong>de</strong>
35<br />
• Archive: Dieser Befehl archiviert das o<strong>de</strong>r die Elemente. Aus <strong>de</strong>m<br />
Archiv können sie wie<strong>de</strong>r reaktiviert wer<strong>de</strong>n.<br />
• Move: Mit diesem Befehl verschiebt man ein Element in eine an<strong>de</strong>re<br />
Auswahl, Kategorie o<strong>de</strong>r Ablage.<br />
• Copy: Kopiert ein Element an einen an<strong>de</strong>ren Speicherplatz.<br />
• Trash: Löscht bzw. entfernt ein Element.<br />
• Help: Die Hilfefunktion ist unabhängig von <strong>de</strong>r gewählten Funktion<br />
immer verfügbar.<br />
Auf <strong>de</strong>n Arbeitsbereich und seine Einstellungen kommen wir weiter unten bei <strong>de</strong>n<br />
jeweiligen Funktionen und Einstellungen zu sprechen.<br />
Die lokale <strong>Joomla</strong>!-Administrationszentrale stellt auf ihrer Einstiegsseite das so<br />
genannte Control Panel mit <strong>de</strong>n wichtigsten Funktionen sowie einen Infokasten zur<br />
Verfügung. Über die Schaltflächen <strong>de</strong>r Systemsteuerung greifen Sie auf die wichtigsten<br />
Funktionen wie die Elementenverwaltung, die verschie<strong>de</strong>nen Manager, die<br />
Benutzerverwaltung und auch die Systemkonfiguration schnell zu. So sparen Sie<br />
sich das Öffnen über die Menüleiste. Der Infokasten liefert nützliche Informationen<br />
über die gera<strong>de</strong> eingeloggten Benutzer, zu <strong>de</strong>n Komponenten und eine Menüstatistik.<br />
Über Register greifen Sie bequem auf die verschie<strong>de</strong>nen Informationen<br />
zu.<br />
2.1 Wissenswertes über Benutzer, Administratoren<br />
und Manager<br />
Eine neue <strong>Joomla</strong>!-Installation besitzt einen User, <strong>de</strong>n man auch als Super-<br />
Administrator bezeichnet. Er hat die Kennung admin und das bei <strong>de</strong>r Einrichtung<br />
zugewiesene Passwort. Um administrative Aufgaben auf mehrere Schultern verteilen<br />
zu können, verfügt Mambo über drei Administratortypen:<br />
• Super Administrator<br />
• Administrator<br />
• Manager<br />
Der Super-Administrator, von <strong>de</strong>m übrigens auch mehrere eingerichtet wer<strong>de</strong>n<br />
können, ist eine Art höchste Instanz. Er richtet Benutzer und Administratoren ein,<br />
weist Zugriffsrechte zu und und und. Er hat außer<strong>de</strong>m Zugriff zu allen Backend-<br />
Administrationsfunktionen. Benutzer, die <strong>de</strong>r Super-Administrator-Gruppe angehören,<br />
können nicht gelöscht und auch nicht in eine an<strong>de</strong>re Gruppe verschoben<br />
wer<strong>de</strong>n. Der Administrator hat leicht eingeschränkte Rechte und Zugriff zu <strong>de</strong>n<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
36 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Admin-Funktionen. Ein Administrationsbenutzer kann folgen<strong>de</strong> Aktionen nicht<br />
durchführen:<br />
• Hinzufügen und Editieren von Benutzern <strong>de</strong>r Super-Admingruppe<br />
• Zugriff zu <strong>de</strong>n globalen Einstellungen<br />
• Zugriff auf die Massenmailfunktionen<br />
• Verwalten und Installieren von Templates<br />
• Verwalten und Installieren von Sprachdateien<br />
Die <strong>Joomla</strong>!-Manager sind im Allgemeinen auf die Erzeugung und Bearbeitung<br />
von Content beschränkt. Daraus ergibt sich, dass ihre Berechtigungen weiter eingeschränkt<br />
sind als die <strong>de</strong>r Administratoren. Sie unterliegen zusätzlich folgen<strong>de</strong>n<br />
Einschränkungen:<br />
• Verwalten von Benutzern<br />
• Installation von Modulen<br />
• Installation von Komponenten<br />
• Zugriff auf Komponenten (entsprechend <strong>de</strong>r Steuerung durch <strong>de</strong>n Super-<br />
Administrator)<br />
<strong>Joomla</strong>! unterschei<strong>de</strong>t zwischen zwei Benutzerhierarchien: eine für <strong>de</strong>n Zugriff auf<br />
das Frontend, über das typische Benutzer sich beispielsweise in eine Website einloggen<br />
und auf Inhalte zugreifen, und eine für <strong>de</strong>n Backend-Zugriff, <strong>de</strong>r <strong>de</strong>r Systemadministration<br />
bzw. <strong>de</strong>r Administration von Teilbereichen eines Mambo-<br />
Systems dient. Die Standardgruppen sind:<br />
Öffentliches Frontend<br />
Registrierte Benutzer<br />
Autoren<br />
Editoren<br />
Publisher<br />
Öffentliches Backend<br />
Manager<br />
Administratoren<br />
Super-Administratoren<br />
www.brain-media.<strong>de</strong>
37<br />
Die Benutzergruppen Public Frontend und Public Backend wur<strong>de</strong>n mit <strong>de</strong>m Vorläufer<br />
Mambo 4.5 eingeführt. Sie helfen, eine <strong>de</strong>taillierte Steuerung zu realisieren.<br />
Beim Erstellen eines neuen Benutzers legt man<br />
auch <strong>de</strong>ssen Gruppeneigenschaften fest.<br />
Etwas irritierend ist obiger Dialog, da man <strong>de</strong>n Eindruck gewinnen könnte, als<br />
seien Autoren eine Untergruppe <strong>de</strong>r öffentlichen Frontend-Gruppe und als sei <strong>de</strong>r<br />
Super-Administrator <strong>de</strong>n Administratoren untergeordnet. Dem ist aber natürlich<br />
nicht so. Vielmehr muss man Public Frontend und Public Backend als Oberbegriffe<br />
verstehen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
38 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Die registrierten Benutzer können sich von außen in das System einloggen und<br />
haben in <strong>de</strong>r Regel Zugriff auf beschränkte Inhalte und Seiten. In diesem Zusammenhang<br />
spielt auch die Vererbung eine wichtige Rolle. Zugriffsrechte, die einer<br />
übergeordneten Benutzergruppe (beispielsweise Public Frontend) zugewiesen<br />
wur<strong>de</strong>n, gelten automatisch auch für die Kind-Gruppen (Editor) – sofern sie nicht<br />
ausdrücklich an<strong>de</strong>rs <strong>de</strong>finiert sind. Die Mitglie<strong>de</strong>r <strong>de</strong>r Gruppe Author können neue<br />
Inhalte erzeugen, die <strong>de</strong>r Gruppe Editor können ebenfalls in beschränktem Umfang<br />
Objekte an das System übergeben und Inhalte erzeugen. Publisher schließlich können<br />
Inhalte erzeugen und veröffentlichen. Die spezifischen Rechte und Beschränkungen<br />
<strong>de</strong>r Gruppe Public Backend sind bereits oben beschrieben.<br />
Wichtig zu wissen: Die Verfügbarkeit von Content-Elementen, Menübefehlen,<br />
Modulen und Komponenten kann man gezielt für bestimmte Gruppen und Anwen<strong>de</strong>r<br />
beschränken. <strong>Joomla</strong>! unterschei<strong>de</strong>t dabei zwischen <strong>de</strong>n bei<strong>de</strong>n Status öffentlich<br />
(public) und registriert (registered), <strong>de</strong>nen wir oben bereits begegnet sind. Was<br />
be<strong>de</strong>utet das nun für <strong>de</strong>n Praxiseinsatz? Nun, alle Objekte, die als öffentlich <strong>de</strong>klariert<br />
sind, sind für Benutzer von außen nutzbar. Anonyme Anwen<strong>de</strong>r können also<br />
öffentliche Inhalte betrachten. All jene Elemente und Inhalte, <strong>de</strong>nen man <strong>de</strong>n Zugriffsstatus<br />
registered zuweist, sind nur für berechtigte Anwen<strong>de</strong>r zugänglich.<br />
Abhängig von ihren Rechten können sie auch Än<strong>de</strong>rungen an diesen vornehmen.<br />
2.2 Konfiguration einer <strong>Joomla</strong>!-Site<br />
Widmen wir uns <strong>de</strong>r Systemadministration. Über das Menü Site steht Ihnen eine<br />
Vielzahl wichtigster Konfigurationsmöglichkeiten zur Verfügung. Hier nehmen Sie<br />
insbeson<strong>de</strong>re die Site-übergreifen<strong>de</strong>n Einstellungen vor und arbeiten mit verschie<strong>de</strong>nen<br />
Managern, die beispielsweise Sprachen, Medien, Templates und Benutzer<br />
verwalten. Außer<strong>de</strong>m sind über das Menü Site die Vorschaufunktion sowie verschie<strong>de</strong>ne<br />
Statistiken verfügbar.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 39<br />
Die Site-übergreifen<strong>de</strong> Konfiguration <strong>de</strong>s Systems.<br />
Das Herzstück <strong>de</strong>r Site-Konfiguration sind die globalen Einstellungen, die über<br />
Global Configuration verfügbar sind. Än<strong>de</strong>rungen <strong>de</strong>r zugehörigen Einstellungen<br />
aktualisieren die Konfigurationsdatei configuration.php.<br />
Das Menü Site Configuration weist zehn Register auf, über die Sie unterschiedliche<br />
Aspekte <strong>de</strong>r allgemeinen Einstellungen vornehmen:<br />
• Site<br />
• Locale<br />
• Content<br />
• Database<br />
• Server<br />
• Metadata<br />
• Mail<br />
• Cache<br />
• Statistics<br />
• SEO<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
40 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Wichtig ist, dass die Konfigurationsdatei configuration.php schreibbar ist. Das<br />
wird auch beim Einrichten <strong>de</strong>s <strong>Joomla</strong>!-Systems sichergestellt. In <strong>de</strong>r Kopfzeile<br />
wird <strong>de</strong>r Status <strong>de</strong>r Konfigurationsdatei angezeigt. Sollte die Datei nicht schreibbar<br />
sein, so müssen Sie die Einstellung mit einem FTP-Client o<strong>de</strong>r einem Dateimanager<br />
wie Nautilius unter Linux o<strong>de</strong>r <strong>de</strong>m Windows Explorer entsprechend än<strong>de</strong>rn.<br />
In <strong>de</strong>r Kopfzeile können Sie außer<strong>de</strong>m über die Option Make unwritable after<br />
saving <strong>de</strong>n Schreibschutz aktivieren.<br />
Die Einstellungen <strong>de</strong>s Registers Site.<br />
Nachstehen<strong>de</strong> Tabelle fasst die Funktionen <strong>de</strong>s Registers Site zusammen:<br />
Option<br />
Site offline<br />
Beschreibung<br />
Mit diesem einfachen Schalter legen Sie fest, ob die Site<br />
offline geht o<strong>de</strong>r online bleibt. Man hat die Wahl zwischen<br />
<strong>de</strong>n Standardwerten No und Yes. Der Einsatz<br />
dieser Option ist dann sinnvoll, wenn man beispielsweise<br />
eine umfangreiche Systemaktualisierung vornehmen<br />
will. In einem solchen Fall sollten Sie die Site über Yes<br />
vom Netz nehmen.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 41<br />
Option<br />
Offline message<br />
System error message<br />
Site name<br />
Show<br />
links<br />
unauthorized<br />
Allow user registration<br />
Use New Account<br />
Activation<br />
Require Unique Email<br />
Debug site<br />
Wysiwyg editor<br />
List Length<br />
Favourites Site Icon<br />
Beschreibung<br />
In diesem Eingabefeld hinterlegen Sie die Meldung, die<br />
ausgegeben wird, wenn die Site offline geschaltet wur<strong>de</strong>.<br />
Sie können <strong>de</strong>n Vorgabetext beispielsweise durch<br />
„Wartungsarbeiten! Die Site ist um 18 Uhr wie<strong>de</strong>r verfügbar“<br />
ersetzen.<br />
In diesem Textfeld hinterlegen Sie die Standardmeldung,<br />
die ausgegeben wird, wenn Fehler beim Zugriff<br />
auf die MySQL-Datenbank auftreten.<br />
Hier fin<strong>de</strong>t man die Site-Bezeichnung, die man beim<br />
Einrichten <strong>de</strong>s Systems zugewiesen hat. <strong>Joomla</strong>! beherrscht<br />
allerdings noch nicht die Verwaltung mehrerer<br />
Sites.<br />
Aktiviert man diese Option, so sehen auch öffentliche<br />
Benutzer die Links, wie sie sich registrierten Benutzern<br />
präsentieren. Man hat die Wahl zwischen No und Yes.<br />
Der Schalter steht standardmäßig auf No.<br />
Mit dieser Option legt man fest, ob <strong>de</strong>r Link zum Registrierungsformular<br />
aktiviert wird o<strong>de</strong>r nicht. Standardmäßig<br />
ist diese Option aktiviert.<br />
Schaltet man diese Option auf Yes, erhält ein neuer<br />
Benutzer ein mit einem Zufallsgenerator erzeugtes<br />
Passwort per Mail. Über <strong>de</strong>n Link kann er dann <strong>de</strong>n<br />
Account aktivieren.<br />
Setzt man diesen Schalter auf Yes, so kann <strong>de</strong>r Benutzer<br />
nicht die gleiche E-Mail-Adresse mit an<strong>de</strong>ren Anwen<strong>de</strong>rn<br />
gemeinsam nutzen.<br />
Mit dieser Option aktiviert bzw. <strong>de</strong>aktiviert man <strong>de</strong>n<br />
Debug-Modus, <strong>de</strong>r Fehlermeldungen <strong>de</strong>r Site ausgibt.<br />
Für <strong>de</strong>n Administrator sind dies wichtige Informationsquellen<br />
für die Fehlersuche. Die Option ist standardmäßig<br />
allerdings <strong>de</strong>aktiviert.<br />
Über dieses Auswahlmenü legt man <strong>de</strong>n WYSIWYG-<br />
Editor für das Erzeugen von Webseiten fest.<br />
Hier legt man die Standardlängen von Listen fest. Mambo<br />
gibt standardmäßig <strong>de</strong>n Wert 10 vor. Mögliche Alternativen<br />
sind 5, 15, 20, 25, 30 und 50.<br />
Hier legt man das Favicon <strong>de</strong>r Site fest. Nimmt man<br />
keine Einstellung vor, so wird <strong>de</strong>r Standard favicon.ico<br />
verwen<strong>de</strong>t.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
42 Einstieg in die <strong>Joomla</strong>!-Administration<br />
2.2.1 Register Locale<br />
Auf <strong>de</strong>m Register Locale nehmen Sie verschie<strong>de</strong>ne Län<strong>de</strong>r-spezifische Einstellungen<br />
vor. Über das Auswahlmenü Language legen Sie die Standardsprache fest.<br />
Dazu ist erfor<strong>de</strong>rlich, dass mit <strong>de</strong>m Language Manager weitere Sprachversionen<br />
installiert sind. Vorsicht ist beim Umstellen <strong>de</strong>r Sprache geboten. Man sollte unbedingt<br />
darauf achten, dass man ein Language Pack für die jeweilige <strong>Joomla</strong>!-<br />
Version verwen<strong>de</strong>t. An<strong>de</strong>rnfalls kann es zu unangenehmen Problemen führen.<br />
Daher empfiehlt es sich, ein Sprachpaket auf einem Testsystem zu testen. Da die<br />
Sprachpakete bislang eher durchwachsener Qualität sind, bleiben wir bei <strong>de</strong>r englischen<br />
Variante. Die <strong>de</strong>utschen Pakete sind häufig nicht durchgängig lokalisiert –<br />
gelegentlich sogar falsch übersetzt. Daher macht es wenig Sinn, mit halbfertigen<br />
Paketen zu arbeiten.<br />
Über das Register Locale bearbeitet man<br />
Län<strong>de</strong>r-spezifische Einstellungen.<br />
Es folgt das Auswahlmenü Time offset. Hier geben Sie die Zeitverschiebung zur<br />
Zeitzone GMT (Greenwich Mean Time, also die britische Zeitzone) an. Schließlich<br />
<strong>de</strong>finieren Sie unter Country locale die Län<strong>de</strong>reinstellungen. In <strong>de</strong>r Sommerzeit<br />
müssen Sie dann beispielsweise <strong>de</strong>n Wert auf Null setzen. Standardmäßig gibt<br />
Mambo en_GB vor. Für Deutschland wählen Sie entsprechend <strong>de</strong>_DE.<br />
Wichtig bei allen Än<strong>de</strong>rungen, die Sie vornehmen: Erst durch einen Klick auf Save<br />
in <strong>de</strong>r Symbolleiste wer<strong>de</strong>n die Än<strong>de</strong>rungen übernommen. <strong>Joomla</strong>! gibt nach <strong>de</strong>r<br />
Übernahme die Meldung The configuration <strong>de</strong>tails have been updated aus.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 43<br />
Die Content-spezifischen Einstellungen.<br />
2.2.2 Register Content<br />
Über das Register Content stehen Ihnen verschie<strong>de</strong>ne Einstellungen für die Content-Gestaltung<br />
zur Verfügung. Sie wer<strong>de</strong>n über die Kontrollkästchen Yes und No<br />
bzw. Show und Hi<strong>de</strong> ein- bzw. ausgeschaltet. Zu <strong>de</strong>n Einstellungen gehört beispielsweise,<br />
ob PDF- und Druck-Icons verwen<strong>de</strong>t wer<strong>de</strong>n sollen o<strong>de</strong>r nicht. Zu<br />
verschie<strong>de</strong>nen Einstellungen stehen über das Fragezeichen erläutern<strong>de</strong> Informationen<br />
zur Verfügung. Die Einstellungen im Detail:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
44 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Option<br />
Linked titles<br />
Read more link<br />
Item rating/voting<br />
Author names<br />
Created date and<br />
time<br />
Modified date<br />
and time<br />
Hits<br />
PDF Icon<br />
Print icon<br />
Email icon<br />
Icons<br />
Table of contents<br />
on multipage<br />
items<br />
Back button<br />
Content Item<br />
Navigation<br />
Beschreibung<br />
Ähnlich einem Blog wer<strong>de</strong>n hier die Titel von Content-<br />
Elementen als Link dargestellt.<br />
Diese Option ist standardmäßig aktiv und zeigt <strong>de</strong>n Link<br />
Read more für weitere Details eines Artikels.<br />
Aktiviert man diese Option, so können Benutzer die Inhalte<br />
bewerten. Dazu steht die so genannte Star-Leiste zur Verfügung.<br />
Mit dieser Option kann man <strong>de</strong>n Namen <strong>de</strong>s Autors verbergen,<br />
wenn seine Inhalte auf <strong>de</strong>r Website veröffentlicht wer<strong>de</strong>n.<br />
Setzt man diese Option auf Yes, so wer<strong>de</strong>n das Erstelldatum<br />
und die Zeit ausgeblen<strong>de</strong>t. An<strong>de</strong>rsfalls wer<strong>de</strong>n bei<strong>de</strong> Informationen<br />
auf <strong>de</strong>r Seite angezeigt. Die Daten wer<strong>de</strong>n im<br />
oberen Dokumentenbereich platziert.<br />
Mit diesem Schalter kann man das Datum und die Uhrzeit<br />
<strong>de</strong>r letzten Än<strong>de</strong>rung ein- bzw. ausblen<strong>de</strong>n. Diese Informationen<br />
wer<strong>de</strong>n im unteren Dokumentenbereich platziert.<br />
Aktiviert die Ansicht <strong>de</strong>r Zugriffe auf ein Dokument bzw.<br />
Content-Element.<br />
Mit diesem Schalter blen<strong>de</strong>t man das PDF-Icon ein bzw. aus.<br />
Es erlaubt die Konvertierung <strong>de</strong>s aktuellen Dokuments in das<br />
PDF-Format. Damit diese Funktion genutzt wer<strong>de</strong>n kann,<br />
muss das <strong>Media</strong>-Verzeichnis schreibbar sein.<br />
Mit dieser Option schaltet man das Druckersymbol ein bzw.<br />
aus. Es ruft die druckerfreundliche Version <strong>de</strong>r aktuellen<br />
Seite auf.<br />
Über diesen Schalter blen<strong>de</strong>t man das Mail-Symbol ein bzw.<br />
aus, das <strong>de</strong>n Versand <strong>de</strong>r aktuellen Seite per Mail erlaubt.<br />
Hiermit legt man fest, ob die PDF-, Druck- und E-Mail-<br />
Funktionen als Icons o<strong>de</strong>r als Text angezeigt wer<strong>de</strong>n.<br />
Mit dieser Option erzeugt man ein Inhaltsverzeichnis bei<br />
mehrseitigen Dokumenten.<br />
Hiermit aktiviert bzw. <strong>de</strong>aktiviert man <strong>de</strong>n Back-Button, mit<br />
<strong>de</strong>m man zum zuvor geöffneten Dokumente zurückkehrt.<br />
Hiermit blen<strong>de</strong>t man die Navigationselemente ein bzw. aus.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 45<br />
Ein Beispiel für <strong>de</strong>n Einsatz <strong>de</strong>r Rating-Funktion ...<br />
…und ein Beispiel für die Verwendung <strong>de</strong>r Schaltflächen<br />
PDF, Drucker und Mail in <strong>de</strong>r Vorschau.<br />
2.2.3 Register Database<br />
Auf <strong>de</strong>m Register Database fin<strong>de</strong>n Sie die datenbankspezifischen Einstellungen,<br />
die Sie bei <strong>de</strong>r Einrichtung <strong>de</strong>s Systems <strong>de</strong>finiert haben. Es han<strong>de</strong>lt sich naturgemäß<br />
um ausgesprochen wichtige Einstellungen, da Mambo letztlich nichts an<strong>de</strong>res<br />
als ein Datenbankmanager ist. Nur bei korrekten Einstellungen kann Mambo auch<br />
korrekt arbeiten. Die Einstellungen:<br />
• Hostname: Hier tragen Sie <strong>de</strong>n Hostnamen ein, meist localhost.<br />
• Username: Hier <strong>de</strong>n Datenbankbenutzernamen, beispielsweise root.<br />
• Password: Hier das Passwort <strong>de</strong>s Datenbankbenutzers.<br />
• Name: Hier fin<strong>de</strong>n Sie die Datenbankbezeichnung.<br />
• Type: Hier <strong>de</strong>n Datenbanktyp, in <strong>de</strong>r Regel mysql.<br />
• Prefix: Hier fin<strong>de</strong>n Sie das Präfix jos_, das von Datenbankeinträgen genutzt<br />
wird.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
46 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Die Datenbankeinstellungen.<br />
2.2.4 Register Server<br />
Auf <strong>de</strong>m Register Server fin<strong>de</strong>n Sie verschie<strong>de</strong>ne Server-spezifische Informationen<br />
und Einstellungen. Die hier angezeigten Einstellungen wer<strong>de</strong>n während <strong>de</strong>s Setups<br />
eingerichtet und sollten daher nicht geän<strong>de</strong>rt bzw. können auch teilweise nicht<br />
verän<strong>de</strong>rt wer<strong>de</strong>n. Die Einstellungen im Überblick:<br />
• Absolute Path: Hier wird <strong>de</strong>r absolute Pfad <strong>de</strong>r <strong>Joomla</strong>!-Installation angezeigt,<br />
beispielsweise /opt/lampp/htdocs/mambo/.<br />
• Live Site: Hier fin<strong>de</strong>t man <strong>de</strong>n absoluten URL für die <strong>Joomla</strong>!-Site, beispielsweise<br />
192.168.0.3/mambo/.<br />
• GZIP Page Compression: Hier fin<strong>de</strong>t man <strong>de</strong>n gepufferten Output, sofern<br />
dies vom Server unterstützt wird. Die optimale Einstellung hat positive<br />
Auswirkungen auf die Systemperformance.<br />
• Site Session Lifetime: Hier trägt man die Lebensdauer <strong>de</strong>r Session ein.<br />
Der Standardwert ist 900 Sekun<strong>de</strong>n, also 15 Minuten.<br />
• Admin Session Lifetime: Dem Administrator weist man in <strong>de</strong>r Regel einen<br />
höheren Wert zu.<br />
• Remember Expired Admin Page: Wird eine Session been<strong>de</strong>t und loggt<br />
sich <strong>de</strong>r Admin innerhalb von 10 Minuten erneut ein, so versucht das System<br />
ihn zu <strong>de</strong>r Seite zu führen, auf <strong>de</strong>r er ausgeloggt wur<strong>de</strong>.<br />
• Session Authentication Method: Hier können Sie die Authentifizierungsmetho<strong>de</strong><br />
än<strong>de</strong>rn. Sie haben die Wahl zwischen drei Einstellungen.<br />
Belassen Sie es bei Level 3 Security – außer zu Testzwecken. Beim Betrieb<br />
hinter einen Proxy-Server können Sie die Sicherheitsstufe auch auf<br />
Level 2 herunterfahren.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 47<br />
• Error Reporting: Hier legt man <strong>de</strong>n Umfang <strong>de</strong>r Fehlerberichte fest.<br />
Man hat die Wahl zwischen System Default, None, Simple und Maximum.<br />
In <strong>de</strong>r Regel genügt die Option Default. Ein Hochsetzen ist nur dann<br />
sinnvoll, wenn immer wie<strong>de</strong>r Fehler auftreten und eine praktikable Lösung<br />
noch fehlt.<br />
• Help Server: Hier fin<strong>de</strong>t man <strong>de</strong>n Link zum Mambo/Dokumentationsserver.<br />
Die Vorgabe lautet entsprechend<br />
http://help.joomla.com.<br />
Die Server-Einstellungen.<br />
Für das Erstellen von Dateien und Verzeichnissen können Sie neben <strong>de</strong>n Standardvorgaben<br />
<strong>de</strong>s Content-Managementsystems auch spezifische Berechtigungen <strong>de</strong>finieren.<br />
Dazu markieren Sie bei <strong>de</strong>n Einstellungen File Creation bzw. Directory<br />
Creation die Option CHMOD new files to bzw. CHMOD new directories. In die<br />
Eingabefel<strong>de</strong>r geben Sie dann die Berechtigung manuell ein. Alternativ setzen Sie<br />
die Berechtigung über die typische Auswahl.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
48 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Sowohl für die Dateien als auch für die Verzeichnisse können Sie zusätzlich die<br />
Option Apply to existing files aktivieren. Diese Option weist die gewählte Berechtigung<br />
für alle Dateien bzw. Verzeichnisse <strong>de</strong>r <strong>Joomla</strong>!-Site zu. Der unsachgemäße<br />
Einsatz dieser Option kann die Site angreifbar machen. Daher sollten Sie auf <strong>de</strong>ren<br />
Verwendung verzichten.<br />
Das manuelle Setzen von Berechtigungen für<br />
neue Dateien und neue Verzeichnisse.<br />
2.2.5 Register Metadata<br />
Auf <strong>de</strong>m Register Metadata nehmen Sie die Einstellungen für die Metadaten vor.<br />
Dazu stehen zwei Textfel<strong>de</strong>r zur Verfügung. Die Metadaten dienen <strong>de</strong>r Site-<br />
Beschreibung und wer<strong>de</strong>n insbeson<strong>de</strong>re von Suchmaschinen für die Indizierung<br />
verwen<strong>de</strong>t. Sie sollten sich die Zeit nehmen und die Fel<strong>de</strong>r mit relevanten Beschreibungen<br />
und Schlüsselwörtern füttern.<br />
In das Feld Meta Description geben Sie die Site-Beschreibung ein. Beschränken<br />
Sie die Beschreibung auf maximal 20 Wörter und achten Sie dabei auf eine aussagekräftige<br />
Beschreibung. In das Textfeld Meta Keywords geben Sie <strong>de</strong>r Reihe nach<br />
die wichtigsten Schlüsselwörter ein. Die einzelnen Wörter wer<strong>de</strong>n lediglich durch<br />
Leerzeichen o<strong>de</strong>r Komma getrennt. Auch hier sollten Sie darauf achten, dass Sie<br />
zutreffen<strong>de</strong> Begriffe verwen<strong>de</strong>n. Für die wichtigsten Begriffe stehen 300 bis maximal<br />
500 Zeichen zur Verfügung.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 49<br />
Die Eingabefel<strong>de</strong>r für die Meta-Informationen.<br />
Das Formular Metadata bietet zwei weitere Optionen, die bei<strong>de</strong> standardmäßig<br />
aktiviert sind:<br />
• Show Title Meta Tag: Diese Option sorgt dafür, dass auch das Metatag<br />
Title in Dokumenten aufgeführt wird.<br />
• Show Author Meta Tag: Mit <strong>de</strong>m Schalter aktivieren Sie die Verwendung<br />
<strong>de</strong>s Autoren-Meta-Tags.<br />
2.2.6 Register Mail<br />
Die Funktion <strong>de</strong>s Registers Mail erklärt sich fast von alleine. Hier nehmen Sie die<br />
E-Mail-spezifischen Einstellungen für das <strong>Joomla</strong>!-System vor. Dabei legen Sie<br />
zunächst über das Auswahlmenü Mailer fest, ob Mails nach draußen über die PHP-<br />
Mailer-Funktion, Sendmail o<strong>de</strong>r einen anzugeben<strong>de</strong>n SMTP-Server versen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Im Textfeld Mail From geben Sie die E-Mail-Adresse <strong>de</strong>s Administrators an, gefolgt<br />
vom Namen <strong>de</strong>r Mambo-Site. Verwen<strong>de</strong>n Sie Sendmail und wird dieser auf<br />
<strong>de</strong>m gleichen System betrieben, so gibt man im Feld Sendmail Path <strong>de</strong>n Pfad zur<br />
Sendmail-Installation an. Es folgen verschie<strong>de</strong>ne Einstellungen für <strong>de</strong>n SMTP-<br />
Server. Zunächst legen Sie fest, ob Sie sich auf <strong>de</strong>m SMTP-Server authentifizieren<br />
müssen. Falls ja, geben Sie in die Textfel<strong>de</strong>r SMTP User und SMTP Pass die Benutzerkennung<br />
und das Passwort ein. Natürlich darf auch die IP-Adresse bzw. <strong>de</strong>r<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
50 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Servernamen nicht fehlen. Durch einen Klick auf Save sichern Sie die Einstellungen.<br />
Nun können auch Mails aus <strong>de</strong>r <strong>Joomla</strong>!-Site heraus auf <strong>de</strong>n Weg gebracht<br />
wer<strong>de</strong>n.<br />
Die Einstellungen für <strong>de</strong>n Mailversand.<br />
2.2.7 Register Cache<br />
Recht beschei<strong>de</strong>n fällt die Konfiguration <strong>de</strong>s Zwischenspeichers über das Register<br />
Cache aus. Hier legen Sie zunächst fest, ob <strong>de</strong>r Cache aktiviert wer<strong>de</strong>n soll o<strong>de</strong>r<br />
nicht. Standardmäßig ist er <strong>de</strong>aktiviert, sollte aber zugunsten einer besseren Systemperformance<br />
aktiviert wer<strong>de</strong>n.<br />
www.brain-media.<strong>de</strong>
Konfiguration einer <strong>Joomla</strong>!-Site 51<br />
Die Konfiguration <strong>de</strong>s <strong>Joomla</strong>!-Zwischenspeichers.<br />
Unter Cache Fol<strong>de</strong>r ist <strong>de</strong>r Pfad zum Cache-Ordner hinterlegt. Das Register erlaubt<br />
außer<strong>de</strong>m das Festlegen <strong>de</strong>r Zeitspanne, wie lange Objekte (in Sekun<strong>de</strong>n)<br />
zwischengespeichert wer<strong>de</strong>n. Än<strong>de</strong>rungen sind in <strong>de</strong>r Regel nicht erfor<strong>de</strong>rlich.<br />
2.2.8 Register Statistics<br />
Auch die Einstellungen <strong>de</strong>s Registers Statistics fallen beschei<strong>de</strong>n aus. Hier aktivieren<br />
Sie zunächst verschie<strong>de</strong>ne Statistikfunktionen. Dabei han<strong>de</strong>lt es sich um die<br />
Auswertung <strong>de</strong>r Server-Logfiles. Standardmäßig sind die statistischen Funktionen<br />
<strong>de</strong>aktiviert.<br />
Es folgt die Option Log Content Hits by Date. Aktiviert man diese, so wer<strong>de</strong>n die<br />
Zugriffe nach <strong>de</strong>m Datum aufgezeichnet. Bevor Sie diese Option aktivieren, sollten<br />
Sie sich bewusst sein, dass dabei erhebliche Datenmengen gesammelt wer<strong>de</strong>n.<br />
Über die Konfiguration <strong>de</strong>r <strong>Joomla</strong>!-Statistik können Sie die verwen<strong>de</strong>ten Suchbegriffe<br />
protokollieren. Auch diese Option ist standardmäßig <strong>de</strong>aktiviert. Die Ergebnisse<br />
sind dann über Site> Statistics> Search Text abrufbar.<br />
2.2.9 Register SEO<br />
<strong>Joomla</strong>! verfügt auch über einen einfachen Mechanismus, um externen Suchmaschinen<br />
wie Google & Co. die Indizierung <strong>de</strong>r Inhalte zu erleichtern. Die Funktion<br />
Search Engine Friendly URLs wird lediglich vom Apache-Webserver unterstützt.<br />
Mit dieser Option wer<strong>de</strong>n die Links Suchmaschinen-freundlich gesetzt. So erfassen<br />
die Robots <strong>de</strong>r Suchmaschinen mehr Seiten. Aktivieren Sie die Option, so müssen<br />
Sie die Datei htaccess.txt in .htaccess umbenennen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
52 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Auch die Option Dynamic Page Title unterstützt Suchmaschinen beim Erfassen<br />
von Web-Inhalten. Sie sorgt dafür, dass <strong>de</strong>r Seitentitel mit <strong>de</strong>m auf einem Dokument<br />
aufgeführten Titel i<strong>de</strong>ntisch ist.<br />
<strong>Joomla</strong>! besitzt zwei Optionen, um Suchmaschinen-<br />
Robots die Arbeit zu erleichtern.<br />
2.3 Language Manager<br />
Mit <strong>de</strong>m zweiten Eintrag <strong>de</strong>s Site-Menüs öffnen Sie <strong>de</strong>n so genannten Language<br />
Manager. Mit diesem können Sie installierte Sprachpakete bearbeiten und auch<br />
neue Sprachpakete installieren, beispielsweise für eine <strong>de</strong>utschsprachige Benutzerschnittstelle.<br />
Öffnen Sie <strong>de</strong>n Manager, so führt er eine Liste <strong>de</strong>r installierten Pakete<br />
auf. Bei einer Standardinstallation ist lediglich das englische Paket eingerichtet.<br />
Um ein neues Paket zu installieren, führen Sie <strong>de</strong>n Befehl Site> Language Manager><br />
Install aus. Im zugehörigen Dialog wählen Sie das Paket aus und klicken<br />
dann auf Upload File & Install. <strong>Joomla</strong>! gibt das Installationsverzeichnis vor. In<br />
<strong>de</strong>r Regel muss es nicht angepasst wer<strong>de</strong>n. Um ein installiertes Paket zur Standardsprache<br />
zu machen, markieren Sie es und führen <strong>de</strong>n Befehl Publish aus.<br />
www.brain-media.<strong>de</strong>
<strong>Media</strong> Manager 53<br />
Das Editieren einer neuen <strong>Joomla</strong>!-Sprachdatei.<br />
Über <strong>de</strong>n Sprachmanager bearbeiten Sie außer<strong>de</strong>m bestehen<strong>de</strong> Sprachpakete. Dazu<br />
klicken Sie auf <strong>de</strong>n zugehörigen Hyperlink. Mit <strong>de</strong>m Dialog Language Editor<br />
können Sie die Sprachvariante manuell bearbeiten. Zukünftige Versionen wer<strong>de</strong>n<br />
hier <strong>de</strong>utlich benutzerfreundlicher wer<strong>de</strong>n und das parallele Bearbeiten von<br />
Sprachdateien erlauben.<br />
2.4 <strong>Media</strong> Manager<br />
Der so genannte <strong>Media</strong> Manager verwaltet unterschiedliche Medien wie Abbildungen,<br />
Sound- und Vi<strong>de</strong>o-Dateien. Er führt die bereits auf <strong>de</strong>m System vorhan<strong>de</strong>nen<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
54 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Medien in einem Vorschaufeld auf. Zu je<strong>de</strong>m Objekt können Sie ergänzen<strong>de</strong> Informationen<br />
hinzufügen. Bei Bil<strong>de</strong>rn wird außer<strong>de</strong>m die Bildgröße angezeigt. Der<br />
<strong>Media</strong> Manager ist über die <strong>Joomla</strong>!-Startseite und über das Menü Site> <strong>Media</strong><br />
Manager verfügbar.<br />
Der <strong>Media</strong> Manager in Aktion.<br />
Um neue Medienobjekte für <strong>Joomla</strong>! verfügbar zu machen, wählen Sie die Datei<br />
aus und klicken dann in <strong>de</strong>r Symbolleiste auf Upload. Im Textfeld Co<strong>de</strong> wird <strong>de</strong>r<br />
HTML-Co<strong>de</strong> <strong>de</strong>s Mediums angezeigt, sofern man es durch einen Klick markiert.<br />
Innerhalb <strong>de</strong>r Medienablage können Sie zu<strong>de</strong>m weitere Ordner erzeugen. Dazu<br />
geben Sie in das Textfeld Create directory die Ordnerbezeichnung an und klicken<br />
dann in <strong>de</strong>r Symbolleiste auf Create.<br />
www.brain-media.<strong>de</strong>
Statistiken 55<br />
2.5 Vorschaufunktion<br />
Über das Menü Site ist auch die Vorschaufunktion von <strong>Joomla</strong>! verfügbar. Dazu<br />
führt man einfach <strong>de</strong>n Befehl Site> Preview aus. <strong>Joomla</strong>! bietet drei Optionen für<br />
die Vorschau:<br />
• In New Windows: Hier wird ein zweites Browserfenster geöffnet, in <strong>de</strong>m<br />
man die geleistete Arbeit unter echten Bedingungen testen kann.<br />
• Inline: Dieser Vorschautyp zeigt die Site im Arbeitsbereich vom Mambo,<br />
in <strong>de</strong>m man ansonsten beispielsweise <strong>de</strong>n <strong>Media</strong> Manager fin<strong>de</strong>t.<br />
• Inline with Positions: Die um die Positionen erweiterte eingebettete Vorschau.<br />
Weitere Einstellungen, wie man sie beispielsweise von professionellen Webeditoren<br />
kennt, die unterschiedliche Auflösungen etc. unterstützen, hat <strong>Joomla</strong>! bislang<br />
nicht zu bieten.<br />
2.6 Statistiken<br />
Dem Administrator liefern die statistischen Informationen wichtige Hinweise über<br />
die Systemnutzung. <strong>Joomla</strong>! verfügt über einen rudimentären Analyzer, <strong>de</strong>r verschie<strong>de</strong>ne<br />
Protokolldateien auswertet. Man sollte allerdings nicht feine Auswertungen<br />
erwarten, wie sie AWstats (http://www.awstats.org) & Co. liefern. Die<br />
Statistikfunktion von <strong>Joomla</strong>! 1.0.x beschränkt sich auf die Auswertung <strong>de</strong>r Suchbegriffe,<br />
die User in das Suchformular eingegeben haben. Kommen<strong>de</strong> Versionen<br />
sollen auch Statistiken zu Browser-Version, Betriebssystem, Domain und Seitenzugriffe<br />
liefern. Die Auswertung setzt natürlich voraus, dass die Suchtextstatistik<br />
in <strong>de</strong>n globalen Einstellungen aktiviert ist.<br />
Über <strong>de</strong>n Menübefehl Content> Page Impressions können Sie übrigens zusätzlich<br />
die Anzahl <strong>de</strong>r Seitenzugriffe abrufen-<br />
2.7 Template Manager<br />
Mit <strong>de</strong>m Template Manager verwalten Sie <strong>Joomla</strong>!-Vorlagen. Hier installieren Sie<br />
neue Vorlagen und bearbeiten bestehen<strong>de</strong>. Benutzer, die Zugriff auf die Vorlagenablage<br />
haben, können sie anpassen und die neue Fassung auch wie<strong>de</strong>r verfügbar<br />
machen. Das Menü Template Manager unterschei<strong>de</strong>t zwischen Administrator- und<br />
Site-Template, erlaubt die Installation neuer Vorlagen und das Bearbeiten <strong>de</strong>r Mo-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
56 Einstieg in die <strong>Joomla</strong>!-Administration<br />
dul-Positionen. Der Unterschied zwischen Site- und Administrator-Template: Die<br />
eine Vorlage bekommen die „normalen“ Nutzer, die an<strong>de</strong>re die Systemadministratoren<br />
zu sehen.<br />
Für bei<strong>de</strong> gilt: In <strong>de</strong>r Standardansicht führt <strong>de</strong>r Template Manager die aktuell installierten<br />
Vorlagen samt Bezeichnung, Verwendung, Autor, Versionsnummer,<br />
Datum und Autoren-URL auf. Die Standardvorlage wird durch einen grünen Haken<br />
gekennzeichnet. Auch hier kann die Ansicht über das Auswahlmenü Display<br />
beschränkt bzw. erweitert wer<strong>de</strong>n.<br />
Die Template-Übersicht.<br />
Haben Sie in <strong>de</strong>r Site-Konfiguration die Vorschau aktiviert, so zeigt Ihnen <strong>Joomla</strong>!<br />
eine Miniaturansicht <strong>de</strong>r Vorlage an, wenn man <strong>de</strong>n Mauszeiger über <strong>de</strong>n Listeneintrag<br />
führt. Um die Standardvorlage zu än<strong>de</strong>rn, markieren Sie einfach das gewünschte<br />
Template und klicken dann in <strong>de</strong>r Symbolleiste auf Default. Um die<br />
Schnittstelle zu installieren, klicken Sie in <strong>de</strong>r Symbolleiste auf New, suchen die<br />
Vorlage aus, bestimmen das Zielverzeichnis und führen die Installation mit einem<br />
Klick auf Upload durch.<br />
Es geht auch manuell. Dazu kopieren Sie die Vorlage samt Mini-Template in ein<br />
eigenes Unterverzeichnis <strong>de</strong>s Template-Verzeichnisses. Nach einem Neustart von<br />
Mambo ist auch diese Vorlage dann über <strong>de</strong>n Template Manager verfügbar.<br />
Über die Schaltfläche Assign <strong>de</strong>r Symbolleiste weisen Sie <strong>de</strong>r Vorlage die gewünschten<br />
Menüs zu. Standardmäßig verwen<strong>de</strong>t diese alle verfügbaren Menüs.<br />
Wollen Sie die Verwendung beschränken, so markieren Sie im Assign-Dialog die<br />
einzelnen Einträge durch Drücken <strong>de</strong>r Strg-Taste und Markieren mit <strong>de</strong>r Maus. Die<br />
Wahl bestätigen Sie mit einem Klick auf Save. Nach<strong>de</strong>m Sie einer ersten Vorlage<br />
bestimmte Menüs zugewiesen haben, wird die Vorlagenliste um die Spalte<br />
Assigned erweitert. Auch hier kennzeichnet ein grünes Häkchen alle Vorlagen mit<br />
zugewiesenen Menüs.<br />
www.brain-media.<strong>de</strong>
Template Manager 57<br />
Die Auswahl an Menüs.<br />
Über die Vorlagenverwaltung können Sie auch <strong>de</strong>n HTML- und CSS-Co<strong>de</strong> einer<br />
Vorlage bearbeiten. Wichtig zu wissen: Eine Vorlage besteht aus einer Datei In<strong>de</strong>x.php,<br />
<strong>de</strong>n Grafiken im Verzeichnis images, <strong>de</strong>m Template-Stylesheet im Verzeichnis<br />
CSS und einer XML-basierten Template-Beschreibung<br />
templateDetails.xml. Wie an nachfolgen<strong>de</strong>m Template sehr schön zu erkennen ist,<br />
beschreibt die Template-Beschreibung exakt, welche Komponenten zur Vorlage<br />
gehören:<br />
<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
58 Einstieg in die <strong>Joomla</strong>!-Administration<br />
<strong>Joomla</strong> Admin<br />
09/7/05<br />
Robert Deutz<br />
GNU/GPL<br />
mambo@run-digital.com<br />
http://www.run-digital.com<br />
1.0<br />
<br />
<br />
in<strong>de</strong>x.php<br />
css/template_css.css<br />
<br />
<br />
Über die Schaltflächen Edit HTML und Edit CSS öffnen Sie ein einfaches Textfeld,<br />
in <strong>de</strong>m <strong>de</strong>r PHP- bzw. CSS-Co<strong>de</strong> dargestellt wird. Nehmen Sie Än<strong>de</strong>rungen vor, so<br />
wer<strong>de</strong>n diese über einen Klick auf Save gespeichert. Da manuelle Eingriffe in <strong>de</strong>n<br />
PHP- und/o<strong>de</strong>r CSS-Co<strong>de</strong> nicht je<strong>de</strong>rmanns Sache sind, arbeitet das Mambo-<br />
Entwicklerteam an besseren Lösungen. In einer frühen Entwicklungsphase befin<strong>de</strong>t<br />
sich beispielsweise ein formularbasierter Template-Editor. Alternativ können<br />
Templates auch mit <strong>de</strong>r Dreamweaver-Erweiterung erzeugt bzw. bearbeitet wer<strong>de</strong>n.<br />
Dazu mehr im Kapitel Template-Entwicklung.<br />
Der Vorlagenmanager unterstützt auch das Löschen von Templates aus <strong>de</strong>r Übersicht.<br />
Dazu markieren Sie einfach die Vorlage und klicken auf Delete. Es erfolgt<br />
eine Sicherheitsabfrage, ob Sie <strong>de</strong>n Löschvorgang tatsächlich durchführen wollen.<br />
2.8 Trash Manager<br />
Im so genannten Trash Manager lan<strong>de</strong>n die Komponenten und Elemente, die Sie<br />
während <strong>de</strong>r Arbeit an einer Mambo-Site gelöscht haben. Der Mülleimer unterschei<strong>de</strong>t<br />
dabei zwischen Content- und Menüelementen. Diese wer<strong>de</strong>n auf unterschiedlichen<br />
Registern angezeigt. Zu je<strong>de</strong>m gelöschten Element zeigt <strong>de</strong>r Mülleimer<br />
<strong>de</strong>n Titel, die Sektion und die Kategorie an. Lei<strong>de</strong>r zeigt das Formular nicht<br />
an, wann Sie ein Objekt gelöscht haben.<br />
www.brain-media.<strong>de</strong>
User Manager – Benutzerverwaltung 59<br />
Wollen Sie Objekte dauerhaft löschen, so markieren Sie diese und klicken auf<br />
Delete. Um Objekte wie<strong>de</strong>rherzustellen, markiert man das bzw. die Objekte und<br />
klickt auf Restore. Bei bei<strong>de</strong>n Befehlen erfolgt eine Sicherheitsabfrage, ob die<br />
gewünschte Aktion tatsächlich durchgeführt wer<strong>de</strong>n soll.<br />
2.9 User Manager – Benutzerverwaltung<br />
Mit eine <strong>de</strong>r wichtigsten Aufgaben eines Administrators ist die Verwaltung von<br />
Benutzern und Gruppen. Auch für diese Aufgabe hat <strong>Joomla</strong>! die adäquate Funktion<br />
zu bieten. Sie ist über Site> User Manager bzw. über die lokale Homepage<br />
verfügbar. Auch dieser Dialog präsentiert Ihnen eine Liste <strong>de</strong>r eingerichteten Anwen<strong>de</strong>r<br />
samt Detailinformationen wie Name, User-ID, Grup-penzugehörigkeit, E-<br />
Mail-Adresse, Zeitpunkt <strong>de</strong>s letzten Besuchs und Status (aktiv/inaktiv).<br />
Nach einer Standardinstallation ist lediglich <strong>de</strong>r System-Administrator eingetragen.<br />
Neue Benutzer erzeugen Sie über die Schaltfläche New. In das Formular Add User<br />
geben Sie folgen<strong>de</strong> Daten ein:<br />
• Name: Hier geben Sie <strong>de</strong>n Namen <strong>de</strong>r Person ein.<br />
• Username: Hier legen Sie <strong>de</strong>n Benutzernamen für das <strong>Joomla</strong>!-System<br />
fest.<br />
• E-Mail: Es folgt die zwingend erfor<strong>de</strong>rliche Angabe <strong>de</strong>r E-Mail-Adresse.<br />
• New Password: Hier geben Sie das Passwort ein.<br />
• Verify Password: Und hier verifizieren Sie die Passwort-Eingabe.<br />
• Group: Über dieses Auswahlmenü legen Sie durch Markieren <strong>de</strong>s entsprechen<strong>de</strong>n<br />
Eintrags die Gruppenzugehörigkeit fest.<br />
• Block user: Hier legen Sie fest, ob Sie <strong>de</strong>n Zugriff für <strong>de</strong>n Benutzer unterbin<strong>de</strong>n<br />
o<strong>de</strong>r nicht.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
60 Einstieg in die <strong>Joomla</strong>!-Administration<br />
Ein neuer Benutzer entsteht.<br />
Den <strong>Joomla</strong>!-Benutzergruppen sind wir bereits oben begegnet. Es stehen die bei<strong>de</strong>n<br />
Kategorien Frontend und Backend mit <strong>de</strong>n zugehörigen Rechten zur Verfügung.<br />
In <strong>de</strong>r Frontend-Gruppe sind folgen<strong>de</strong> Gruppen vorgesehen:<br />
• Registered: Diese Gruppe erlaubt das Einloggen über das Frontend.<br />
• Author: Erlaubt das Posten von Inhalten, meist über einen Link im User-<br />
Menü.<br />
• Editor: Erlaubt das Posten und Editieren von Inhalten über das Frontend.<br />
• Publisher: Erlaubt das Posten, Editieren und Publizieren von Inhalten.<br />
Mitglie<strong>de</strong>r <strong>de</strong>r Backend-Gruppe haben Zugang zum System über das Admin-<br />
Login:<br />
www.brain-media.<strong>de</strong>
User Manager – Benutzerverwaltung 61<br />
• Manager: Diese Gruppenmitglie<strong>de</strong>r haben Zugriff auf die Funktionen zur<br />
Content-Erstellung und an<strong>de</strong>re Systeminformationen.<br />
• Administrator: Diese Gruppe hat Zugriff auf die meisten administrativen<br />
Funktionen.<br />
• Super Administrator: Mitglie<strong>de</strong>r dieser Gruppe haben vollen Zugriff auf<br />
alle Funktionen <strong>de</strong>r Umgebung.<br />
Wollen Sie nun in <strong>de</strong>r Praxis einen Benutzer einführen, <strong>de</strong>r beispielsweise News,<br />
typische Artikel, FAQs und Links erstellen darf, so nehmen Sie einen Umweg über<br />
das <strong>Joomla</strong>!-Modulmenü und erzeugen einen Spezialuser, <strong>de</strong>r eben mit diesen<br />
Rechten versehen ist. Im Detail heißt das: Zunächst wechseln Sie in das Menü<br />
Module> Site Modules und editieren das Modul User Menu durch einen einfachen<br />
Klick. Auf <strong>de</strong>m Formular Site Modul aktivieren Sie unter Access Level die Option<br />
Special. Das Ergebnis dieser Einstellung: Lediglich User, <strong>de</strong>nen Sie das Recht<br />
Special zuweisen, können das System über das Frontend mit Daten füttern.<br />
Das Formular zum Erzeugen weist außer<strong>de</strong>m darauf hin, dass bislang noch keine<br />
ergänzen<strong>de</strong>n Informationen zu <strong>de</strong>m neuen User verfügbar sind. Diese können Sie<br />
über Components> Contact> Manage Contacts erzeugen.<br />
Die Benutzerverwaltung, nach<strong>de</strong>m ein Benutzer hinzugefügt wur<strong>de</strong>.<br />
Wollen Sie eine bestimmte Benutzer-Verbindung been<strong>de</strong>n, so markieren Sie <strong>de</strong>n<br />
Eintrag und klicken dann in <strong>de</strong>r Symbolleiste auf Force Logout.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
62 Einstieg in die <strong>Joomla</strong>!-Administration<br />
www.brain-media.<strong>de</strong>
Typische Vorgehensweise 63<br />
3 Ihre erste <strong>Joomla</strong>!-Site<br />
Jetzt, da Sie Ihre Umgebung an Ihre Anfor<strong>de</strong>rungen angepasst haben, wollen Sie<br />
sich sicher am liebsten direkt in die Entwicklung einer eigenen Site stützen. Nach<br />
<strong>de</strong>r Installation von <strong>Joomla</strong>! sind viele Anwen<strong>de</strong>r zunächst einmal frustriert, da sie<br />
nicht recht wissen, wie und wo es jetzt am einfachsten weitergeht. In diesem Kapitel<br />
wollen wir Ihnen zeigen, wie Sie am schnellsten zur eigenen <strong>Joomla</strong>!-basierten<br />
Site kommen.<br />
3.1 Typische Vorgehensweise<br />
Da das Aussehen und Layout einer Website maßgeblich von <strong>de</strong>m verwen<strong>de</strong>ten<br />
Template abhängt, sollten Sie sich zunächst auf die Suche nach einem geeigneten<br />
Template machen. Wie Sie später noch sehen wer<strong>de</strong>n, ist <strong>Joomla</strong>! standardmäßig<br />
mit zwei Design-Vorlagen ausgestattet. Sollten diese Ihnen nicht zusagen, ist das<br />
kein Problem: Im Netz fin<strong>de</strong>n Sie je<strong>de</strong> Menge – oft auch freie – Templates. Wenn<br />
Sie nicht so recht wissen, wo Sie anfangen sollen zu suchen, werfen Sie einen<br />
Blick in <strong>Joomla</strong>.<strong>de</strong> (http://www.joomla.<strong>de</strong>), <strong>Joomla</strong>Links (http://www.joomlalinks.<strong>de</strong>)<br />
o<strong>de</strong>r <strong>Joomla</strong> 24 (http://www.joomla24.com). Auf diesen Seiten fin<strong>de</strong>n<br />
Sie je<strong>de</strong> Menge Vorlagen, meist mit einer Vorschau.<br />
Im nächsten Schritt geht es meist darum, eine Site-Struktur zu <strong>de</strong>finieren. Dabei<br />
geht es insbeson<strong>de</strong>re darum, festzulegen, wie die Menüstruktur aussehen soll, wo<br />
das o<strong>de</strong>r die Menüs platziert wer<strong>de</strong>n und welche Menüeintrage erfor<strong>de</strong>rlich bzw.<br />
gewünscht sind. Außer<strong>de</strong>m legen Sie im zweiten Schritt meist auch fest, wo diese<br />
Menüs genau zu fin<strong>de</strong>n sind. Da Sie mit <strong>de</strong>r vor <strong>Joomla</strong>! bereitgestellten Site in <strong>de</strong>r<br />
Regel nichts o<strong>de</strong>r nur wenig anfangen können, müssen Sie zunächst eigene Menüs<br />
erstellen.<br />
Erst wenn die Site-Struktur und das Layout festgelegt sind, können Sie sich an das<br />
Erstellen von Inhalten machen. Wenn Sie erst Routine im Umgang mit <strong>Joomla</strong>!<br />
haben, können Sie sich dann auch an die Nutzung von zusätzlichen Funktionen und<br />
Erweiterungen machen.<br />
Wenn Ihnen diese Vorgehensweise für <strong>de</strong>n Einstieg zu komplex ist, können Sie<br />
auch die bestehen<strong>de</strong> <strong>Joomla</strong>!-Site <strong>de</strong>rart modifizieren, bis Sie zu min<strong>de</strong>st ansatzweise<br />
das gewünschte Ergebnis erzielen. In diesem Fall ersetzen Sie beispielsweise<br />
die Kopfgrafik durch eigene Dateien, löschen o<strong>de</strong>r <strong>de</strong>aktivieren nicht benötigte<br />
Menüs und benennen bestehen<strong>de</strong> einfach um.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
64 Ihre erste <strong>Joomla</strong>!-Site<br />
3.2 Template-Auswahl und -Installation<br />
Wen<strong>de</strong>n wir uns zunächst <strong>de</strong>r Template-Auswahl und -Installation zu. Zunächst<br />
sollten Sie in einer <strong>de</strong>r vielen Template-Listen sich ein geeignetes Template suchen,<br />
das weitgehend Ihren Anfor<strong>de</strong>rungen entspricht. Sie können natürlich auch<br />
eigene Vorlagen entwickeln (siehe Kapitel 7, Template-Entwicklung), doch das<br />
setzt fundierte Kenntnisse <strong>de</strong>s Systems voraus.<br />
Im Download-Bereich von <strong>Joomla</strong>.<strong>de</strong> fin<strong>de</strong>n Sie eine Template-Galerie, in <strong>de</strong>r Sie<br />
nach <strong>de</strong>r passen<strong>de</strong>n Vorlage suchen können. Wir verwen<strong>de</strong>n hier exemplarisch die<br />
Vorlage Greenery (http://www.joomlaos.<strong>de</strong>/option,com_remository/Itemid,41/func<br />
,finishdown/id,2849.html) von Raduga. Sie sollten sich ausreichend Zeit nehmen,<br />
um die passen<strong>de</strong> Vorlage zu fin<strong>de</strong>n. Auf <strong>de</strong>n diversen Sites fin<strong>de</strong>t man oft über<br />
1000 Vorlagen.<br />
La<strong>de</strong>n wir uns also zunächst das Template herunter und installieren wir es. Führen<br />
Sie dazu <strong>de</strong>n Befehl Installers> Templates – Site aus. Der Installationsdialog präsentiert<br />
Ihnen ein einfaches Eingabefeld, in <strong>de</strong>m Sie <strong>de</strong>n Pfad zum Template angeben.<br />
Alternativ klicken Sie auf die Schaltfläche Durchsuchen und wählen die Datei<br />
an. Mit einem Klick auf Upload File & Install führen Sie die Installation aus.<br />
Der Installationsdialog gibt eine erste Erfolgsmeldung aus, <strong>de</strong>r Sie auch entnehmen<br />
können, wo Sie Module platzieren können (z.B. links, rechts, oben und/o<strong>de</strong>r unten).<br />
Mit einem Klick auf Continue lan<strong>de</strong>n Sie im Template Manager, in <strong>de</strong>m Sie<br />
die neue Vorlage nur noch zum Standard machen müssen. Markieren Sie dazu <strong>de</strong>n<br />
zugehörigen Listeneintrag und klicken Sie auf Default.<br />
Das gewünschte Template ist installiert und als Standardvorlage aktiviert.<br />
www.brain-media.<strong>de</strong>
Template-Auswahl und -Installation 65<br />
Nun können Sie beispielsweise über das Menü Site> Preview> In New Window<br />
sich einen Eindruck von <strong>de</strong>r Vorlage verschaffen. Wie Sie nachstehen<strong>de</strong>r Abbildung<br />
entnehmen können, präsentiert Ihnen die Standardvorlage eine Fülle an Inhalten,<br />
Leisten und Funktionen. In <strong>de</strong>r Regel kommen Sie mit einem Bruchteil dieser<br />
Funktionen aus – zumin<strong>de</strong>st wenn Sie gera<strong>de</strong> erst in <strong>Joomla</strong>! einsteigen. Daher gilt<br />
es zunächst, die Site auf das Wesentliche zu reduzieren.<br />
Noch besitzt die Vorlage zu viel Funktionalität. Jetzt<br />
ist Reduzierung auf das Wesentliche gefragt.<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, präsentiert sich Ihnen beispielsweise<br />
die Hauptnavigationsleiste gleich zweimal: einmal im Kopfbereich, das<br />
an<strong>de</strong>re Mal rechts. Eine diese Leisten könnten Sie beispielsweise einfach <strong>de</strong>aktivieren<br />
o<strong>de</strong>r aber die angebotenen Funktionen auf zwei Leisten verteilen – ohne<br />
Doppeltnennung.<br />
An<strong>de</strong>re Elemente wie beispielsweise das Login-Formular, die Syndicate- und Poll-<br />
Funktionen (hier nicht zu sehen) können Sie fürs Erste sicherlich auch einfach<br />
<strong>de</strong>aktivieren.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
66 Ihre erste <strong>Joomla</strong>!-Site<br />
Wenn Sie die Site auf die wesentlichen Elemente beschränkt haben, können Sie im<br />
nächsten Schritt sich dann <strong>de</strong>n Inhalten und <strong>de</strong>ren Erstellung zuwen<strong>de</strong>n. Dazu<br />
sollten Sie wissen, dass <strong>Joomla</strong>! Ihnen eine feste Struktur vorgibt. Inhalte wer<strong>de</strong>n<br />
in Sektionen, Kategorien und Content-Elemente unterteilt. Sind die Inhalte einmal<br />
erstellt, können Sie diese dann problemlos an je<strong>de</strong>r beliebigen Stelle Ihrer Site<br />
veröffentlichen.<br />
3.3 Struktur für Ihre Site<br />
Damit sich die Besucher Ihrer Site schnell auf dieser zurechtfin<strong>de</strong>n, sollten Sie sich<br />
eine klare Strukturierung Ihrer Site überlegen. Machen Sie sich insbeson<strong>de</strong>re Gedanken<br />
über die Menübezeichnungen, <strong>de</strong>ren Anordnung und Reihenfolge. Orientieren<br />
Sie sich dabei auch an Quasi-Standards wie Home, Kontakt, Produkte etc.<br />
Der Einfachheit halber wollen wir im Folgen<strong>de</strong>n eine Site mit vier Menüpunkten<br />
erstellen:<br />
• Produkte<br />
• Über uns<br />
• Referenzen<br />
• Kontakt<br />
Diese Menüleiste soll auf allen Seiten verfügbar sein. Außer<strong>de</strong>m soll <strong>de</strong>r Menüeintrag<br />
Home auf je<strong>de</strong>m Dokument <strong>de</strong>n Sprung zur Einstiegsseite erlauben. Diese<br />
übergeordneten Site-Elemente wer<strong>de</strong>n in <strong>Joomla</strong>! durch so genannte Sektionen<br />
(Sections) repräsentiert. Die Sektionen fassen so genannte Kategorien zusammen,<br />
in <strong>de</strong>nen die eigentlichen Inhalte <strong>de</strong>r Seiten zu fin<strong>de</strong>n sind.<br />
Als Erstes müssen Sie also die gewünschten Sektionen erstellen. Hierfür ist <strong>de</strong>r so<br />
genannte Sektionsmanager verantwortlich, <strong>de</strong>n Sie über Content> Section Manager<br />
öffnen. Um die Sektionen zu erstellen, klicken Sie im Sektionsmanager auf die<br />
Schaltfläche New. Das zugehörige Formular Section: New [New Section] erwartet<br />
eine Fülle von Eingaben von Ihnen. Unter Title weisen Sie <strong>de</strong>r Sektion eine Kurzbezeichnung<br />
zu. Diese Bezeichnung ist für die interne Verarbeitung und Struktur<br />
relevant. In das Eingabefeld Section Name können Sie eine umfangreichere Beschreibung<br />
eingeben. Diese taucht dann auch in Auswahlmenüs auf. Bestimmen<br />
Sie außer<strong>de</strong>m über das Auswahlmenü Access Level, wer Zugriff auf die Sektionen<br />
haben soll. Um je<strong>de</strong>m Nutzer <strong>de</strong>n Zugriff zu erlauben, wählen Sie <strong>de</strong>n Eintrag<br />
Public. Aktivieren Sie außer<strong>de</strong>m unter Published die Veröffentlichung <strong>de</strong>r Sektion.<br />
Sie können außer<strong>de</strong>m im Description-Feld eine Beschreibung hinterlegen. Das ist<br />
www.brain-media.<strong>de</strong>
Struktur für Ihre Site 67<br />
sicherlich dann sinnvoll, wenn Sie im Team an einer Website arbeiten. Mit einem<br />
Klick auf Save lan<strong>de</strong>t die neue Sektion im Sektionsmanager.<br />
Die neue Sektion im Sektionsmanager.<br />
Wenn Sie voranstehen<strong>de</strong> Abbildung betrachten, springt Ihnen förmlich das Schloss<br />
links <strong>de</strong>s Sektionsnamens ins Auge. Es zeigt an, dass dieses Element momentan in<br />
<strong>de</strong>r Bearbeitung ist und erst dann von Dritten weiterverarbeitet wer<strong>de</strong>n kann, wenn<br />
<strong>de</strong>r aktuelle Redakteur auf Save geklickt hat. Es befin<strong>de</strong>t sich im so genannten<br />
Check-out-Status.<br />
Nach<strong>de</strong>m Sie die Sektion das erste Mal gespeichert haben, wird das Sektionsfenster<br />
rechts um folgen<strong>de</strong> Bereiche erweitert:<br />
• Link to Menu<br />
• Existing Menu Links<br />
• MOSImage Directories<br />
Außer<strong>de</strong>m können Sie im linken Bereich die Reihenfolge <strong>de</strong>r Sektionen über das<br />
Auswahlmenü Or<strong>de</strong>ring bearbeiten.<br />
Bislang ist die Sektion noch nicht mit <strong>de</strong>r Einstiegsseite und <strong>de</strong>n existieren<strong>de</strong>n<br />
Menüleisten verlinkt. Dies lässt sich recht einfach über das Link-to-Menu-Feld<br />
än<strong>de</strong>rn. Dort wählen Sie einfach ein Menü aus (z.B. Main menu für Hauptmenü),<br />
in <strong>de</strong>m die neue Sektion auftauchen soll, bestimmen <strong>de</strong>n Menütyp (meist Section<br />
List) und weisen <strong>de</strong>m Menüeintrag eine Bezeichnung zu, in unserem Beispiel wäre<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
68 Ihre erste <strong>Joomla</strong>!-Site<br />
Produkte eine sinnvolle Menüeintragsbezeichnung. Entsprechend gehen Sie mit<br />
<strong>de</strong>n an<strong>de</strong>ren Sektionen vor.<br />
Dann sind die so genannten Kategorien dran. Sie können sich diese als Container<br />
vorstellen, die wie Untermenüs einer Sektion agieren. Das Erstellen einer Kategorie<br />
entspricht im Wesentlichen <strong>de</strong>m Erstellen einer Sektion. Dazu führen Sie <strong>de</strong>n<br />
Befehl Content> Category Manager aus, klicken auf New und füllen das zugehörige<br />
Formular aus. Sie können beispielsweise für die Sektion Produkte die Kategorie<br />
Produkt A, Produkt B und Produkt C erstellen.<br />
3.4 Das passen<strong>de</strong> Menü<br />
Mit <strong>de</strong>m Erstellen <strong>de</strong>r Sektionen und Kategorien haben Sie wichtige Vorarbeiten<br />
geleistet. Im nächsten Schritt geht es darum, die Sektionen mit ihren Kategorien in<br />
eines <strong>de</strong>r bestehen<strong>de</strong>n o<strong>de</strong>r in ein neues, noch zu erstellen<strong>de</strong>s Menü einzuführen.<br />
Konkret bearbeiten wir das Hauptmenü und füllen dann im nächsten Schritt die<br />
Kategorien mit Inhalten.<br />
Im Menümanager verwalten Sie bestehen<strong>de</strong> Menüs<br />
und erzeugen gegebenenfalls neue.<br />
Eine Möglichkeit, eine Sektion in das Menü zu integrieren, haben Sie bereits oben<br />
kennengelernt. Schauen wir uns eine zweite an. Die Verwaltung <strong>de</strong>r Menüs erfolgt<br />
im so genannten Menümanager, <strong>de</strong>r über das gleichnamige <strong>Joomla</strong>!-Menü verfügbar<br />
ist. Er präsentiert Ihnen vier Einträge:<br />
• mainmenu<br />
• othermenu<br />
• topmenu<br />
www.brain-media.<strong>de</strong>
Das passen<strong>de</strong> Menü 69<br />
• usermenu<br />
Sie können auch ein neues Menü erzeugen, in<strong>de</strong>m Sie auf die Schaltfläche New<br />
klicken. Wir bearbeiten <strong>de</strong>r Einfachheit halber das Hauptmenü (mainmenu). Im<br />
Menümanager erfahren Sie, wie viele Menüeinträge ein Menü besitzt (Spalte<br />
Published). Um ein Menü zu bearbeiten, klicken Sie auf das Icon in <strong>de</strong>r Menu-<br />
Items-Spalte.<br />
Im zugehörigen Dialog fin<strong>de</strong>n Sie alle bestehen<strong>de</strong>n Menüeinträge. Sie können<br />
diese löschen, umsortieren, umbenennen und neue erstellen. Um einen neuen Menüeintrag<br />
zu erzeugen, klicken Sie auf New. Der zugehörige Auswahldialog erlaubt<br />
das Einbin<strong>de</strong>n verschie<strong>de</strong>nster Elemente. Sie können beispielsweise Content-<br />
Sektionen, Platzhalter, Komponenten und Links einbin<strong>de</strong>n.<br />
Die Auswahl <strong>de</strong>s passen<strong>de</strong>n Content-Typs.<br />
Für uns ist hier <strong>de</strong>r Bereich Content relevant. Wir können unsere Sektion als Blog<br />
– Content Section o<strong>de</strong>r als List – Content Category einfügen. Die Blog-Variante<br />
fügt Inhalte ähnlich einem Blog ein. Die List-Variante verwen<strong>de</strong>t ein Listenformat.<br />
Wir entschei<strong>de</strong>n uns für die erste Variante. Markieren Sie das zugehörige Kästchen<br />
und klicken Sie dann in <strong>de</strong>r Symbolleiste auf Next.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
70 Ihre erste <strong>Joomla</strong>!-Site<br />
Im Folgedialog können Sie dann eine o<strong>de</strong>r mehrere Kategorien auswählen, die Sie<br />
in das Hauptmenü integrieren wollen. Geben Sie zunächst <strong>de</strong>n Namen an, wählen<br />
Sie die Kategorie aus und bestimmen Sie das Eltern-Element. Über das Parent-<br />
Item-Menü können Sie einfach verschachtelte Menüstrukturen erzeugen.<br />
Die Eigenschaften <strong>de</strong>s neuen Menüeintrags.<br />
3.5 Inhalte erstellen<br />
Da Sie nun das Hauptmenü um einen ersten Eintrag erweitert haben, gilt es als<br />
Nächstes, die Inhalte für Ihre Sektion zu erstellen. Hierfür greifen Sie zum Menü<br />
Content. Dort fin<strong>de</strong>n Sie unter Content by Section auch die Sektion Produkte mit<br />
folgen<strong>de</strong>n drei Untermenüs:<br />
• Produkte Items<br />
• Produkte Archives<br />
• Produkte Categories<br />
Um eine erste Produktbeschreibung zu erzeugen, führen Sie <strong>de</strong>n Befehl Content by<br />
Section> Produkte> Produkte Items aus. Im Content-Item-Manager erzeugen Sie<br />
mit einem Klick auf New einen ersten Eintrag.<br />
www.brain-media.<strong>de</strong>
Einbin<strong>de</strong>n statischer Inhalte 71<br />
In <strong>de</strong>r Standardkonfiguration präsentiert Ihnen <strong>de</strong>r Dialog Content Item: New einen<br />
zweigeteilten Dialog: Oben geben Sie die Kurzbeschreibung, unten die Details ein.<br />
Im Dialog Content Item: New erzeugen Sie Ihre erste Produktbeschreibung.<br />
Wichtig für die Zuordnung <strong>de</strong>s Content-Items sind die Auswahlmenüs Section und<br />
Category im oberen Bereich <strong>de</strong>s Editors. Über diese legen Sie fest, welcher Sektion<br />
und welcher Kategorie die Beschreibung zugeordnet wer<strong>de</strong>n soll. Anschließend<br />
sind diese über das Frontend verfügbar. Über die Register im rechten Bereich können<br />
Sie verschie<strong>de</strong>nste Einstellungen wie Meta-Daten, <strong>de</strong>n Ersteller, die Verwendung<br />
von typischen PDF- und Print-Icons für Druck- und PDF-Version bearbeiten.<br />
Mit einem Klick auf Save speichern Sie Ihre Produktbeschreibung. Entsprechend<br />
gehen Sie mit <strong>de</strong>n an<strong>de</strong>ren Inhalten vor.<br />
3.6 Einbin<strong>de</strong>n statischer Inhalte<br />
Den meisten Anwen<strong>de</strong>rn sind die Vorzüge von Content-Managmentsystemen<br />
längst vertraut. Doch viele scheuen <strong>de</strong>n Aufwand für <strong>de</strong>n Umstieg von einem bestehen<strong>de</strong>n<br />
Content-Managementsystem o<strong>de</strong>r von statischen Seiten zu <strong>Joomla</strong>!.<br />
Lei<strong>de</strong>r gibt es bislang auch keine praktikablen Lösungen, wie man Inhalte aus<br />
bestehen<strong>de</strong>n Websites in <strong>Joomla</strong>! importieren könnte. Hier hilft einfach nur – meist<br />
sehr viel – manuelle Handarbeit mittels Copy&Paste.<br />
Immerhin lassen sich statische Inhalte mithilfe <strong>de</strong>r Komponente staticXT<br />
(http://www.joomlaxt.com) in Ihre <strong>Joomla</strong>!-Site integrieren. Dazu geben Sie in <strong>de</strong>r<br />
Komponentenkonfiguration einfach <strong>de</strong>n Pfad zu <strong>de</strong>n Inhalten ein.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
72 Ihre erste <strong>Joomla</strong>!-Site<br />
Die Konfiguration von staticXT.<br />
In diesem kurzen Workshop haben Sie die wichtigsten Aktionen beim Erstellen<br />
einer eigenen <strong>Joomla</strong>!-basierten Website kennengelernt. Nun ist es an Ihnen, dieses<br />
Know-how in <strong>de</strong>n folgen<strong>de</strong>n Kapiteln zu vertiefen.<br />
www.brain-media.<strong>de</strong>
73<br />
3 Der Umgang mit Menüs<br />
Mit <strong>de</strong>m so genannten Menümanager, <strong>de</strong>r über Menu> Menu Manager geöffnet<br />
wird, legen Sie Menüs <strong>de</strong>r Mambo-Site fest, die sich für unterschiedliche Benutzer<br />
öffnen. Dabei legt man die Benutzeransicht <strong>de</strong>r Website, nicht aber die verfügbaren<br />
Menüs für <strong>de</strong>n Administrator o<strong>de</strong>r Manager fest. Das System unterschei<strong>de</strong>t<br />
zwischen vier Menüs:<br />
• Main Menu<br />
• Other Menu<br />
• Top Menu<br />
• User Menu<br />
Über das Menü Menu haben Sie Zugriff auf <strong>de</strong>n Menümanager und auch direkten<br />
Zugriff auf die Untermenüs. Über <strong>de</strong>n Menümanager ist außer<strong>de</strong>m das Erzeugen<br />
neuer Menü möglich. Wir wollen uns in diesem Kapitel exemplarisch anschauen,<br />
wie Sie mit Menü arbeiten, diese erweitern und an die jeweiligen Anfor<strong>de</strong>rungen<br />
anpassen.<br />
Die Einstellungen für das Hauptmenü.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
74 Der Umgang mit Menüs<br />
Ein typisches Hauptmenü verfügt über eine Kopfzeile sowie verschie<strong>de</strong>ne Links zu<br />
<strong>de</strong>n einzelnen Teilbereichen einer <strong>Joomla</strong>!-basierten Website. Für das Hauptmenü<br />
bietet <strong>de</strong>r Menümanager die Links Home, Mambo License, News, Blog, Links,<br />
Contact Us, Search, News Feeds, FAQ’s und Wrapper an. Nachstehen<strong>de</strong> Abbildung<br />
zeigt ein typisches Menü in <strong>de</strong>r Benutzeransicht.<br />
Beispiel für das Hauptmenü.<br />
Wie Sie obiger Menüliste entnehmen können, weist sie je<strong>de</strong>m Listeneintrag zunächst<br />
einmal eine Nummer zu und führt die Bezeichnung <strong>de</strong>s Eintrags auf. Es<br />
folgen die Einstellungen zum Abschnitt, <strong>de</strong>m Veröffentlichungsstatus, die<br />
Checked-Out-Info, Infos zu <strong>de</strong>n Zugriffsrechten und die Menü-ID. Außer<strong>de</strong>m<br />
stehen Pfeilfunktionen zur Verfügung, mit <strong>de</strong>ren Hilfe man die Reihenfolge <strong>de</strong>r<br />
Einträge im Hauptmenü bearbeitet. Ein Klick auf einen Pfeil hoch bzw. runter<br />
verschiebt <strong>de</strong>n Eintrag um eine Ebene höher bzw. tiefer. Unterhalb <strong>de</strong>r Liste fin<strong>de</strong>n<br />
Sie die Links Start, Previous, Next und End, mit <strong>de</strong>nen man bei mehrseitigen Menülisten<br />
zwischen <strong>de</strong>n Seiten hin- und herspringt.<br />
Wichtig sind auf dieser Seite auch die Funktionen <strong>de</strong>r Symbolleiste. Haben Sie<br />
beispielsweise die Reihenfolge <strong>de</strong>r Elemente verän<strong>de</strong>rt, so aktualisieren Sie diese<br />
durch einen Klick auf Publish. Allerdings müssen die gewünschten Elemente vorher<br />
über das zugehörige Kontrollkästchen aktiviert wor<strong>de</strong>n sein. Wollen Sie alle<br />
Elemente markieren, so genügt es, wenn Sie in <strong>de</strong>r Kopfzeile <strong>de</strong>r Tabelle das Kont-<br />
www.brain-media.<strong>de</strong>
75<br />
rollkästchen neben Menu Item markieren. Entsprechend funktioniert das Löschen<br />
und Deaktivieren.<br />
Um ein neues Menüelement für das Hauptmenü zu erzeugen, klicken Sie in <strong>de</strong>r<br />
Symbolleiste auf New. Über <strong>de</strong>n zugehörigen Dialog wählen Sie zunächst <strong>de</strong>n<br />
Elemententyp aus. Dabei haben Sie die Wahl zwischen folgen<strong>de</strong>n Typen:<br />
• Content<br />
• Miscallaneous<br />
• Components<br />
• Links<br />
Ein neuer Menüeintrag für das Hauptmenü entsteht.<br />
Über das umfangreiche Auswahlmenü legen Sie fest, auf welche <strong>Joomla</strong>!-Elemente<br />
<strong>de</strong>r neue Link verweisen soll. Wollen Sie beispielsweise einen Link zu einem statischen<br />
Content-Element erzeugen, so wählen Sie Link – Static Content. Nach <strong>de</strong>r<br />
Wahl <strong>de</strong>s Typs klicken Sie in <strong>de</strong>r Symbolleiste auf Next. Es öffnet sich ein mächtiges<br />
Formular (das übrigens nicht für alle Typen i<strong>de</strong>ntisch ist), in <strong>de</strong>m Sie die Eigenschaften<br />
<strong>de</strong>s neuen Menüeintrags <strong>de</strong>finieren. I<strong>de</strong>ntisch sind die Detaileinstellungen,<br />
nicht aber die Parameter.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
76 Der Umgang mit Menüs<br />
Entschei<strong>de</strong>n Sie sich beispielsweise für <strong>de</strong>n Menütyp Blog – Content Category, <strong>de</strong>r<br />
auf Inhalte im Blog-Format verweist, so präsentiert sich <strong>de</strong>r in nachstehen<strong>de</strong>r Abbildung<br />
dargestellte Dialog.<br />
Das Formular für das Setzen <strong>de</strong>r Menüeigenschaften und Parameter.<br />
Das Element Blog – Content Category fügt einen Link zum Hauptmenü zu einer<br />
Seite hinzu, auf <strong>de</strong>r Artikel als eine Reihe von kurzen Zusammenfassungen zu<br />
fin<strong>de</strong>n sind. Unter Details sind folgen<strong>de</strong> Einstellungen vorzunehmen:<br />
Option<br />
Name<br />
Category<br />
URL<br />
Parent Item<br />
Beschreibung<br />
Hier legt man die Bezeichnung <strong>de</strong>s Menüelements fest, wie<br />
es in <strong>de</strong>r Website auftaucht.<br />
Aus diesem Auswahlfeld wählt man eine o<strong>de</strong>r auch mehrere<br />
Kategorien.<br />
Nach einem Klick auf Save bzw. Apply wird hier <strong>de</strong>r zugehörige<br />
URL angezeigt.<br />
Hier legt man die Ebene <strong>de</strong>s neuen Menüs fest. Wählt man<br />
Top, so erweitert es die bestehen<strong>de</strong> Menüstruktur. Soll es<br />
sich um ein Untermenü han<strong>de</strong>ln, wählt man über das Auswahlmenü<br />
das übergeordnete Menü aus.<br />
www.brain-media.<strong>de</strong>
77<br />
Option<br />
Or<strong>de</strong>ring<br />
Access Level<br />
Published<br />
Beschreibung<br />
Standardmäßig wird das neue Menü am En<strong>de</strong> <strong>de</strong>r bestehen<strong>de</strong>n<br />
Menüliste angehängt. Nach <strong>de</strong>m Sichern kann es über<br />
das Pull-down-Menü an eine beliebige Position gesetzt wer<strong>de</strong>n.<br />
Hier legt man fest, wer das neue Menü zu sehen bekommt.<br />
Dabei hat man die Wahl zwischen Public (für je<strong>de</strong>rmann),<br />
Registered (für registrierte Benutzer) und Special (für Autoren<br />
etc.).<br />
Schließlich legt man fest, ob das neue Menü direkt publiziert<br />
wer<strong>de</strong>n soll o<strong>de</strong>r nicht. Mambo geht standardmäßig davon<br />
aus, dass man es unmittelbar einsetzen möchte.<br />
Ein Beispiel für einen neuen Menüeintrag.<br />
Die Einstellungen in <strong>de</strong>r Spalte Parameters fallen bei diesem Menütyp sehr umfangreich<br />
aus. Sie beziehen auch auf die Gestaltung <strong>de</strong>r mit <strong>de</strong>m Menü verknüpften<br />
Seiten (siehe obige Abbildung). So können Sie beispielsweise festlegen, ob die<br />
Elementbezeichnungen dort aufgeführt wer<strong>de</strong>n o<strong>de</strong>r nicht. Nachstehen<strong>de</strong> Tabelle<br />
fasst das zusammen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
78 Der Umgang mit Menüs<br />
Option<br />
Menu Image<br />
Page Class Suffix<br />
Back Button<br />
Page Title<br />
Show/Hi<strong>de</strong> Page Title<br />
Beschreibung<br />
Über dieses Auswahlmenü kann man Grafiken für das<br />
Menü nutzbar machen. Dazu muss die Grafik im Ordner<br />
/images/stories abgelegt wer<strong>de</strong>n. Außer<strong>de</strong>m muss unter<br />
Modules> Site Modules> Menüname die Option Show<br />
Menu Items auf Yes gesetzt wer<strong>de</strong>n.<br />
In diesem Eingabefeld kann man benutzer<strong>de</strong>finierte Stile<br />
für diese Seiten nutzen.<br />
Legt fest, ob man <strong>de</strong>n Textlink Back auf <strong>de</strong>m Seitenen<strong>de</strong><br />
fin<strong>de</strong>t o<strong>de</strong>r nicht. Standardmäßig ist Use Global aktiviert.<br />
Dies kann über die <strong>Joomla</strong>!-Konfiguration angepasst<br />
wer<strong>de</strong>n (Site> Global Configuration).<br />
Hier legt man <strong>de</strong>n Text fest, <strong>de</strong>r im oberen Bereich <strong>de</strong>r<br />
zugehörigen Seite angezeigt wird.<br />
Mit dieser Option kann <strong>de</strong>r Seitentitel aus <strong>de</strong>m voranstehen<strong>de</strong>n<br />
Textfeld eingeblen<strong>de</strong>t bzw. ausgeblen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
# Leading Die Anzahl an Einträgen, die voranstehen.<br />
# Intro Die Zahl <strong>de</strong>r Elemente, die <strong>de</strong>n Introtext anzeigen.<br />
# Columns Legt die Anzahl an Spalten fest.<br />
# Links Anzahl <strong>de</strong>r Links.<br />
Category Or<strong>de</strong>r<br />
Bestimmt die Reihenfolge <strong>de</strong>r Kategorien. Dabei hat<br />
man die Wahl zwischen folgen<strong>de</strong>n Einstellungen:<br />
• No, or<strong>de</strong>r by primary or<strong>de</strong>ring only: Diese Option<br />
sortiert die Elemente entsprechend <strong>de</strong>r Einstellung<br />
im Feld Primary or<strong>de</strong>r, und zwar unabhängig von<br />
<strong>de</strong>r Kategorie.<br />
• Title Alphabetical: Die Option sortiert die Elemente<br />
zuerst nach <strong>de</strong>r Kategorie und dann in alphabetischer<br />
Reichenfolge.<br />
• Title Reverse-Alphabetical: Sortiert erst nach <strong>de</strong>r<br />
Kategorie und dann nach <strong>de</strong>n Einstellungen von<br />
Primary or<strong>de</strong>r.<br />
• Or<strong>de</strong>ring: Diese Option sortiert sie nach <strong>de</strong>r Reihenfolge,<br />
wie sie im Category Manager (Content -<br />
>Category Manager) <strong>de</strong>finiert ist, und dann nach<br />
<strong>de</strong>n Einstellungen von Primary or<strong>de</strong>r.<br />
www.brain-media.<strong>de</strong>
79<br />
Option<br />
Primary or<strong>de</strong>r<br />
Beschreibung<br />
Über dieses Auswahlmenü legt man die Reihenfolge <strong>de</strong>r<br />
Elemente fest. In <strong>de</strong>m zugehörigen Auswahlmenü kann<br />
man folgen<strong>de</strong> Einstellungen wählen:<br />
• Default: Diese Option sortiert sie nach <strong>de</strong>r Reihenfolge,<br />
wie sie vom Elemente-Manager <strong>de</strong>finiert sind.<br />
• Ol<strong>de</strong>st first: Reiht die Elemente chronologisch auf,<br />
wobei das erste Menü das älteste ist.<br />
• Most recent first: Hier kommt die chronologische<br />
Reihenfolge zur Verwendung, allerdings beginnt sie<br />
mit <strong>de</strong>m jüngsten Element.<br />
• Title Alphabetical: Diese Option sortiert die Elemente<br />
alphabetisch.<br />
• Author Alphabetical: Sortiert alphabetisch nach<br />
<strong>de</strong>m Autorennamen.<br />
• Author Reverse-Alphabetical: Sortiert in umgekehrter<br />
Autorennamenreihenfolge.<br />
• Most Hits: Reiht die Element nach ihrem Zugriff<br />
auf, und zwar beginnend mit <strong>de</strong>m Element, das die<br />
meisten Hits aufweist.<br />
• Least Hits: Hier wer<strong>de</strong>n die Elemente in umgekehrter<br />
Reihenfolge platziert.<br />
Pagination Mit dieser Einstellung legt man fest, ob die<br />
Seitenummer-ierung bei mehrseitigen Dokumenten<br />
angezeigt wird. Die Standardoption Auto zeigt abhängig<br />
von <strong>de</strong>r verwen<strong>de</strong>ten Vorlage etwa folgen<strong>de</strong> Verweise:<br />
Pagination Results<br />
MOSImages<br />
Description<br />
Description image<br />
Category Name<br />
Category<br />
Linkable<br />
Name<br />
End >><br />
Mit dieser Option kann die Seitennummerierung (z.B.<br />
Seite 1-6 von 6) ein- bzw. ausgeblen<strong>de</strong>t wer<strong>de</strong>n.<br />
Erlaubt das Anzeigen bzw. Ausschalten von Bil<strong>de</strong>rn.<br />
Zeigt bzw. zeigt nicht die Kategoriebeschreibung.<br />
Zeigt die Grafik zu Kategoriebeschreibung.<br />
Erlaubt das Ein- bzw. Ausblen<strong>de</strong>n <strong>de</strong>s Kategorienamens.<br />
Macht <strong>de</strong>n Kategorienamen linkfähig, vorausgesetzt, die<br />
Kategorienameoption ist auf Show gesetzt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
80 Der Umgang mit Menüs<br />
Option<br />
Item Titles<br />
Beschreibung<br />
Blen<strong>de</strong>t die Elemententitel auf <strong>de</strong>m Dokument ein bzw.<br />
aus.<br />
Die folgen<strong>de</strong>n Elementeinstellungen können Site-übergreifend über die Mambo-<br />
Konfiguration <strong>de</strong>finiert wer<strong>de</strong>n. Die hier vorgenommenen Einstellungen sind Menü-spezifisch<br />
und überschreiben die allgemeinen Vorgaben lediglich für Inhalte,<br />
die mit diesem neuen Menü verknüpft sind. Da sie bereits in vorangegangenen<br />
Kapiteln beschrieben sind, sollen sie hier nur aufgeführt wer<strong>de</strong>n:<br />
• Linked Titles<br />
• Read More<br />
• Item Rating<br />
• Author Names<br />
• Created Date and Time<br />
• Modified Date and Time<br />
• PDF Icon<br />
• Print Icon<br />
• Email Icon<br />
Schauen wir uns ein zweites Beispiel an. Dazu editieren Sie das Menü Links im<br />
Hauptmenü. Das zugehörige Formular zeigt nachstehen<strong>de</strong> Abbildung. Links fin<strong>de</strong>n<br />
Sie wie<strong>de</strong>r die bereits oben beschriebenen Details. Unter Parameters können Sie<br />
verschie<strong>de</strong>ne Tabellen- und Kategorien-spezifische Einstellungen vornehmen.<br />
Optional können sie um eine Beschreibung und weitere Grafiken aufgewertet wer<strong>de</strong>n.<br />
www.brain-media.<strong>de</strong>
81<br />
Die Einstellungen für <strong>de</strong>n Menütyp Link Content Item.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
82 Der Umgang mit Menüs<br />
www.brain-media.<strong>de</strong>
83<br />
4 Inhalte erstellen und bearbeiten<br />
Für das Erstellen von neuen Inhalten ist das Content-Menü in erster Linie zuständig.<br />
Hier erstellt man insbeson<strong>de</strong>re neue Seiten und aktualisiert bestehen<strong>de</strong> Inhalte.<br />
Inhalte wer<strong>de</strong>n in so genannten Sektionen zusammengefasst, aus <strong>de</strong>nen dann wie<strong>de</strong>rum<br />
die Site gestrickt wird. Diese Abschnitte wer<strong>de</strong>n über das Menü Content><br />
Content by Section verwaltet. <strong>Joomla</strong>! kommt in <strong>de</strong>r Grundinstallation mit <strong>de</strong>n<br />
Sektion News, FAQs und Newsflashes daher. Weitere können durch die Anwen<strong>de</strong>r<br />
erstellt wer<strong>de</strong>n, beispielsweise die Sektionen Verkauf, Vertrieb, Support etc. Wichtig:<br />
Bevor Sie irgendwelche Inhalte erzeugen können, müssen Sie zumin<strong>de</strong>st eine<br />
Sektion erzeugt haben.<br />
Über das Menü Content stehen weitere Manager zur Verfügung: Static Content<br />
Manager, Category Manager, Frontpage Manager und Archive Manager.<br />
Ein erster Blick auf das Menü Content.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
84 Inhalte erstellen und bearbeiten<br />
Das Menü Content erlaubt <strong>de</strong>n Zugriff auf die bereits sortierten Sektionen, eine<br />
allgemeine Übersicht, die alle Content-Elemente und fünf weitere Manager aufführt:<br />
- Static Content Manager: Mit diesem verwaltet man Elemente, die sich<br />
nicht än<strong>de</strong>rn, beispielsweise Lizenzdokumente.<br />
- Section Manager: Mit diesem Tool erzeugt man weitere Sektionen.<br />
- Category Manager: Dient <strong>de</strong>r Verwaltung von Kategorien.<br />
- Frontpage Manager: Dient <strong>de</strong>r Konfiguration <strong>de</strong>r System-Homepage.<br />
- Archive Manager: Dieses Modul dient <strong>de</strong>r Verwaltung archivierter Elemente.<br />
Die Liste aller Content-Elemente.<br />
www.brain-media.<strong>de</strong>
Content-Elemente erzeugen 85<br />
Die Liste aller Content-Elemente ist das Herzstück <strong>de</strong>r Content-Verwaltung. Sie<br />
dient meist als Ausgangspunkt für das Erstellen neuer Inhalte, das Publizieren,<br />
Archivieren, Löschen und Bearbeiten bestehen<strong>de</strong>r Inhalte. Die Informationen, die<br />
man <strong>de</strong>r Content-Elementen-Liste entnehmen kann, sind uns inzwischen vertraut.<br />
Hier wer<strong>de</strong>n folgen<strong>de</strong> Informationen angezeigt: Nummer, Titel, Veröffentlichungsstatus,<br />
Veröffentlichung mithilfe <strong>de</strong>s Frontpage Managers, Reihenfolge, Sortierung,<br />
Zugriffsrechte, ID, Sektion, Kategorie, Autor und Erstelldatum.<br />
Das Editieren eines typischen Content-Elements.<br />
4.1 Content-Elemente erzeugen<br />
Über die Symbolleiste stehen Ihnen alle wichtigen Funktionen für das Veröffentlichen<br />
von Beiträgen, das Herausnehmen, Archivieren, Editieren, Löschen und auch<br />
für das Erstellen von neuen Meldungen zur Verfügung. Den meisten Funktionen<br />
sind wir bereits begegnet. Daher beschränken wir uns hier auf das Erstellen neuer<br />
Inhalte über die Funktion New bzw. Edit. Bei<strong>de</strong> öffnen <strong>de</strong>n Editing Content-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
86 Inhalte erstellen und bearbeiten<br />
Dialog, über <strong>de</strong>n man die Inhalte erzeugt, Bildmaterial einbin<strong>de</strong>t, die Veröffentlichung<br />
steuert und Metadaten hinterlegt. Der Einfachheit halber editieren wir ein<br />
Content-Element, das bereits existiert. Dazu klicken Sie in <strong>de</strong>r Content-Liste auf<br />
<strong>de</strong>n Eintrag Example News Item 1.<br />
Das Formular für das Erstellen von Content-Elementen stellt links einen Editor und<br />
rechts verschie<strong>de</strong>ne Funktionen für das Publizieren <strong>de</strong>r Inhalte zur Verfügung. Im<br />
linken Bereich legt man unter Title die Bezeichnung <strong>de</strong>s Elements fest. Es folgt das<br />
Eingabefeld Title Alias, das für die interne Verwendung genutzt wird. Außer<strong>de</strong>m<br />
folgt die Auswahl <strong>de</strong>r Kategorie und <strong>de</strong>r Sektion.<br />
<strong>Joomla</strong>! verwen<strong>de</strong>t standardmäßig <strong>de</strong>n Editor TinyMCE Editor<br />
(tinymce.moxieco<strong>de</strong>.com). Folgeversionen von <strong>Joomla</strong>! wer<strong>de</strong>n vermutlich zusätzlich<br />
mit weiteren Editoren ausgestattet sein. Der Editor stellt alle Funktionen bereit,<br />
für die typische Formatierungen vollkommen ausreichend sind. Die Funktion<br />
<strong>de</strong>r einzelnen Symbole entspricht <strong>de</strong>r gängiger Textverarbeitungen und bedarf<br />
daher kaum einer weiteren Erläuterung. Sogar das Einfügen von Tabellen und<br />
Son<strong>de</strong>rzeichen ist möglich. Auch das Erweitern von bestehen<strong>de</strong>n Tabellen. Auffällig<br />
ist, dass das Content-Formular zwei Editorenbereiche zeigt. Die Erklärung ist<br />
recht einfach: Im oberen Editor gibt man <strong>de</strong>n einleiten<strong>de</strong>n Text und im unteren <strong>de</strong>n<br />
eigentlichen Text ein.<br />
Die Steuerung <strong>de</strong>r Publikation <strong>de</strong>s editierten Content-Elements.<br />
www.brain-media.<strong>de</strong>
Content-Elemente erzeugen 87<br />
Am rechten Formularrand fin<strong>de</strong>n Sie weitere nützliche Funktionen. Über Register<br />
legt man Eigenschaften für die Veröffentlichung, Metadaten, Bil<strong>de</strong>reigenschaften<br />
und Verknüpfungen fest. Unterhalb <strong>de</strong>r Register fin<strong>de</strong>t man verschie<strong>de</strong>ne Statusinformationen<br />
zu <strong>de</strong>n aktuell geöffneten Inhalten. Dazu gehören <strong>de</strong>r Veröffentlichungsstatus,<br />
die Anzahl <strong>de</strong>r Hits, die Versionsnummer sowie verschie<strong>de</strong>ne Informationen<br />
zum Zeitpunkt <strong>de</strong>s Erstellens und <strong>de</strong>r letzten Än<strong>de</strong>rungen.<br />
Mithilfe <strong>de</strong>s Registers Publishing steuern Sie die Veröffentlichung <strong>de</strong>s Content-<br />
Elements. Zunächst legen Sie fest, ob das Element auf <strong>de</strong>r Frontpage, also <strong>de</strong>r<br />
Einstiegsseite angezeigt und ob es unmittelbar nach <strong>de</strong>m Erstellen veröffentlicht<br />
wer<strong>de</strong>n soll. Über Access Level legen Sie <strong>de</strong>n Zugriffslevel fest. Es folgen die<br />
Autorenbezeichnung sowie die Auswahl <strong>de</strong>s Benutzers mit Veröffentlichungsrechten.<br />
Über das Auswahlmenü Or<strong>de</strong>ring legen Sie die Reihenfolge fest. Schließlich<br />
bestimmen Sie <strong>de</strong>n Zeitpunkt <strong>de</strong>r Veröffentlichung sowie optional <strong>de</strong>n Zeitpunkt,<br />
an <strong>de</strong>m die Veröffentlichung been<strong>de</strong>t wird.<br />
Die Einstellungen für das Einfügen von Bil<strong>de</strong>rn basieren<br />
auf <strong>de</strong>r Funktionalität <strong>de</strong>s Mambots MOS Image.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
88 Inhalte erstellen und bearbeiten<br />
Über das Register Images haben Sie Zugriff auf die Bil<strong>de</strong>r-Galerie. Dort markieren<br />
Sie einen o<strong>de</strong>r auch mehrere Einträge und verschieben sie über Insert in das Feld<br />
Content-Images. Die Funktionalität wird vom Mambot MOS Image bereitgestellt.<br />
Das Register stellt Ihnen auch eine Vorschau <strong>de</strong>r Content-Auswahl zur Verfügung.<br />
Außer<strong>de</strong>m sind verschie<strong>de</strong>ne Parameter wie die Ausrichtung <strong>de</strong>finierbar.<br />
Die Einstellungen wen<strong>de</strong>n Sie durch einen Klick auf Apply im unteren Formularbereich<br />
an. Gelegentlich sollten Sie in <strong>de</strong>r Symbolleiste die Vorschaufunktion Preview<br />
nutzen, um sich ein Bild von <strong>de</strong>r geleisteten Arbeit zu machen.<br />
Auf <strong>de</strong>m Register Parameters können Sie eine Vielzahl von Feineinstellungen<br />
vornehmen, über die Sie beispielsweise einen Back-Button einbetten. Die meisten<br />
Einstellungen verwen<strong>de</strong>n die Systemeinstellung (Use Global). Diese können aber<br />
Dokumenten-spezifisch mit <strong>de</strong>n hier verfügbaren Optionen überschrieben wer<strong>de</strong>n.<br />
Über das Register Metadata stehen wie<strong>de</strong>r die bei<strong>de</strong>n Textfel<strong>de</strong>r für die Dokumentenbeschreibung<br />
und die Schlüsselwörter bereit. Auch hier sollte man sich an gewisse<br />
Standards halten und die Beschreibung auf maximal 500 Zeichen beschränken<br />
und nicht mehr als 20 Schlüsselwörter eingeben. Schließlich <strong>de</strong>finiert man<br />
über das Register Link to Menu eine Verbindung zum ausgewählten Menü.<br />
Das Hyperlink-Medium Mambo lebt natürlich von Links.<br />
www.brain-media.<strong>de</strong>
Sektionen 89<br />
Die Än<strong>de</strong>rung speichern Sie wie gewohnt über die Symbolleiste durch einen Klick<br />
auf Save. Um kleinere Än<strong>de</strong>rungen zwischenzuspeichern, verwen<strong>de</strong>t man die<br />
Schaltfläche Apply. Die Funktionalität <strong>de</strong>s Static Content Managers ist übrigens<br />
mit <strong>de</strong>n zuvor beschriebenen Funktionen i<strong>de</strong>ntisch.<br />
4.2 Sektionen<br />
Um Inhalte thematisch o<strong>de</strong>r nach an<strong>de</strong>ren Kriterien besser zusammenfassen zu<br />
können, besitzt <strong>Joomla</strong>! die so genannten Sektionen. Bei einer Standardinstallation<br />
sind bereits die Sektionen News, Newsflashes und FAQs eingerichtet. Mithilfe <strong>de</strong>s<br />
Sektionsmanagers, <strong>de</strong>r über das Menü Content> Section Manager geöffnet wird,<br />
erzeugt man neue Sektionen und bearbeitet bestehen<strong>de</strong>.<br />
Öffnen Sie <strong>de</strong>n Sektionsmanager, so präsentiert die Sektionsliste typische Informationen<br />
wie <strong>de</strong>n Sektionsbegriff, die Anzahl <strong>de</strong>r Einträge, <strong>de</strong>n Status und <strong>de</strong>n Zugriffslevel.<br />
Über die Schaltfläche New erzeugen Sie neue Sektionen. Ein Klick<br />
öffnet <strong>de</strong>n Dialog New, <strong>de</strong>m Sie zunächst einen Titel und eine Bezeichnung zuweisen.<br />
Außer<strong>de</strong>m legen Sie die Ausrichtung fest, fügen gegebenenfalls Bil<strong>de</strong>r ein und<br />
bestimmen die Reihenfolge sowie <strong>de</strong>n Zugriffslevel. Im Editor-Bereich erfolgen<br />
die Schriftauswahl, Größe sowie typische Formatierungen.<br />
Beim Erzeugen einer neuen Content-Sektion steht<br />
ein einfacher HTML-Editor zur Verfügung.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
90 Inhalte erstellen und bearbeiten<br />
Nach <strong>de</strong>m Speichern wird <strong>de</strong>r neue Abschnitt in <strong>de</strong>r Sektionsliste aufgeführt und<br />
Sie können ihn anschließend durch einen Klick auf Publish veröffentlichen. Die<br />
neue Sektion ist dann auch über das Menü Content verfügbar und kann über eigene<br />
Elemente erweitert wer<strong>de</strong>n. Um nun in <strong>de</strong>r neuen Sektion Inhalte zu erstellen,<br />
müssen Sie zumin<strong>de</strong>st eine Kategorie erzeugen, bevor Sie ein neues Content-<br />
Element erzeugen. Entsprechend funktioniert das Handling <strong>de</strong>s Kategorienmanagers.<br />
4.3 Frontpage- und Archivmanager<br />
Über die Einstellungen Content> Frontpage Manager legen Sie die Inhalte und<br />
Komponenten <strong>de</strong>r Einstiegsseite <strong>de</strong>r <strong>Joomla</strong>!-Site fest. Führen Sie <strong>de</strong>n Befehl aus,<br />
so öffnet sich <strong>de</strong>r Frontpage Manager, <strong>de</strong>r die Elemente <strong>de</strong>r Einstiegsseite aufführt.<br />
Hier können Sie Elemente editieren, <strong>de</strong>n Publikationsstatus än<strong>de</strong>rn, sie entfernen<br />
und auch archivieren. Haben Sie ein Element durch einen Klick auf Archive in <strong>de</strong>r<br />
Symbolleiste im Archiv geparkt, können sie es über <strong>de</strong>n Archiv Manager wie<strong>de</strong>r<br />
verfügbar machen.<br />
www.brain-media.<strong>de</strong>
Komponenten 91<br />
5 Komponenten, Module & Co.<br />
Die so genannten <strong>Joomla</strong>!-Komponenten sind ein wesentliches Element <strong>de</strong>s Content-Managementsystems.<br />
<strong>Joomla</strong>! kommt wie schon seine Vorgänger mit einer<br />
Grundausstattung an Komponenten daher. Neben <strong>de</strong>n Kernkomponenten kann das<br />
System um Erweiterungen von Drittanbietern aufgebohrt wer<strong>de</strong>n, dazu später<br />
mehr.<br />
5.1 Komponenten<br />
Was aber steckt hinter <strong>de</strong>m Komponenten-Konzept? Die Frage lässt sich recht<br />
einfach beantworten. Es han<strong>de</strong>lt sich um spezifische Elemente o<strong>de</strong>r Minianwendungen,<br />
die in eine Web-Applikation eingebettet wer<strong>de</strong>n. In <strong>de</strong>r Regel stellen die<br />
Komponenten eigene Einstellungen für die Anpassung und das Einbetten in die<br />
Umgebung zur Verfügung. Der Vorteil: Sie können <strong>Joomla</strong>! gezielt um benötigte<br />
Funktionen erweitern. Auch die Entwicklung von Elementen vereinfacht sich<br />
durch diesen Ansatz, da man auf <strong>de</strong>r bestehen<strong>de</strong>n Infrastruktur aufbauen kann.<br />
Die Komponenten von Mambo wer<strong>de</strong>n<br />
über das Menü Components verwaltet.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
92 Komponenten, Module & Co.<br />
In <strong>de</strong>r Regel sind die Funktionen einer <strong>Joomla</strong>!-Komponente mit <strong>de</strong>m Hauptmenü<br />
verknüpft. Benutzer und Besucher können meist über das Menü auf die Funktionalität<br />
einer Komponente zurückgreifen. Neben <strong>de</strong>n Komponenten kennt <strong>Joomla</strong>!<br />
zwei weitere Elemente, mit <strong>de</strong>nen sich die Funktionalität erweitern lässt: die Module<br />
und die Mambots. Bei <strong>de</strong>n Modulen han<strong>de</strong>lt es sich ebenfalls über Mini-<br />
Anwendungen, die in <strong>de</strong>r Regel in <strong>de</strong>r linken o<strong>de</strong>r rechten Spalte <strong>de</strong>r Content-<br />
Ansicht zu fin<strong>de</strong>n sind. Sie beanspruchen meist recht wenig Platz. Beispiele für die<br />
Module sind Newsfeeds, Login-Formulare o<strong>de</strong>r auch statistische Informationen.<br />
Die Mambots übernehmen ähnliche Aufgaben. Sie erlauben die automatisierte<br />
Manipulation von Content-Elementen. Auf die Module und Mambots geht das<br />
nachfolgen<strong>de</strong> Kapitel ein.<br />
Wie wir oben gesehen haben, wer<strong>de</strong>n die Komponenten über das Menü Components<br />
verwaltet. Standardmäßig kommt Mambo mit einigen dieser Komponenten<br />
daher, beispielsweise:<br />
• Banner<br />
• Kontakte<br />
• Newsfeeds<br />
• Abstimmungen<br />
• Links<br />
Die Installation und Deinstallation <strong>de</strong>r Komponenten erfolgt in <strong>de</strong>r Regel über das<br />
Menü Components. Alternativ kann man auch das Menü Installer verwen<strong>de</strong>n.<br />
<strong>Joomla</strong>! verfügt über ein eigenes Paketmanagementsystem, kurz PMS, das für die<br />
Installation von Komponenten, Modulen und Vorlagen zuständig ist. Um <strong>de</strong>ssen<br />
Leistungsfähigkeit effektiv nutzen zu können, ist die zlib-Unterstützung <strong>de</strong>r PHP-<br />
Umgebung erfor<strong>de</strong>rlich.<br />
Neue Komponenten installiert man über das Menü Installers. Über diesen Befehl<br />
greifen Sie auf eine Liste <strong>de</strong>r installierten Komponenten zu. Am einfachsten führen<br />
Sie die Installation von einem Verzeichnis aus, geben das Verzeichnis in das zugehörige<br />
Textfeld ein und klicken dann auf Install. Für die Deinstallation von Komponenten<br />
sollte man das Deinstallations-Skript <strong>de</strong>r jeweiligen Komponente verwen<strong>de</strong>n.<br />
Dieses führen Sie aus, in<strong>de</strong>m Sie die Komponenten, die entfernt wer<strong>de</strong>n<br />
sollen, in <strong>de</strong>r Übersicht markieren und dann die Delete-Funktion ausführen.<br />
www.brain-media.<strong>de</strong>
Komponenten 93<br />
Der Dialog zur Installation von <strong>Joomla</strong>!-Komponenten.<br />
5.1.1 Banner<br />
Auch die Komponente Banner ist über das Components-Menü verfügbar. Mit dieser<br />
Funktion können Sie Werbeschaltungen gezielt steuern, beispielsweise die so<br />
genannten Banner-Rotation, bei <strong>de</strong>r Banner in einer bestimmten Reihenfolge ausgetauscht<br />
wer<strong>de</strong>n. Über das Menü Components> Banners verwalten Sie Banner<br />
und Werbekun<strong>de</strong>n. Damit Banner geschaltet wer<strong>de</strong>n können, muss diese Funktion<br />
über die allgemeinen Einstellungen <strong>de</strong>r Site aktiviert wer<strong>de</strong>n.<br />
Für die Verwaltung <strong>de</strong>r Banner verwen<strong>de</strong>n Sie <strong>de</strong>n so genannten Banner Manager,<br />
über <strong>de</strong>n man Werbegrafiken erzeugt und verwaltet. Der Manager führt ebenfalls<br />
eine Vielzahl an Informationen zu <strong>de</strong>n einzelnen Bannern auf:<br />
• Banner Name: Hier wird die Bezeichnung eines Banners angegeben.<br />
• Published: Zeigt an, ob das Banner bereits für die Veröffentlichung frei<br />
geschaltet ist o<strong>de</strong>r nicht.<br />
• Impressions ma<strong>de</strong>: Hier wird die Anzahl <strong>de</strong>r Einblendungen aufgeführt,<br />
wie oft ein Banner veröffentlicht wur<strong>de</strong>.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
94 Komponenten, Module & Co.<br />
• Impressions left: Hier wird die Anzahl <strong>de</strong>r Impressions angezeigt, die für<br />
verbleiben<strong>de</strong> Einblendungen übrig sind. Die Anzahl ergibt sich aus <strong>de</strong>r<br />
Differenz <strong>de</strong>r gekauften Impressions minus <strong>de</strong>r bereits veröffentlichten.<br />
• Clicks: Zeigt an, wie oft Benutzer auf die Werbeeinblendung geklickt haben.<br />
• % Clicks: Diese Angabe gibt das Verhältnis von Impressions zu Clicks<br />
an. Der Wert 5 Prozent zeigt beispielsweise an, dass 5 User bei 100 Impressions<br />
auf ein Banner geklickt haben.<br />
Ein neues Werbebanner wird im Banner Manager erzeugt.<br />
Um ein Banner in <strong>de</strong>r Banner-Verwaltung zu erzeugen, öffnen Sie die Bannerverwaltung<br />
über Components> Banners> Manager Banners. Im zugehörigen Dialog<br />
klicken Sie in <strong>de</strong>r Symbolleiste auf New. Es öffnet sich ein einfaches Formular<br />
(siehe oben), in das Sie <strong>de</strong>r Reihe nach folgen<strong>de</strong> Daten eingeben:<br />
• Banner Name: Hier legen Sie die Bezeichnung <strong>de</strong>s Banners fest. Wichtig ist<br />
eine ein<strong>de</strong>utige Bezeichnung, damit die I<strong>de</strong>ntifizierung leicht fällt.<br />
www.brain-media.<strong>de</strong>
Komponenten 95<br />
• Client Name: Hier wählen Sie <strong>de</strong>n Kun<strong>de</strong>n aus, für <strong>de</strong>n die Werbung geschaltet<br />
wird. Damit eine Auswahl erfolgen kann, muss zumin<strong>de</strong>st ein Kun<strong>de</strong> in <strong>de</strong>r<br />
Kun<strong>de</strong>nverwaltung erzeugt sein. Dazu gleich mehr.<br />
• Impressions purchased: In diesem Eingabefeld geben Sie an, wie viele<br />
Schaltungen <strong>de</strong>r Kun<strong>de</strong> bezahlt hat. Standardmäßig gibt das System die Option<br />
Unlimited (unbegrenzt) vor. Das be<strong>de</strong>utet, dass das Banner in die Rotation<br />
kommt und unbegrenzt oft eingeblen<strong>de</strong>t wird.<br />
• Banner URL: In diesem Auswahldialog wählen Sie die Banner-Datei aus.<br />
• Show Banner: Hier legen Sie fest, ob das Banner in die Rotation kommt o<strong>de</strong>r<br />
nicht.<br />
• Click URL: In diesem Eingabefeld geben Sie das Ziel ein, zu <strong>de</strong>m <strong>de</strong>r User<br />
geführt wird, wenn er auf das Banner klickt. Dabei muss eine vollständige<br />
URL angegeben wer<strong>de</strong>n, beispielsweise http://www.ziel.<strong>de</strong>/shop/angebot.htm.<br />
• Custom banner co<strong>de</strong>: Wollen Sie speziellen Co<strong>de</strong> mit <strong>de</strong>m Banner ausführen,<br />
so geben Sie ihn in das zugehörige Textfeld ein. Es kann sich beispielsweise<br />
um ein JavaScript han<strong>de</strong>ln, das <strong>de</strong>r Auswertung <strong>de</strong>r Benutzerdaten dient.<br />
Außer<strong>de</strong>m wird unterhalb <strong>de</strong>r Eingabefel<strong>de</strong>r eine Vorschau <strong>de</strong>r gewählten Werbegrafik<br />
angezeigt.<br />
Bevor Sie das Banner freischalten können, müssen Sie zumin<strong>de</strong>st einen Kun<strong>de</strong>n<br />
erzeugt haben. Dazu öffnen Sie die Kun<strong>de</strong>nverwaltung über Components> Banners><br />
Manage Clients. Es öffnet sich <strong>de</strong>r so genannten Banner-Kun<strong>de</strong>nmanager.<br />
Wie gewohnt klicken Sie auf New, um einen ersten Kun<strong>de</strong>n zu erzeugen. Im zugehörigen<br />
Formular hinterlegen Sie folgen<strong>de</strong> Daten:<br />
• Kun<strong>de</strong>nname<br />
• Kontaktname<br />
• E-Mail-Adresse <strong>de</strong>s Kun<strong>de</strong>n<br />
• Ergänzen<strong>de</strong> Informationen<br />
Nach einem Klick auf Save ist <strong>de</strong>r neue Kontakt gespeichert. Nun können Banner<br />
freigeschaltet wer<strong>de</strong>n. Dazu erzeugen Sie ein neues Banner, weisen diesem <strong>de</strong>n<br />
Kun<strong>de</strong>n zu, speichern die Einstellungen und publizieren diese über <strong>de</strong>n Banner<br />
Manager.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
96 Komponenten, Module & Co.<br />
5.1.2 Kontaktverwaltung<br />
Auch die Kontaktverwaltung von <strong>Joomla</strong>! gehört zu <strong>de</strong>n Komponenten. Damit<br />
können Sie Kontaktinformationen verwalten, die im Zusammenhang mit <strong>de</strong>r Site<br />
bzw. <strong>de</strong>m System stehen. Dabei geht es um das Hinterlegen Impressum-ähnlicher<br />
Informationen <strong>de</strong>r Site.<br />
Externe Nutzer können diese Informationen nutzen, um in Kontakt mit <strong>de</strong>m Betreiber<br />
zu treten. Sie haben Zugriff auf diese Informationen über <strong>de</strong>n typischen<br />
Kontakt-Button <strong>de</strong>r Website. Hier steht in <strong>de</strong>r Standardkonfiguration ein einfaches<br />
Kontaktformular zur Verfügung.<br />
Natürlich ist man keineswegs nur auf ein Kontaktelement beschränkt. Vielmehr<br />
können Sie <strong>de</strong>n Benutzern verschie<strong>de</strong>nste Kontaktinformationen anbieten. Verwen<strong>de</strong>n<br />
Sie mehrere Kontakte, so stehen diese auf <strong>de</strong>r Frontend-Seite über eine<br />
Drop-down-Liste zur Auswahl bereit. Gera<strong>de</strong> aber bei größeren Anbietern o<strong>de</strong>r<br />
Online-Shops sollte man <strong>de</strong>n Nutzern gezielt Ansprechpartner anbieten.<br />
Über Components> Contacts> Manage Contacts öffnen Sie <strong>de</strong>n Kontaktmanager.<br />
Auch hier wer<strong>de</strong>n vorhan<strong>de</strong>ne Einträge in Listenform aufgeführt. Standardmäßig<br />
wer<strong>de</strong>n folgen<strong>de</strong> Informationen aufgeführt:<br />
• Name<br />
• Veröffentlichungsstatus<br />
• Reihenfolge<br />
• Kategorie<br />
• Link zu registriertem Benutzer<br />
Um einen neuen Kontakt zu erzeugen, klicken Sie in <strong>de</strong>r Kontaktverwaltung wie<strong>de</strong>r<br />
auf New. In das umfangreiche Formular geben Sie die relevanten Daten ein und<br />
speichern diese abschließend über Save. Danach ist <strong>de</strong>r neue Kontakt im Kontaktmanager<br />
verfügbar.<br />
www.brain-media.<strong>de</strong>
Komponenten 97<br />
Ein neuer Kontakt entsteht.<br />
Um die Kontaktansicht um Ansprechpartner zu erweitern, führen Sie in <strong>de</strong>r Kontakt-Komponente<br />
weitere Personen ein. Dabei sollten Sie insbeson<strong>de</strong>re auf eine<br />
passen<strong>de</strong> Positionsbeschreibung achten. Anschließend geben Sie die neuen Kontakte<br />
frei.<br />
Neben <strong>de</strong>n bereits bekannten Funktionen für die Beschränkung <strong>de</strong>r Ansicht o<strong>de</strong>r<br />
das Anpassen <strong>de</strong>r Sortierung bietet die Kontaktverwaltung eine weitere Beson<strong>de</strong>rheit:<br />
In <strong>de</strong>r Kopfzeile steht eine Suchfunktion zur Verfügung, über die Sie insbeson<strong>de</strong>re<br />
umfangreiche Datenbestän<strong>de</strong> nach Personennamen durchsuchen können.<br />
Die Suche nach Positionen o<strong>de</strong>r an<strong>de</strong>ren Kriterien ist bislang noch nicht möglich.<br />
Über die Registerkarten Publishing, Images und Parameters können Sie die Ansicht<br />
zu<strong>de</strong>m weiter verfeinern.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
98 Komponenten, Module & Co.<br />
5.1.3 Massenmails<br />
Über das Benutzermanagermenü ist eine weitere nützliche Funktion verfügbar:<br />
Über das Formular mit <strong>de</strong>r etwas missglückten Bezeichnung Mass Mail kann man<br />
Nachrichten an folgen<strong>de</strong> Benutzer bzw. Gruppen sen<strong>de</strong>n:<br />
• alle verfügbaren Mambo-Benutzer<br />
• eine einzelne Benutzergruppe<br />
• eine Benutzergruppe einschließlich <strong>de</strong>r Kindgruppen<br />
Damit die Mails auch die Mitglie<strong>de</strong>r untergeordneter Gruppen erreichen, muss die<br />
Option Mail to child groups aktiviert wer<strong>de</strong>n. Der Rest ergibt sich von selbst: In<br />
das Textfeld Subject geben Sie <strong>de</strong>n Betreff <strong>de</strong>r Nachricht ein, unter Message<br />
Prompt verfassen Sie die Nachricht.<br />
Über die Schaltfläche Send E-Mail bringt man sie auf <strong>de</strong>n Weg. Wichtig: Diese<br />
Mail-Funktion steht nur Mitglie<strong>de</strong>rn <strong>de</strong>r Gruppe Super Administrator zur Verfügung.<br />
Nach <strong>de</strong>m Versand gibt Mambo eine Hinweismeldung aus, dass die Nachricht<br />
an x Benutzer versen<strong>de</strong>t wur<strong>de</strong>.<br />
Das Formular für <strong>de</strong>n internen Mailversand an bestimmte Benutzer.<br />
www.brain-media.<strong>de</strong>
Komponenten 99<br />
Eine interne Mail wur<strong>de</strong> an einen Benutzer versen<strong>de</strong>t.<br />
5.1.4 Komponente Newsfeed<br />
Die erste Komponente in <strong>de</strong>r Komponentenübersicht trägt die Bezeichnung Newsfeed.<br />
Dabei han<strong>de</strong>lt es sich um einen recht einfachen Mechanismus, mit <strong>de</strong>m man<br />
Content zwischen zwei (o<strong>de</strong>r auch mehreren) Sites austauschen kann. Da insbeson<strong>de</strong>re<br />
eine Vielzahl von Websites RSS-basierte Nachrichten austauschen, bietet<br />
es sich an, auch in <strong>Joomla</strong>! diese Technik zu nutzen.<br />
Im Newsfeed Manager verwalten Sie Ihre Meldungen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
100 Komponenten, Module & Co.<br />
Mithilfe <strong>de</strong>r Newsfeed-Komponente können Sie bestehen<strong>de</strong> News-Artikel verwalten,<br />
sie in Kategorien zusammenfassen und die Inhalte auch an<strong>de</strong>ren Content-<br />
Anbietern zur Verfügung stellen. Um <strong>de</strong>n Content mit an<strong>de</strong>ren gemeinsam nutzen<br />
zu können, ist es sinnvoll, diese in die Templates einzubin<strong>de</strong>n.<br />
Für das Erstellen, Bearbeiten, Löschen, Veröffentlichen und Herausnehmen von<br />
Feeds verwen<strong>de</strong>n Sie die Symbolleiste <strong>de</strong>s Feed Managers. Wie wir es von an<strong>de</strong>ren<br />
Übersichten kennen, führt <strong>de</strong>r Manager verschie<strong>de</strong>ne Detailinformationen zu <strong>de</strong>n<br />
einzelnen News auf:<br />
• Nummer: Als Erstes wird die Nummer <strong>de</strong>r Nachricht angegeben. Diese<br />
Reihenfolge hat nichts mit <strong>de</strong>r Reihenfolge bei <strong>de</strong>r Veröffentlichung zu<br />
tun.<br />
• Feed-Bezeichnung: Es folgt die Bezeichnung <strong>de</strong>r Nachricht. Wichtig ist<br />
dabei eine aussagekräftige Bezeichnung, damit man eine Meldung einfach<br />
i<strong>de</strong>ntifizieren kann.<br />
• Published: In dieser Spalte zeigen rote Kreuze und grüne Haken an, ob<br />
ein Newsfeed veröffentlicht ist o<strong>de</strong>r nicht.<br />
• Reor<strong>de</strong>r: Über die letzte Spalte kann man die Reihenfolge <strong>de</strong>r Ansicht<br />
bearbeiten. Oberhalb <strong>de</strong>r Reor<strong>de</strong>r-Spalte kann man außer<strong>de</strong>m die Anzahl<br />
<strong>de</strong>r News zahlenmäßig und auf Kategorien beschränken.<br />
• Category: Unter Category kann man eine Meldung einer bestimmten<br />
News-Gruppe zuordnen. Meist han<strong>de</strong>lt es sich um inhaltlich ähnliche<br />
Nachrichten, die man in einer Gruppe zusammenfasst. Alternativen könnten<br />
auch Aktivitäten-spezifische Gruppierungen sein.<br />
• # Articles: In dieser Spalte fin<strong>de</strong>t man die Anzahl an Artikel, die in einem<br />
Newsfeed verwen<strong>de</strong>t wer<strong>de</strong>n – nicht zu verwechseln mit <strong>de</strong>r Artikelnummer,<br />
die sich auf die Reihenfolge in <strong>de</strong>r Ansicht bezieht.<br />
• Cache time (sec): Hier fin<strong>de</strong>t man die Dauer in Sekun<strong>de</strong>n, die ein Artikel<br />
im Cache verbleibt.<br />
Da in einer XML-basierten Datei (RSS) wie sie von <strong>Joomla</strong>! genutzt wird, mehrere<br />
Newsfeeds bereitgestellt wer<strong>de</strong>n können, ist es wichtig, dass Sie die Anzahl <strong>de</strong>r<br />
Artikel sowie die lokale Caching-Dauer für <strong>de</strong>n Newsfeed <strong>de</strong>finieren.<br />
Bieten Sie RSS-basierte News auf einer Website an, sollten Sie die Einbettung <strong>de</strong>s<br />
RSS-Icons in Erwägung ziehen. An<strong>de</strong>re Anbieter und Anwen<strong>de</strong>r erkennen so<br />
leicht, dass sie die Inhalte eventuell nutzen können. Ergänzend ist es sinnvoll,<br />
eigene Feeds über RSS-Verzeichnisse wie beispielsweise das <strong>de</strong>utschsprachige<br />
www.brain-media.<strong>de</strong>
Komponenten 101<br />
RSS-Verzeichnis (http://www.rss-verzeichnis.net) o<strong>de</strong>r Syndic8.com<br />
(http://www.syndic8.com) zu publizieren.<br />
Das Erzeugen eines Newsfeed ist recht einfach: Öffnen Sie <strong>de</strong>n Feed Manager,<br />
in<strong>de</strong>m Sie man <strong>de</strong>n Befehl Components> News Feeds> Manage News Feeds auswählen.<br />
Dort klicken Sie auf New und füllen das zugehörige Formular aus.<br />
Ein neuer Newsfeed entsteht.<br />
Im Formular Newsfeed: New wählen Sie zunächst die Kategorie, bezeichnen dann<br />
<strong>de</strong>n Feed, geben <strong>de</strong>n zugehörigen Link sowie <strong>de</strong>n Dateinamen (feedname.rss) an,<br />
bestimmen die Anzahl <strong>de</strong>r Artikel und die Dauer, die <strong>de</strong>r Feed im Zwischenspeicher<br />
verbleibt. Abschließend speichern Sie die Einstellungen durch einen Klick auf<br />
Save. Die Newsfeed-Funktion erlaubt außer<strong>de</strong>m das Hinzufügen neuer Kategorien,<br />
mit <strong>de</strong>nen man die Nachrichten beispielsweise thematisch o<strong>de</strong>r chronologisch<br />
zusammenfasst. Der Kategoriemanager für Newsfeeds ist über Components> News<br />
Feeds> Manage Categories verfügbar.<br />
5.1.5 Umfragen<br />
Über die Komponentenverwaltung betten Sie auch die so genannten Polls in eine<br />
Website ein. Mit diesem Feature können Sie sich gezielt Feedback von <strong>de</strong>n Benutzern<br />
holen. So kann man beispielsweise Artikel o<strong>de</strong>r Anleitungen o<strong>de</strong>r auch <strong>de</strong>n<br />
Service bewerten lassen. Über Components> Polls öffnen Sie <strong>de</strong>n Poll Manager,<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
102 Komponenten, Module & Co.<br />
über <strong>de</strong>n Sie neue Umfragen erstellen o<strong>de</strong>r bestehen<strong>de</strong> bearbeiten bzw. löschen. Im<br />
Poll Manager stehen die bekannten Funktionen zum Freischalten etc. zur Verfügung.<br />
Um eine erste Umfrage zu erzeugen, klicken Sie im Poll Manager auf New, bezeichnen<br />
die Umfrage und geben unter Title die Beschreibung bzw. die Fragestellung<br />
<strong>de</strong>r Umfrage ein.<br />
Eine neue Umfrage ist mit wenigen Mausklicks erstellt.<br />
Über das Eingabefeld Lag bestimmen Sie die Anzahl <strong>de</strong>r Sekun<strong>de</strong>n, die zwischen<br />
zwei Stimmabgaben gewartet wer<strong>de</strong>n muss. In die Textfel<strong>de</strong>r Options geben Sie<br />
schließlich die möglichen Antworten ein. Das Feld ist auf 12 Optionen beschränkt.<br />
Mehr braucht man auch wirklich nicht. Dabei wird übrigens auch die IP-Adresse<br />
<strong>de</strong>s Abstimmen<strong>de</strong>n aufgezeichnet. Um das Ergebnis nicht verfälschen zu können,<br />
ist eine Mehrfachabstimmung nicht möglich.<br />
www.brain-media.<strong>de</strong>
Komponenten 103<br />
Über Show on menu items legen Sie außer<strong>de</strong>m fest, wo die Abstimmung angezeigt<br />
wird. Dabei kann man sie auf allen Seiten <strong>de</strong>r Web-Applikation anzeigen lassen<br />
und auch gezielt auf bestimmte Seiten beschränken. Wollen Sie beispielsweise das<br />
Feedback zu einem bestimmten Service-Angebot holen, so macht es nur Sinn, das<br />
auf <strong>de</strong>n Service-Seiten abzufragen. Nach<strong>de</strong>m die Optionen und Platzierung sowie<br />
die Fragestellungen <strong>de</strong>finiert sind, speichern Sie die Umfrage und geben sie wie<br />
gewohnt über <strong>de</strong>n Poll Manager frei. Nun kann sie von <strong>de</strong>n Anwen<strong>de</strong>rn genutzt<br />
wer<strong>de</strong>n.<br />
Die Vorschau <strong>de</strong>r zuvor erzeugten Umfrage.<br />
5.1.6 Syndicate<br />
<strong>Joomla</strong>! unterstützt auch das so genannte Content-Syndication. Content-Syndication<br />
bezeichnet die Verbindung von Inhalten verschie<strong>de</strong>ner Websites. Genutzt<br />
wird diese Technik insbeson<strong>de</strong>re bei Websites, die ihr Angebot mit business- und<br />
branchenrelevanten Informationen aufwerten wollen. So zum Beispiel Börsenkurse,<br />
aktuelle Nachrichten, aber auch speziell ausgewählte Inhalte an<strong>de</strong>rer Webseiten.<br />
Die zugehörigen Einstellungen hierfür sind über Components> Syndicate verfügbar.<br />
Im zugehörigen Formular <strong>de</strong>finieren Sie die Syndication-Einstellungen. Um<br />
bestimmte Inhalte für die Nutzung durch an<strong>de</strong>re verfügbar zu machen, müssen<br />
diese entsprechend konfiguriert wer<strong>de</strong>n.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
104 Komponenten, Module & Co.<br />
Die Konfiguration <strong>de</strong>r Content Syndication.<br />
Die Einstellungen hierfür fasst nachstehen<strong>de</strong> Tabelle zusammen:<br />
Option<br />
Security Check<br />
Cache: Yes or No?<br />
Cache Time<br />
#Items<br />
Beschreibung<br />
Hier legen Sie fest, ob ein Sicherheitscheck erfolgt o<strong>de</strong>r<br />
nicht.<br />
Hier legt man fest, ob Inhalte zwischengespeichert wer<strong>de</strong>n<br />
o<strong>de</strong>r nicht. Die Vorgabe Yes sollte man beibehalten. Aktiviert<br />
man No, wird <strong>de</strong>r Newsfeed bei je<strong>de</strong>m Zugriff geprüft.<br />
Mit dieser Einstellung legt man fest, wie lange Inhalte im<br />
Zwischenspeicher verweilen. Der Standardwert ist 3600<br />
Sekun<strong>de</strong>n, also 60 Minuten. Nach <strong>de</strong>m Ablauf dieser Zeitspanne<br />
wird <strong>de</strong>r Inhalt aus <strong>de</strong>r Datenbank bezogen.<br />
Anzahl <strong>de</strong>r Elemente, die ausgetauscht wer<strong>de</strong>n sollen.<br />
www.brain-media.<strong>de</strong>
Komponenten 105<br />
Option<br />
Title<br />
Description<br />
Image<br />
Image Alt<br />
Limit Text: Yes or<br />
No?<br />
Or<strong>de</strong>r<br />
Live Bookmarks<br />
Bookmark File<br />
Beschreibung<br />
Legt <strong>de</strong>n Titel für Artikel fest, die syndiziert wer<strong>de</strong>n.<br />
Kurze Beschreibung <strong>de</strong>s Feeds.<br />
Erlaubt die Auswahl einer Grafik aus <strong>de</strong>m <strong>Media</strong> Manager.<br />
Legt <strong>de</strong>n alternativen Bildtext fest.<br />
Erlaubt es, die Länge <strong>de</strong>r alternativen Texte zu beschränken.<br />
Verwen<strong>de</strong>t man <strong>de</strong>n Wert 0, so wird kein Text angezeigt.<br />
Legt die Reihenfolge entsprechend <strong>de</strong>r Einstellung im<br />
Front Page Manager <strong>de</strong>r Objekte fest.<br />
Aktiviert die Firefox-Live-Bookmark-Funktionität.<br />
Spezifiziert die Lesezeichen-Datei.<br />
5.1.7 Links<br />
Auch die Links wer<strong>de</strong>n über die Komponentenverwaltung administriert. Die Links<br />
wie auch die Link-Kategorien sind über das Menü Components> Web Links><br />
Weblink Items bzw. Weblink Categories verfügbar. Führen Sie <strong>de</strong>n ersten Befehl<br />
aus, so öffnet sich <strong>de</strong>r so genannte Link Manager, über <strong>de</strong>n Sie neue Verweise<br />
erzeugen, bestehen<strong>de</strong> verwalten und löschen. Außer<strong>de</strong>m zeigt <strong>de</strong>r Manager verschie<strong>de</strong>ne<br />
Detailinformationen an, insbeson<strong>de</strong>re <strong>de</strong>n Namen, die Kategorie, die<br />
Anzahl an Hits und <strong>de</strong>n Veröffentlichungsstatus.<br />
Das Erzeugen eines neuen Links.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
106 Komponenten, Module & Co.<br />
In <strong>de</strong>r Spalte Approved erfahren Sie, ob <strong>de</strong>r Link verifizert wur<strong>de</strong> o<strong>de</strong>r nicht.<br />
Schließlich kann auch die Reihenfolge <strong>de</strong>r Links angepasst wer<strong>de</strong>n. Der Hintergedanke<br />
dieser Funktion: Fügen Benutzer neue Links hinzu, so müssen diese erst<br />
durch einen Administrator freigegeben wer<strong>de</strong>n, bevor sie <strong>de</strong>r Allgemeinheit zur<br />
Verfügung stehen.<br />
Um einen neuen Link zu erzeugen, klicken Sie im Manager auf New. In das Formular<br />
Weblink: New geben Sie die Link-Bezeichnung, die Kategorie, <strong>de</strong>n URL,<br />
eine Beschreibung, die Reihenfolge sowie <strong>de</strong>n Überprüfungsstatus an. Mit Save<br />
sichern Sie <strong>de</strong>n neuen Link und können ihn dann über <strong>de</strong>n Weblink Manager publizieren.<br />
Der neue Link ist dann über das Menü Weblinks <strong>de</strong>r <strong>Joomla</strong>!-Hauptseite<br />
verfügbar. Dort greift man über die Kategorien auf die Verweise zu. Über das<br />
Auswahlmenü Parameters legen Sie außer<strong>de</strong>m fest, ob <strong>de</strong>r Link im gleichen o<strong>de</strong>r<br />
in einem neuen Browser mit bzw. ohne Browser-Navigation geöffnet wird.<br />
Über das Untermenü Weblink Categories können Sie auch hier weitere Kategorien<br />
einführen. So können Sie die Links besser inhaltlich (o<strong>de</strong>r nach an<strong>de</strong>ren Kriterien)<br />
zusammenfassen. Wie man Kategorien erzeugt, ist oben beschrieben.<br />
5.2 Modulmanager<br />
Zwei weitere wichtige Komponenten von Mambo sind die so genannten Module<br />
und Mambots. Wie die Mambo-Komponenten sind die Module Mini-<br />
Applikationen, die innerhalb <strong>de</strong>s Mambo-Systems bestimmte Funktionalitäten<br />
bereitstellen. Zu <strong>de</strong>n Modulen gehören beispielsweise die Hauptmenüs, die Benutzermenüs<br />
und das Login-Formular. Der Ansatz hinter <strong>de</strong>n Mambo-Modulen: Das<br />
Content-Managementsystem soll durch seine modulare Architektur einfach an die<br />
jeweiligen Anfor<strong>de</strong>rungen anpassbar sein.<br />
Die Module stellen ähnlich einer Blackbox bestimmte Funktionen zur Verfügung,<br />
ohne dass sich <strong>de</strong>r Administrator um technische Details kümmern muss. Durch die<br />
Verwendung einer modularen Architektur entsteht ein flexibles Gebil<strong>de</strong>. Mambots<br />
übernehmen Content-spezifische Funktionen. Sie dienen dazu, Inhalte zu manipulieren.<br />
www.brain-media.<strong>de</strong>
Modulmanager 107<br />
Die Liste <strong>de</strong>r installierten Module ist bei<br />
einer Standardkonfiguration lang.<br />
5.2.1 <strong>Joomla</strong>!-Module<br />
Die Module unterschei<strong>de</strong>n sich von <strong>de</strong>n zuvor beschriebenen Komponenten. Sie<br />
wer<strong>de</strong>n meist verwen<strong>de</strong>t, um Informationen von Komponenten o<strong>de</strong>r auch von<br />
externen Skripts darzustellen. Sie besitzen in <strong>de</strong>r Regel keine administrativen<br />
Funktionen, außer vielleicht das Editieren o<strong>de</strong>r das Veröffentlichen. Das Content-<br />
Managementsystem unterschei<strong>de</strong>t zwischen Site- und Administrationsmodulen.<br />
Die einen sind für Site-spezifische, die an<strong>de</strong>ren für administrative Aufgaben zuständig.<br />
Wie die Menüs Components und Mambots dient <strong>de</strong>r erste Menü-Eintrag<br />
<strong>de</strong>r Installation bzw. <strong>de</strong>r Deinstallation neuer Module. Außer<strong>de</strong>m präsentiert die<br />
Modulfunktion eine Übersicht <strong>de</strong>r installierten Module.<br />
Öffnen Sie einen Modulbereich, so präsentiert <strong>Joomla</strong>! <strong>de</strong>n Modulmanager für die<br />
Site- bzw. Admin-spezifischen Module. Hier wer<strong>de</strong>n wie<strong>de</strong>r die typischen Informationen<br />
und Einstellungen angeboten, wie wir sie bereits von an<strong>de</strong>ren Managern<br />
kennen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
108 Komponenten, Module & Co.<br />
Wir wollen uns hier exemplarisch einige Site-Module ansehen. Der Umgang mit<br />
administrativen Komponenten ist entsprechend. Die Administration <strong>de</strong>r Site-<br />
Module erfolgt über <strong>de</strong>n Modul Manager, <strong>de</strong>n Sie über das Menü Modules> Site<br />
Modules öffnen. Hier fin<strong>de</strong>n Sie bei einer Standardinstallation beispielsweise folgen<strong>de</strong><br />
Module vor:<br />
• Banners<br />
• Main Menu<br />
• User Menu<br />
• Other Menu<br />
• Login Form<br />
• Syndicate<br />
• Statistics<br />
• Template Chooser<br />
• Archive<br />
• Sections<br />
Der Modulübersicht, wie sie obige Darstellung zeigt, können Sie wesentliche Informationen<br />
entnehmen. Neben <strong>de</strong>r Modulbezeichnung sind das insbeson<strong>de</strong>re <strong>de</strong>r<br />
Typ, die Position aus User-Sicht, <strong>de</strong>r Veröffentlichungsstatus, Check-out-Infos,<br />
Zugriffsrechte und Reihenfolge. Detailinformationen zu <strong>de</strong>n einzelnen Modulen<br />
rufen Sie ab, in<strong>de</strong>m Sie diese in <strong>de</strong>r Übersicht anklicken.<br />
www.brain-media.<strong>de</strong>
Modulmanager 109<br />
Das editierte Hauptmenü.<br />
Editieren Sie ein Modul durch einen Klick auf die Modulbezeichnung im Modulmanager,<br />
so sind Detailinformationen zur gewählten Komponente verfügbar. Voranstehen<strong>de</strong><br />
Abbildung zeigt beispielsweise das editierte Modul Main Menu<br />
(Hauptmenü). Die Dialoge beim Editieren unterschiedlicher Module sind nahezu<br />
i<strong>de</strong>ntisch. Unterschie<strong>de</strong> gibt es lediglich bei <strong>de</strong>n Parametern.<br />
Die Einstellungen im Einzelnen:<br />
• Title: Hier legen Sie <strong>de</strong>n Titel <strong>de</strong>s Moduls fest, wie er im Modulmanager<br />
auftaucht.<br />
• Show title: In diesem Auswahlmenü haben Sie die Wahl zwischen Yes<br />
und No, um die Titel in <strong>de</strong>r User-Ansicht <strong>de</strong>r Website anzuzeigen.<br />
• Position: Über diese Einstellung legen Sie fest, wo das Modul erscheinen<br />
soll. <strong>Joomla</strong>! stellt Sie vor die Wahl zwischen links, rechts, oben, unten,<br />
ausblen<strong>de</strong>n und User-spezifisch.<br />
• Module Owner: Hier legen fest, wem das Modul gehört.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
110 Komponenten, Module & Co.<br />
• Access Level: Über dieses Auswahlmenü bestimmen Sie, ob es sich um<br />
ein öffentlich zugängliches Modul han<strong>de</strong>lt o<strong>de</strong>r es nur für registrierte Benutzer<br />
verfügbar ist o<strong>de</strong>r ob an<strong>de</strong>re spezielle Einstellungen vorgesehen<br />
sind.<br />
• Published: Hier legen Sie fest, ob das Modul veröffentlicht wird o<strong>de</strong>r<br />
nicht.<br />
• Parameters: In diesem Bereich steuern Sie verschie<strong>de</strong>ne Menüspezifische<br />
Details.<br />
• Page(s): In dieser Auswahl legen Sie fest, wo das jeweilige Menü angezeigt<br />
wird. Meist zeigt man Menüs auf allen Seiten an, insbeson<strong>de</strong>re wenn<br />
es sich um elementare Menüs wie das Hauptmenü han<strong>de</strong>ln. <strong>Joomla</strong>! stellt<br />
Ihnen die Optionen Alle und Spezifische Dokumente zur Wahl. Um eine<br />
gezielte Auswahl zu treffen, halten Sie die Strg-Taste gedrückt und markieren<br />
<strong>de</strong>r Reihe nach die Seiten, auf <strong>de</strong>nen das Menü erscheinen soll.<br />
Nach einem Klick auf Save lan<strong>de</strong>t man wie<strong>de</strong>r in <strong>de</strong>r Modulübersicht und kann mit<br />
einem Browser beispielsweise die geän<strong>de</strong>rten Einstellungen begutachten. Die Installation<br />
neuer Module ist ebenfalls recht einfach. Hierzu führen Sie <strong>de</strong>n Befehl<br />
Modules> Install/Uninstall aus. Wollen Sie ein bestehen<strong>de</strong>s Modul aktualisieren<br />
und durch eine Weiterentwicklung ersetzen, so <strong>de</strong>installieren Sie am besten die<br />
installierte Variante.<br />
Die Funktion <strong>de</strong>s Moduls Login aus User-Sicht.<br />
Schauen wir uns <strong>de</strong>n Einsatz verschie<strong>de</strong>ner Module in <strong>de</strong>r Praxis an. Wollen Sie<br />
sich mit <strong>de</strong>n verschie<strong>de</strong>nen Modulen vertraut machen, so sollten Sie am besten alle<br />
www.brain-media.<strong>de</strong>
Modulmanager 111<br />
veröffentlichen. Dazu markieren Sie in <strong>de</strong>r Kopfzeile <strong>de</strong>s Modulmanagers neben<br />
Modul Name das Kästchen und führen <strong>de</strong>n Befehl Publish aus. Nach einer Aktualisierung<br />
<strong>de</strong>r Ansicht sind in <strong>de</strong>r Benutzeransicht die aktivierten Module verfügbar.<br />
5.2.2 Modul Login<br />
Haben Sie das Modul Login in seiner Standardkonfiguration aktiviert, so fin<strong>de</strong>n Sie<br />
es im linken oberen Dokumentenbereich aller Seiten. Über <strong>de</strong>n typischen Login-<br />
Dialog verschaffen Sie sich als Administrator o<strong>de</strong>r als „normaler“ Redakteur Zugang<br />
zum System.<br />
Über Remember me können Sie das Setzen eines Cookies aktivieren, damit Sie sich<br />
beim erneuten Zugriff die Eingabe <strong>de</strong>s Benutzerpassworts und <strong>de</strong>s Kennworts<br />
sparen können. Besitzen Sie keine Kennung samt Passwort, so können Sie es über<br />
Forgotten your password per E-Mail anfor<strong>de</strong>rn.<br />
Besitzen Sie bislang noch keinen Account, so erzeugen Sie einen über Create one.<br />
Im zugehörigen Registrierungsformular geben Sie <strong>de</strong>n Namen, <strong>de</strong>n Benutzernamen<br />
und die E-Mail-Adresse an.<br />
Ein neuer Benutzer registriert sich.<br />
Der neue User erhält sein Passwort per Mail zugesandt und kann sich dann mit<br />
seinen Daten Zutritt zum System verschaffen. Über die Benutzerverwaltung kann<br />
<strong>de</strong>r Administrator gezielt die Berechtigungen für <strong>de</strong>n neuen User setzen. Standardmäßig<br />
wird er <strong>de</strong>r Gruppe Frontend User> Registered zugeordnet.<br />
Das Login-Modul unterstützt verschie<strong>de</strong>ne Parameter, die über <strong>de</strong>n Modulmanager<br />
angepasst wer<strong>de</strong>n können:<br />
• pretext: Mit diesem Parameter legen Sie einen Textbaustein o<strong>de</strong>r HTML-<br />
Co<strong>de</strong> fest, <strong>de</strong>r über <strong>de</strong>m Login-Formular angezeigt wird. Ein Beispiel:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
112 Komponenten, Module & Co.<br />
pretext=Lesen Sie unbedingt unsere Hinweise zur Sicherheit und Verwendung<br />
<strong>de</strong>r Umgebung!<br />
• posttext: Hiermit legen Sie entsprechend einen Textbaustein o<strong>de</strong>r auch<br />
HTML-Co<strong>de</strong> fest, <strong>de</strong>r nach <strong>de</strong>m Login-Formular eingeblen<strong>de</strong>t wird.<br />
5.2.3 Modul Archive<br />
Im Modul Archive wer<strong>de</strong>n archivierte Artikel gesammelt. Die Artikel wer<strong>de</strong>n dabei<br />
Monat für Monat zusammengefasst. Der User kann sich also über die Monate zu<br />
bisherigen Meldungen hangeln. Damit ein Artikel im Archiv lan<strong>de</strong>t, muss man<br />
diesen natürlich zunächst archivieren. Dazu öffnen Sie beispielsweise <strong>de</strong>n Content-<br />
Element-Manager, markieren die Elemente, die Sie archivieren wollen, und klicken<br />
dann auf Archive.<br />
Greifen Sie auf einen im Archive-Menü aufgeführten Monat zu, so wer<strong>de</strong>n die<br />
Titel <strong>de</strong>r abgelegten Inhalte im Hauptfenster angezeigt. Über ein Auswahlmenü<br />
können Sie außer<strong>de</strong>m bequem auf an<strong>de</strong>re Monate zugreifen.<br />
Ein Tipp noch für Administratoren: Über die Einstellungen <strong>de</strong>s Archive-Moduls<br />
kann man die Anzahl <strong>de</strong>r archivierten Elemente im Menü steuern. Standardmäßig<br />
wer<strong>de</strong>n maximal zehn Elemente angezeigt. Will man die Ansicht auf 5 o<strong>de</strong>r auch<br />
20 setzen, so gibt man unter Parameter Count einfach 5 bzw. 20 ein.<br />
Die Template-Auswahl aus Sicht <strong>de</strong>s Benutzers.<br />
www.brain-media.<strong>de</strong>
Modulmanager 113<br />
5.2.4 Modul Template Chooser<br />
Voranstehen<strong>de</strong> Abbildung zeigt das Modul Template Chooser aus Usersicht. Mit<br />
dieser Funktion bietet man <strong>de</strong>m Anwen<strong>de</strong>r die Möglichkeit, das Site-Design entsprechend<br />
seinen Anfor<strong>de</strong>rungen anzupassen. Insbeson<strong>de</strong>re beim Einsatz im Unternehmen<br />
macht diese Funktion durchaus Sinn, da Mitarbeiter ihre Umgebung an<br />
ihre Vorlieben anpassen können – wenn auch in recht beschei<strong>de</strong>nem Maße. Auch<br />
beim Template Chooser stehen verschie<strong>de</strong>ne Parameter zur Verfügung:<br />
• Max Name Length: Hiermit begrenzen Sie die Länge <strong>de</strong>r Template-<br />
Namen, beispielsweise auf maximal 20 Zeichen.<br />
• Show Preview: Mit diesem Parameter aktivieren bzw. <strong>de</strong>aktivieren Sie<br />
die Vorschau. Für das Aktivieren verwen<strong>de</strong>n Sie <strong>de</strong>n Wert 1 (Standar<strong>de</strong>instellung),<br />
für das Deaktivieren <strong>de</strong>n Wert 0.<br />
• Preview Width: Mit diesem Wert bestimmen Sie die Breite <strong>de</strong>r Vorschau<br />
in Pixeln. Der Standardwert ist 140.<br />
• Preview Height: Hiermit legen Sie die Höhe fest. Der Standardwert ist<br />
90.<br />
Haben Sie <strong>de</strong>n Umgang mit zwei o<strong>de</strong>r drei Modulen kennen gelernt, so fin<strong>de</strong>n Sie<br />
sich auch bei an<strong>de</strong>ren Moduleinstellungen schnell zurecht. Unterschie<strong>de</strong> gibt es,<br />
wie bereits erwähnt, lediglich bei <strong>de</strong>n Parametern. Hier liefert das Infozeichen<br />
neben einer Option die notwendigen Informationen.<br />
Die Mambots-Verwaltung <strong>de</strong>s Content-Managementsystems.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
114 Komponenten, Module & Co.<br />
5.3 Mambots<br />
Die so genannten Mambots sind kleine PHP-Skripts, die bestimmte Aktionen auf<br />
Content-Elemente anwen<strong>de</strong>n. In <strong>de</strong>r Praxis können sie vielerlei Aufgaben übernehmen,<br />
beispielsweise die automatisierte Ausrichtung von Grafiken in einem<br />
Artikel, Suchfunktionen für die Website bereitstellen und <strong>de</strong>rgleichen mehr. Über<br />
das Menü Mambots installiert bzw. <strong>de</strong>installiert man neue Skripts und verwaltet<br />
diese.<br />
Eine <strong>Joomla</strong>!-Standardinstallation kommt mit einer Grundausstattung von<br />
Mambots daher. Eines <strong>de</strong>r wichtigsten ist das MOS-Image-Bot. Es dient beispielsweise<br />
dazu, die Position einer Grafik vorzugeben. Während die Site-übergreifen<strong>de</strong><br />
Konfiguration über das Mambots-Menü vorgenommen wird, steht <strong>de</strong>ssen eigentliche<br />
Funktion über die Content-Bearbeitung zur Verfügung. Die Konfigurationsmöglichkeiten<br />
sind recht beschränkt. Sie dienen in erster Linie dazu, das Bot verfügbar<br />
zu machen und <strong>de</strong>n Zugriffslevel zu <strong>de</strong>finieren. Editieren Sie beispielsweise<br />
das Mambot MOS Image, so können Sie <strong>de</strong>n Veröffentlichungsstatus und die Zugriffsebene<br />
<strong>de</strong>finieren.<br />
Die Konfigurationsmöglichkeiten für das Mambot MOS Image.<br />
Die wichtigsten installierten Mambots fasst nachstehen<strong>de</strong> Tabelle zusammen:<br />
Mambot<br />
MOS Image<br />
Legacy<br />
Mambot<br />
Inclu<strong>de</strong>r<br />
Beschreibung<br />
Dieser Bot dient <strong>de</strong>r Manipulation von Grafiken. Er erlaubt das<br />
Einbin<strong>de</strong>n von Grafiken in Content-Elemente und das Ausrichten.<br />
Bei einer Neuinstallation kann diese Option be<strong>de</strong>nkenlos <strong>de</strong>aktiviert<br />
wer<strong>de</strong>n.<br />
www.brain-media.<strong>de</strong>
Installer, Nachrichten und mehr 115<br />
Mambot<br />
Co<strong>de</strong> Support<br />
SEF<br />
MOS Rating<br />
Email Cloaking<br />
Beschreibung<br />
Dieser Bot interpretiert je<strong>de</strong>n Text in <strong>de</strong>r Form {mosco<strong>de</strong>} …<br />
co<strong>de</strong> … {/mosco<strong>de</strong>} als PHP-Co<strong>de</strong>.<br />
Dieser Bot stellt die Funktionen Search Engine Friendly zur<br />
Verfügung, die über die Site-Konfiguration verfügbar sind.<br />
Stellt die Bewertungsfunktion zur Verfügung, mit <strong>de</strong>r User Inhalte<br />
bewerten können.<br />
Dieser Bot „verhüllt“ E-Mail-Adressen, damit sie nicht von<br />
Spambots ausgelesen wer<strong>de</strong>n können.<br />
5.4 Installer, Nachrichten und mehr<br />
Die <strong>Joomla</strong>!-Administrationszentrale hat weitere Funktionen zu bieten. Insbeson<strong>de</strong>re<br />
Funktionen, die über die Menüs Installer, Messages und System zur Verfügung<br />
stehen. Die Funktion <strong>de</strong>s Installers ist schnell erklärt, <strong>de</strong>nn diesem Installationsmechanismus<br />
sind wir bereits <strong>de</strong>s Öfteren begegnet. Sie erlaubt die Installation<br />
von Templates, Sprachpaketen, Komponenten, Modulen und Mambots.<br />
5.4.1 Messaging-Einstellungen<br />
Über das Menü Messages sind die Messaging-Einstellungen verfügbar. Diese sind<br />
recht einfacher Natur. Die Konfiguration erfolgt über das Menü Messages> Configuration.<br />
Setzen Sie dort die Option Lock Inbox auf Yes, so wird das Sen<strong>de</strong>n von<br />
Nachrichten <strong>de</strong>r Administrator- o<strong>de</strong>r Systemprozesse an <strong>de</strong>n Administrator unterbun<strong>de</strong>n.<br />
Setzen Sie die Option Mail me on new Message auf Yes, so wird <strong>de</strong>m<br />
Administrator eine Nachricht gesen<strong>de</strong>t, wenn neue Nachrichten für ihn eingegangen<br />
sind. Neue Nachrichten wer<strong>de</strong>n in <strong>de</strong>r Kopfzeile <strong>de</strong>s Systems angezeigt.<br />
Die Nachrichten-spezifischen Einstellungen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
116 Komponenten, Module & Co.<br />
Wollen Sie an an<strong>de</strong>re Anwen<strong>de</strong>r eine Nachricht verfassen, so klicken Sie im Dialog<br />
Private Messaging auf die Schaltfläche New. Es öffnet sich <strong>de</strong>r Dialog New<br />
private message, in <strong>de</strong>m Sie <strong>de</strong>n Benutzer, <strong>de</strong>n Betreff und <strong>de</strong>n Nachrichtentext<br />
eingeben. Über Save bringen Sie die Nachricht auf <strong>de</strong>n Weg. Beim Empfänger<br />
wird <strong>de</strong>r Eingang einer neuen Nachricht in <strong>de</strong>r Kopfzeile durch <strong>de</strong>n Briefumschlag<br />
mit Nennung <strong>de</strong>r Nachrichtenanzahl angezeigt. Um sie zu öffnen, klickt <strong>de</strong>r Empfänger<br />
auf <strong>de</strong>n Umschlag. In <strong>de</strong>r Mail-Übersicht kann die Nachricht dann gelesen<br />
wer<strong>de</strong>n.<br />
Eine neue Nachricht befin<strong>de</strong>t sich im Posteingang.<br />
5.4.2 Checkin-Informationen<br />
Über das Systemmenü sind die so genannten Check-in-Informationen verfügbar.<br />
Dem Checkin-Status sind wir bereits <strong>de</strong>s Öfteren begegnet. Man fin<strong>de</strong>t die gleichnamige<br />
Spalte überall dort, wo man Elemente, Komponenten o<strong>de</strong>r Module publizieren<br />
bzw. aktivieren kann, beispielsweise im Menümanager o<strong>de</strong>r in <strong>de</strong>r Newsverwaltung.<br />
Die globalen Checkin-Informationen.<br />
www.brain-media.<strong>de</strong>
Installer, Nachrichten und mehr 117<br />
Der Checked-out-Status sorgt dafür, dass die Elemente von Än<strong>de</strong>rungen an<strong>de</strong>rer<br />
Benutzer sicher sind. Ein mehrfacher Zugriff wird so ebenfalls verhin<strong>de</strong>rt. Über<br />
das Menü System> Global Checkin rufen Sie <strong>de</strong>n Status von Elementen, Komponenten<br />
etc. ab. Damit erhalten Sie einen exakten Überblick, welche Elemente bearbeitet<br />
wer<strong>de</strong>n können und welche nicht.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
118 Komponenten, Module & Co.<br />
www.brain-media.<strong>de</strong>
Dreamweaver Template Buil<strong>de</strong>r Extension 119<br />
6 Template-Entwicklung<br />
Wenn Sie eine individuelle Website aufbauen wollen, die mit einem speziellen<br />
Layout daherkommt, müssen Sie sich mit <strong>de</strong>r Template-Entwicklung befassen.<br />
Wenn Sie eigene Vorlagen für eine <strong>Joomla</strong>!-Installation erstellen wollen, so können<br />
Sie mehrere Wege einschlagen. Sie können beispielsweise kommerzielle Vorlagen<br />
erwerben und diese an Ihre Bedürfnisse anpassen. Es gibt noch weitere Alternativen:<br />
• Sie entwickeln eigene PHP-Dokumente. Diese Option dürfte PHP-<br />
Entwicklern vorbehalten sein.<br />
• Sie verwen<strong>de</strong>n die inzwischen betagte Dreamweaver-Template-Buil<strong>de</strong>r<br />
Extension. Dabei han<strong>de</strong>lt es sich um eine Dreamweaver-Erweiterung, mit<br />
<strong>de</strong>r auch „normale“ Anwen<strong>de</strong>r ihre eigenen Mambo-Templates erzeugen<br />
können. Weil es so schön einfach ist, widmen wir uns dieser Option.<br />
6.1 Dreamweaver Template Buil<strong>de</strong>r Extension<br />
Alles, was man für die Entwicklung eigener Mambo-Templates benötigt, ist eine<br />
aktuelle Dreamweaver-Version, die Dreamweaver-Erweiterung, eine lauffähige<br />
Mambo-Installation und natürlich ein wenig Zeit, um diesen Workshop durchzuarbeiten.<br />
Für <strong>de</strong>n Fall, dass keine Dreamweaver-Installation zur Verfügung steht,<br />
kann man sich auch mit einer Trialversion testweise behelfen. Alternativ kann man<br />
auch das Template Buil<strong>de</strong>r Plugin (mamboforge.net/frs/?group_id<br />
=106&release_id=2536) für <strong>de</strong>n HTML Kit Editor (www.chami.com/html-kit/)<br />
verwen<strong>de</strong>n. Das Dreamweaver-Plugin steht ebenfalls über die Mamboforge-<br />
Website (mamboforge.net/frs/?group_id=106&release_id=1801) zum Download<br />
bereit.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
120 Template-Entwicklung<br />
Je<strong>de</strong>s Design lässt sich für ein Mambo-System nutzen. Es muss nur stehen<br />
und dann entsprechend in Dreamweaver als Template <strong>de</strong>finiert<br />
wer<strong>de</strong>n.<br />
Nach <strong>de</strong>m Download <strong>de</strong>r Erweiterung öffnet man <strong>de</strong>n Macromedia Extension Manager.<br />
Dort wählt man Datei> Erweiterung installieren, wählt die Erweiterung und<br />
bestätigt die Wahl. Nun startet Dreamweaver neu. Die Struktur und das Design <strong>de</strong>s<br />
Mambo-Templates sollten natürlich bereits stehen. Nur so macht es Sinn, <strong>de</strong>n weiteren<br />
Schritten <strong>de</strong>s Workshops zu folgen. Wir wollen im Folgen<strong>de</strong>n eine Website<br />
mit einem typischen Hea<strong>de</strong>r, darunter drei Spalten für die Navigationsleiste, erzeugen,<br />
die die eigentlichen Inhalte und sonstige Elemente bzw. Werbung aufnehmen.<br />
www.brain-media.<strong>de</strong>
Dreamweaver Template Buil<strong>de</strong>r Extension 121<br />
Das Plugin stellt seine Funktionen über die MamboOS-Leiste<br />
und das Menü Einfügen zur Verfügung.<br />
Dazu führen wir in Dreamweaver <strong>de</strong>n Befehl Datei> Neu aus. Auf <strong>de</strong>m zugehörigen<br />
Dialog Neues Dokument wählt man aus <strong>de</strong>m Register Allgemein die Kategorie<br />
Dynamische Seite und im rechten dazugehörigen Auswahlfeld <strong>de</strong>n Dokumententyp<br />
PHP.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
122 Template-Entwicklung<br />
Die neue Mambo-Vorlage in <strong>de</strong>r Entstehung.<br />
Dreamweaver erzeugt das neue Dokument. Nun wechselt man in die Co<strong>de</strong>-<br />
Ansicht. Das neue Dokument besitzt standardmäßig zwölf Zeilen. Hier markiert<br />
man die Zeilen 1 bis 5 (siehe nachstehen<strong>de</strong>s Beispiel) und entfernt diese aus <strong>de</strong>m<br />
Dokument:<br />
<br />
<br />
<br />
Unbenanntes Dokument<br />
<br />
<br />
<br />
www.brain-media.<strong>de</strong>
Dreamweaver Template Buil<strong>de</strong>r Extension 123<br />
<br />
<br />
Nach <strong>de</strong>m Entfernen <strong>de</strong>s Head-Co<strong>de</strong>blocks aktiviert man die MamboOS-<br />
Symbolleiste, positioniert <strong>de</strong>n Mauszeiger in <strong>de</strong>r ersten Spalte und klickt dann auf<br />
Insert Head Co<strong>de</strong>. Es han<strong>de</strong>lt sich um die siebte Schaltfläche von rechts. Dabei<br />
wird in <strong>de</strong>r Co<strong>de</strong>-Ansicht folgen<strong>de</strong>r Co<strong>de</strong>-Block eingefügt:<br />
<br />
<br />
<br />
<br />
124 Template-Entwicklung<br />
/**<br />
* template_name - Mambo 4.x template<br />
* @mambo version 4.6<br />
* @copyright (C) 2005 by Ihr_Name_Hier<br />
* @erstellt am 20.01.05<br />
* @letzte aktualisierung am 25.01.05<br />
* @lizenz-info<br />
*/<br />
<strong>de</strong>fined …<br />
6.2 Template-Gestaltung<br />
Nun wechseln Sie wie<strong>de</strong>r in die Entwurfsansicht. Dreamweaver präsentiert einen<br />
nackten Arbeitsbereich. Hier fügen wir nun eine Tabelle mit drei Spalten ein, die<br />
es dann mit Leben zu füllen gilt. Zunächst erzeugen wir drei einzelne Tabellen<br />
untereinan<strong>de</strong>r. Auf das Warum kommen wir noch zu sprechen. Die drei Tabellen<br />
müssen die gleiche Breite besitzen, beispielsweise 800 Pixel. Außer<strong>de</strong>m sollten sie<br />
einzeilig angelegt sein.<br />
In die mittlere Tabelle wird eine verschachtelte Tabelle eingefügt.<br />
www.brain-media.<strong>de</strong>
Template-Gestaltung 125<br />
Tabellen fügen Sie in Dreamweaver über das Einfügen-Menü ein o<strong>de</strong>r aber durch<br />
einen Klick auf das Tabellensymbol in <strong>de</strong>r Standardsymbolleiste. Im Dialog Tabelle<br />
legen wir die Eigenschaften <strong>de</strong>r Tabelle fest. In die mittlere Tabelle fügen wir<br />
eine weitere Tabelle ein, die eine Zeile und drei Spalten aufweist. Damit die Umsetzung<br />
<strong>de</strong>utlicher wird, verwen<strong>de</strong>n wir einen Tabellenrahmen. Das erleichtert das<br />
Nachvollziehen anhand <strong>de</strong>s Screenshots. In <strong>de</strong>r Praxis sollte man auf <strong>de</strong>rlei „Gestaltungsmittel“<br />
natürlich verzichten.<br />
Als Nächstes widmen wir uns <strong>de</strong>r dreispaltigen Tabelle, die wir in die mittlere<br />
Tabelle eingefügt haben. Hier wer<strong>de</strong>n später die Inhalte zu sehen sein. Dazu passen<br />
wir die Breite <strong>de</strong>r einzelnen Spalten mit <strong>de</strong>m Eigenschafteninspektor an. Die linke<br />
Spalte könnte beispielsweise auf eine Breite von 150 Pixeln und die rechte auf eine<br />
Breite von 100 Pixeln gesetzt wer<strong>de</strong>n.<br />
Über die von Dreamweaver bereitgestellten Tabellenfunktionen ist man sehr flexibel,<br />
was die Anpassung <strong>de</strong>r Breite angeht. Mit <strong>de</strong>r Anpassung an die jeweiligen<br />
Anfor<strong>de</strong>rungen sind die wesentlichen gestalterischen Aufgaben erledigt.<br />
Das Seitenlayout für die neue <strong>Joomla</strong>!-Vorlage steht.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
126 Template-Entwicklung<br />
Als Nächstes gilt es, das Vorlagendokument mithilfe <strong>de</strong>r von <strong>de</strong>r MamboOS-Leiste<br />
bereitgestellten Funktionen mit Mambo-spezifischem Co<strong>de</strong> zu füllen. Dazu klicken<br />
Sie mit <strong>de</strong>m Mauszeiger zunächst in <strong>de</strong>n mittleren Tabellenbereich <strong>de</strong>r eingebetteten<br />
Tabelle. Dort klicken Sie in <strong>de</strong>r Leiste auf das Main-Body-Sinnbild. Es han<strong>de</strong>lt<br />
sich auf <strong>de</strong>r MamboOS-Leiste um die fünfte Schaltfläche von links. Dreamweaver<br />
zeigt <strong>de</strong>n eingefügten Co<strong>de</strong> im Eigenschafteninspektor an.<br />
Der Co<strong>de</strong> für <strong>de</strong>n Main Body wird eingefügt.<br />
Mit <strong>de</strong>m nächsten Schritt widmen wir uns <strong>de</strong>r linken Spalte <strong>de</strong>r eingebetteten Tabelle.<br />
Auch hier setzen wir <strong>de</strong>n Cursor zunächst in die linke Spalte. Klicken Sie in<br />
<strong>de</strong>r MamboOS-Leiste auf die Schaltfläche Insert Left Modules. Damit ist festgelegt,<br />
dass Mambo diesen Tabellenteil als linksseitig erkennt und Funktionen, <strong>de</strong>nen<br />
man die linke Spalte zuweist, hier einfügt. Der zugehörige Co<strong>de</strong>-Schnipsel sieht<br />
übrigens wie folgt aus:<br />
mosLoadModules ( 'left' )<br />
Wollen Sie im linken Bereich ein typisches User-Modul einfügen, so setzen Sie<br />
<strong>de</strong>n Cursor unter das zuvor erzeugte Modul und klicken auf die Schaltfläche<br />
User1. Die zugehörige Co<strong>de</strong>-Zeile sieht wie folgt aus:<br />
mosLoadModules ( 'user1' )<br />
Entsprechend gehen Sie mit <strong>de</strong>r rechten Spalte vor. Auch diese muss für das Mambo-CMS<br />
erst einmal als rechte Spalte durch das Einfügen <strong>de</strong>s Right-Moduls gekennzeichnet<br />
wer<strong>de</strong>n. Dazu platzieren Sie <strong>de</strong>n Mauszeiger in <strong>de</strong>r rechten Spalte<br />
und klicken dann auf Insert Rights Modules. Das zugehörige Kommando lautet:<br />
mosLoadModules ( 'right' )<br />
www.brain-media.<strong>de</strong>
Template-Gestaltung 127<br />
Wollen Sie nun beispielsweise in <strong>de</strong>r rechten Spalte die Suchfunktion platzieren, so<br />
setzen Sie <strong>de</strong>n Cursor unter das zuvor erzeugte Modul und klicken in <strong>de</strong>r<br />
MamboOS-Symbolleiste auf Insert Search. Der gesamte Quellco<strong>de</strong> <strong>de</strong>r eingebetteten<br />
Tabelle samt <strong>de</strong>n eingebetteten Mambo-Funktionen sieht dann wie folgt aus:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Hier soll die Navigationsleiste<br />
eingefügt wer<strong>de</strong>n. <br />
<br />
<br />
<br />
In <strong>de</strong>n mittleren Tabellenblock wer<strong>de</strong>n<br />
später die eigentlichen Inhalte<br />
einfügt.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
128 Template-Entwicklung<br />
_SEARCH_BOX; ?>';" onfo-cus="if(this.value=='') this.value='';" /><br />
<br />
etc. <br />
<br />
<br />
<br />
<br />
Hier ist Platz für weitere Infos, Werbung<br />
<br />
<br />
<br />
<br />
<br />
Natürlich können Sie die <strong>Joomla</strong>!-relevanten Co<strong>de</strong>-Schnipsel auch mit je<strong>de</strong>m an<strong>de</strong>ren<br />
Editor in das PHP-Dokument einfügen. Beson<strong>de</strong>rs einfach ist es natürlich mit<br />
<strong>de</strong>r von Dreamweaver bereitgestellten Symbolleiste.<br />
Nachstehen<strong>de</strong> Tabelle fasst wichtige Schnipsel und ihre Funktion zusammen. Es<br />
sei angemerkt, dass wir oben nicht alle möglichen Mambo-spezifischen Funktionen<br />
eingefügt haben:<br />
Template-Co<strong>de</strong><br />
<br />
<br />
<br />
<br />
<br />
<br />
Beschreibung<br />
Fügt die Komponente Banner ein.<br />
Dient <strong>de</strong>m Einfügen <strong>de</strong>s Seitennamens.<br />
Zeigt <strong>de</strong>n aktuellen Pfad <strong>de</strong>r geöffneten<br />
Seite an.<br />
Definiert alle Module, die im Bereich<br />
top angezeigt wer<strong>de</strong>n sollen.<br />
Legt fest, welche Module im Bereich<br />
left angezeigt wer<strong>de</strong>n sollen.<br />
Bestimmt alle Module, die im Bereich<br />
right angezeigt wer<strong>de</strong>n sollen.<br />
www.brain-media.<strong>de</strong>
Template-Gestaltung 129<br />
Template-Co<strong>de</strong><br />
Beschreibung<br />
Definiert, wo die Module im Bereich<br />
user1 angezeigt wer<strong>de</strong>n sollen.<br />
<br />
<br />
<br />
<br />
inclu<strong>de</strong>_once("mainbody.php");<br />
Bestimmt, wo die Module im Bereich<br />
user2 angezeigt wer<strong>de</strong>n sollen.<br />
Legt fest, wo die Module im Bereich<br />
bottom angezeigt wer<strong>de</strong>n.<br />
Definiert, wo die Module im Bereich<br />
insert angezeigt wer<strong>de</strong>n.<br />
Hiermit legt man <strong>de</strong>n eigentlichen Teil<br />
für die Inhalte fest.<br />
Damit sind die wichtigsten Elemente genannt. Und hier die dazugehörige Entwurfsansicht:<br />
Die Entwurfsansicht samt <strong>de</strong>n bislang eingebetteten Mambo-Modulen.<br />
Für die Ausrichtung <strong>de</strong>r Module können Sie die bekannten Ausrichtungsfunktionen<br />
von Dreamweaver verwen<strong>de</strong>n. Sie können die oben eingefügten Elemente beispielsweise<br />
durch Markieren und anschließen<strong>de</strong> Anwendung <strong>de</strong>r Befehle linksbündig,<br />
rechtsbündig o<strong>de</strong>r mittig positionieren.<br />
Wen<strong>de</strong>n wir uns im nächsten Schritt <strong>de</strong>r Gestaltung <strong>de</strong>r Kopf- und Fußtabelle zu.<br />
Zuerst ist die Kopfzeile dran. Hier bringen wir zwei Elemente unter. Zum einen ist<br />
das <strong>de</strong>r so genannte Pathway und zum an<strong>de</strong>ren eine Datumsanzeige. Hinter <strong>de</strong>r<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
130 Template-Entwicklung<br />
Pathway-Grafik verbirgt sich eine Funktion für die bessere Navigation in einer<br />
<strong>Joomla</strong>!-basierten Website. Sie dient <strong>de</strong>r Orientierung und zeigt an, wo man sich<br />
innerhalb einer Website gera<strong>de</strong> befin<strong>de</strong>t.<br />
Damit diese bei<strong>de</strong>n Elemente in <strong>de</strong>r Kopfzeile untergebracht wer<strong>de</strong>n können, teilen<br />
wir die obere Tabelle in zwei Spalten auf. Die weiteren Aktionen kennen wir bereits:<br />
Wir setzen <strong>de</strong>n Mauszeiger in die jeweilige Tabellenspalte und klicken dann<br />
in <strong>de</strong>r MamboOS-Symbolleiste auf das zugehörige Sinnbild. Nach<strong>de</strong>m wir <strong>de</strong>n<br />
Pathway und das Datum eingefügt haben, präsentiert sich uns das in nachstehen<strong>de</strong>r<br />
Abbildung dargestellte Layout. Entsprechend geht man mit <strong>de</strong>r Tabelle am Fuße<br />
<strong>de</strong>s Dokuments vor. Hier platzieren Sie beispielsweise <strong>de</strong>n Footer- o<strong>de</strong>r Buttom-<br />
Bereich.<br />
Das eigene Design nimmt allmählich Form an – zumin<strong>de</strong>st funktional.<br />
Nun speichern Sie die Daten als in<strong>de</strong>x.php. Damit ist <strong>de</strong>r erste wichtige Schritt für<br />
die Entwicklung eines <strong>Joomla</strong>!-Templates abgeschlossen.<br />
www.brain-media.<strong>de</strong>
Template-Verzeichnisstruktur 131<br />
6.3 Template-Verzeichnisstruktur<br />
Mambo verlangt für die Template-Verwendung eine bestimmte Verzeichnisstruktur.<br />
Diese muss als Nächstes mit <strong>de</strong>n erfor<strong>de</strong>rlichen Dateien erzeugt wer<strong>de</strong>n. Die<br />
Struktur sieht wie folgt aus:<br />
Templates-Ordner<br />
---Ordner_Name_eigene_templates<br />
--in<strong>de</strong>x.php<br />
--templateDetails.xml<br />
--template_thumbnail.png<br />
---css-Ordner<br />
---template_css.css<br />
---images<br />
Es wer<strong>de</strong>n also folgen<strong>de</strong> Dateien benötigt:<br />
- in<strong>de</strong>x.php: Diese Datei ist das eigentliche Template, das wir mit <strong>de</strong>n obigen<br />
Schritten erzeugt haben. In unserem Beispiel han<strong>de</strong>lt es sich um die<br />
einfachen Tabellen samt <strong>de</strong>n Bereichszuordnungen. Sie wird im Ordner<br />
template_name abgelegt.<br />
- templateDetails.xml: In diesem XML-Dokument sind Meta-<br />
Informationen sowie die Installationsanweisungen hinterlegt. Auch diese<br />
Datei wird im Ordner template_name abgelegt.<br />
- template_css.css: In diesem Stylesheet wird das Aussehen <strong>de</strong>s Templates<br />
<strong>de</strong>finiert. Es wird im Ordner css abgelegt.<br />
Außer<strong>de</strong>m muss ein Ordner mit <strong>de</strong>r Bezeichnung images erzeugt wer<strong>de</strong>n. Hier<br />
legen Sie die Grafiken im JPG-, GIF- o<strong>de</strong>r PNG-Format für Hintergrün<strong>de</strong> und<br />
Logos ab. Außer<strong>de</strong>m empfiehlt es sich, die Datei template_thumbnail.png zu erzeugen.<br />
Sie dient als Vorschau.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
132 Template-Entwicklung<br />
6.4 XML-basierte Template-Beschreibung<br />
Wen<strong>de</strong>n wir uns <strong>de</strong>r XML-basierten Template-Beschreibung zu. Zwingend erfor<strong>de</strong>rlich<br />
ist die Erstellung einer XML-Datei, in <strong>de</strong>r die Details zur Vorlage hinterlegt<br />
sind. Nachfolgend ist ein Beispiel für eine templateDetails.xml dargestellt.<br />
XML-Kommentare erläutern die Details.<br />
<br />
<br />
<br />
EigenerTemplateName<br />
<br />
20. Januar 2005<br />
<br />
Dr. Holger Reibold<br />
<br />
Dieses Template unterliegt <strong>de</strong>r GPL <br />
<br />
holger@reibold.<strong>de</strong><br />
<br />
www.reibold.<strong>de</strong><br />
<br />
1.0<br />
www.brain-media.<strong>de</strong>
XML-basierte Template-Beschreibung 133<br />
<br />
Beschreibung <strong>de</strong>s Template<br />
<br />
<br />
in<strong>de</strong>x.php<br />
<br />
template_thumbnail.png<br />
<br />
<br />
<br />
images/grafik1.jpg<br />
<br />
images/grafik2.jpg<br />
<br />
<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
134 Template-Entwicklung<br />
css/template_css.css<br />
<br />
<br />
<br />
6.5 Hea<strong>de</strong>r hinzufügen<br />
Die meisten Websites – zumin<strong>de</strong>st die kommerziellen – ziert im Kopf eine Hea<strong>de</strong>r-<br />
Grafik. Dort fin<strong>de</strong>t man meist das Firmen- o<strong>de</strong>r Website-Logo. Ein Klick auf das<br />
Logo führt <strong>de</strong>n Anwen<strong>de</strong>r in <strong>de</strong>r Regel zur Einstiegsseite zurück. Um einen solchen<br />
Hea<strong>de</strong>r einzufügen, muss er natürlich zuerst erstellt wor<strong>de</strong>n sein. Hier bedient<br />
man sich gängiger Grafikprogramme wie Gimp, Fireworks & Co.<br />
Entspricht die Hea<strong>de</strong>r-Grafik <strong>de</strong>n jeweiligen Anfor<strong>de</strong>rungen, so speichern Sie diese<br />
beispielsweise als hea<strong>de</strong>r.png im Ordner images. Der Rest ist einfach: Man bin<strong>de</strong>t<br />
die Grafik einfach mit <strong>de</strong>m Webeditor ein. Nachstehen<strong>de</strong> Abbildung zeigt, wie es<br />
in Dreamweaver aussehen könnte.<br />
Ein Beispiel für eine eingefügte Hea<strong>de</strong>r-Grafik.<br />
www.brain-media.<strong>de</strong>
Flash-Animation einbin<strong>de</strong>n 135<br />
6.6 Flash-Animation einbin<strong>de</strong>n<br />
Eine weitere wichtige Anfor<strong>de</strong>rung an ein Mambo-Template ist die Einbindung<br />
eines Flash-Objekts. Beim Einfügen ist darauf zu achten, dass man einen relativen<br />
Pfad zu <strong>de</strong>m Flash-Objekt verwen<strong>de</strong>t. Das Flash-Objekt mit <strong>de</strong>r Dateierweiterung<br />
SWF legt man am besten im Ordner images ab.<br />
Hier ein Beispiel für das Einbin<strong>de</strong>n <strong>de</strong>r Flash-Animation:<br />
<br />
<br />
<br />
<br />
<br />
Soll die Animation nur einmal abgespielt wer<strong>de</strong>n, so fügt man folgen<strong>de</strong>n Co<strong>de</strong><br />
zum ersten Frame hinzu:<br />
function checkSO()<br />
{<br />
var SO = SharedObject.getLocal("siteSO");<br />
if(SO.data.visitedAlready)<br />
{<br />
gotoAndPlay("end");<br />
}<br />
else<br />
{<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
136 Template-Entwicklung<br />
SO.data.visitedAlready = true;<br />
SO.flush();<br />
}<br />
}<br />
checkSO();<br />
Im letzten Frame muss ein Label mit <strong>de</strong>r Bezeichnung end erzeugt wer<strong>de</strong>n.<br />
Durch die Verwendung von CSS und die damit verbun<strong>de</strong>ne Trennung von Layout<br />
und Inhalt vereinfacht sich die Pflege von <strong>Joomla</strong>!-basierten Sites spürbar. Mithilfe<br />
von CSS weist man typischen HTML-Elementen individuelle Merkmale zu. Diese<br />
Formatierungsanweisungen wer<strong>de</strong>n in <strong>de</strong>r oben erwähnten Datei (template_css.css)<br />
hinterlegt und per Hyperlink mit <strong>de</strong>n eigentlichen Inhalten (in<strong>de</strong>x.php) verknüpft.<br />
Die Verwendung von CSS bringt einen weiteren Vorteil: Für <strong>de</strong>n Entwickler ist<br />
ausreichend Platz, sich mit <strong>de</strong>n verschie<strong>de</strong>nsten Gestaltungsmitteln auszutoben.<br />
Die Referenzierung aus <strong>de</strong>m Template in<strong>de</strong>x.php sieht wie folgt aus:<br />
Template installieren 137<br />
Die Format<strong>de</strong>finitionen wer<strong>de</strong>n in so genannten Klassen zusammengefasst. Diese<br />
wer<strong>de</strong>n durch einen Punkt und <strong>de</strong>n Klassennamen <strong>de</strong>finiert. Hier ein Beispiel für<br />
Inhalte, die mit einem Hyperlink versehen sind:<br />
a.contentpagetitle:hover {<br />
font-family: Tahoma, Verdana, Arial, Helvetica, sansserif;<br />
}<br />
font-size: 13px;<br />
font-weight: bold;<br />
text-align:left;<br />
color: #7B8DA1;<br />
text-<strong>de</strong>coration: un<strong>de</strong>rline;<br />
font-weight: bold;<br />
6.8 Template installieren<br />
Da Sie das Template, das Stylesheet, die XML-Datei und die Grafiken zusammengetragen<br />
haben, machen Sie sich an die Installation <strong>de</strong>s Templates. Prinzipiell gibt<br />
es zwei Möglichkeiten:<br />
• Metho<strong>de</strong> 1: Sie installieren das Template ordnungsgemäß über das Backend.<br />
Dazu erstellen Sie ein Template-Archiv und installieren die Vorlage<br />
mit <strong>de</strong>m Befehl Installers> Templates Site.<br />
• Metho<strong>de</strong> 2: Sie kopieren die Dateien manuell in das Template-<br />
Verzeichnis.<br />
Nach <strong>de</strong>r Installation bzw. <strong>de</strong>m manuellen Upload sollten Sie dann die geleistete<br />
Arbeit begutachten, die verschie<strong>de</strong>nen Elemente neu o<strong>de</strong>r an<strong>de</strong>rs positionieren etc.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
138 <strong>Joomla</strong>! barrierefrei<br />
www.brain-media.<strong>de</strong>
Einleitung 139<br />
7 <strong>Joomla</strong>! barrierefrei<br />
<strong>Joomla</strong>! ist in <strong>de</strong>n letzten Jahren von einem kleinen Open-Source-Projekt zu einem<br />
mehrfach preisgekrönten Content-Managementsystem gewachsen und begeistert<br />
mittlerweile private Nutzer, Fachpresse sowie professionelle Anwen<strong>de</strong>r gleichermaßen.<br />
Ein Grund dafür ist, dass sich <strong>Joomla</strong>! mithilfe zahlreicher Drittanbieterkomponenten<br />
und seiner modularen Architektur beson<strong>de</strong>rs gut an verschie<strong>de</strong>nste<br />
Anfor<strong>de</strong>rungen anpassen lässt. Ob sich das System jedoch auch für die Umsetzung<br />
barrierefreier Webauftritte nach <strong>de</strong>n aktuellen gesetzlichen Anfor<strong>de</strong>rungen eignet<br />
und welche Vorteile eine barrierearme Webpräsenz generell mit sich bringt, soll<br />
dieses Kapitel aufzeigen. Dazu wer<strong>de</strong>n zunächst einige allgemeine Erläuterungen<br />
zum barrierefreien Web<strong>de</strong>sign vorgenommen und darauf aufbauend anhand einer<br />
Beispielwebsite die Umsetzungsmöglichkeiten einer barrierearmen Webpräsenz<br />
auf <strong>Joomla</strong>!-Basis getestet.<br />
7.1 Einleitung<br />
Das Internet hat sich im Laufe <strong>de</strong>s letzten Jahrzehnts zu <strong>de</strong>m Kommunikationsmedium<br />
schlechthin entwickelt. In vielen Lebensbereichen fin<strong>de</strong>n wir Hinweise auf<br />
webbasierte Informationsangebote, und eine Reihe von alltäglichen Dienstleistungen<br />
wie beispielsweise das Online-Banking o<strong>de</strong>r <strong>de</strong>r Kauf von Waren über webbasierte<br />
Auktionsplattformen sind mittlerweile gebräuchliche Anwendungen. Das<br />
Web als umfassen<strong>de</strong>r Informations- und Wissensspeicher hat traditionelle Informationssysteme<br />
oft nicht nur ergänzt, son<strong>de</strong>rn vollständig abgelöst. Mobile Endgeräte,<br />
WLAN-Hotspots und eine steigen<strong>de</strong> Zahl an breitbandigen Internetzugängen machen<br />
das Internet nahezu überall verfügbar und haben für einen grundlegen<strong>de</strong>n<br />
Wan<strong>de</strong>l sowohl im wirtschaftlichen als auch im persönlichen Umfeld gesorgt.<br />
Aktualität, grenzenlose Verbreitung und ständige Verfügbarkeit sind die Vorteile<br />
einer Technologie, die aus <strong>de</strong>m alltäglichen Leben nicht mehr wegzu<strong>de</strong>nken ist.<br />
Für gehandicapte Menschen trifft dies im beson<strong>de</strong>ren Maße zu. Nicht selten dient<br />
ihnen das Internet als einzig wirklich aktuelles Informationsmedium und ermöglicht<br />
erst mit seiner Existenz die erweiterte Teilnahme am gesellschaftlichen Leben.<br />
Derzeit sind in etwa 8% (entsprechend ca. 6,7 Millionen Menschen) <strong>de</strong>r <strong>de</strong>utschen<br />
Bevölkerung schwerbehin<strong>de</strong>rt, eine Reihe weiterer Bevölkerungsgruppen hat<br />
leichte Behin<strong>de</strong>rungen, wie Sehschwierigkeiten o<strong>de</strong>r motorische und kognitive<br />
Einschränkungen. Innerhalb <strong>de</strong>r EU wird von circa 37 bis 40 Millionen Menschen<br />
mit Behin<strong>de</strong>rung ausgegangen. Hinzu kommt die steigen<strong>de</strong> Zahl an älteren Perso-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
140 <strong>Joomla</strong>! barrierefrei<br />
nen, so genannten Silversurfern, die das Internet als Informations- und Kommunikationsmedium<br />
für sich ent<strong>de</strong>cken. Dies belegt eine repräsentative Studie von TNS<br />
Infratest aus <strong>de</strong>m Jahr 2005, nach <strong>de</strong>r circa 30 Prozent <strong>de</strong>r 60- bis 69-Jährigen das<br />
Internet regelmäßig nutzen, Ten<strong>de</strong>nz steigend. Auch diese Nutzer, häufig noch<br />
nicht vollständig mit <strong>de</strong>r Technologie vertraut, besitzen in <strong>de</strong>r Regel eine Reihe<br />
unterschiedlicher Ausprägungen an technischen und körperlichen Einschränkungen.<br />
Auch wenn es darüber hinaus keine verlässlichen statistischen Daten zum zahlenmäßigen<br />
Umfang gehandicapter Internetnutzer und <strong>de</strong>ren anteiliger Verteilung auf<br />
die verschie<strong>de</strong>nen Arten von Behin<strong>de</strong>rung gibt, wird klar, dass ein nicht unbeträchtlicher<br />
Teil von barrierefreier Webtechnologie profitiert. Denn was <strong>de</strong>m normal<br />
versierten Benutzer als selbstverständliche, leicht bedienbare und optisch<br />
schnell aufnehmbare Anwendung erscheint, kann schon bei geringen körperlichen<br />
o<strong>de</strong>r technischen Handicaps zu einer unüberwindlichen Barriere wer<strong>de</strong>n. Nicht<br />
selten stehen einige Nutzergruppen schon auf <strong>de</strong>r Startseite eines Webangebotes<br />
sprichwörtlich vor verschlossenen Türen. Dies kann sowohl an <strong>de</strong>r Verwendung<br />
kritischer Programmiertechniken wie beispielsweise <strong>de</strong>m übermäßigen Einsatz von<br />
Javascript liegen o<strong>de</strong>r auch durch die Nutzung von Präsentationsformaten bedingt<br />
sein, welche beson<strong>de</strong>re Plugins benötigen, um korrekt wie<strong>de</strong>rgegeben zu wer<strong>de</strong>n.<br />
Über die oft ungenügen<strong>de</strong> Verwendung von Webstandards, veralteten Layout-<br />
Techniken hinweg und in Anbetracht <strong>de</strong>r verschie<strong>de</strong>nen menschlichen Wahrnehmungsbedingungen<br />
steigt die Zahl <strong>de</strong>r möglichen Barrieren weiter. All dies trägt<br />
dazu bei, dass eine <strong>de</strong>r wichtigsten Informationsquellen unseres Zeitalters für einige<br />
Nutzergruppen nur schwer o<strong>de</strong>r im negativsten aller Fälle nicht zugänglich ist.<br />
7.1.1 Nutzergruppen<br />
Im Gegensatz zu <strong>de</strong>n gängigen abgegrenzten Klassifizierungen von relevanten<br />
Nutzergruppen hat es sich als viel realistischer herausgestellt, Nutzertypen mit<br />
ihren vielfältigen Eigenschaften, Fähigkeiten und Anfor<strong>de</strong>rungen in die Erarbeitung<br />
von Nutzerbil<strong>de</strong>rn einfließen zu lassen. Dabei sollte im Rahmen eines universellen<br />
Designs beachtet wer<strong>de</strong>n, dass sowohl Menschen mit Behin<strong>de</strong>rung als auch<br />
Nutzer ohne ein beson<strong>de</strong>res Handicap von einer barrierearmen Gestaltung eines<br />
Informationsangebotes profitieren. Zugänglichkeit und Gebrauchstauglichkeit sind<br />
die Schlagworte einer im Sinne <strong>de</strong>s universellen Designs betrachteten Metho<strong>de</strong>,<br />
Informationen einer möglichst maximalen Basis an Nutzern ohne Barrieren zugänglich<br />
zu machen. Trotz dieser heterogenen Nutzerschichten kann grob eine<br />
Unterscheidung hinsichtlich <strong>de</strong>r mit spezifischen Behin<strong>de</strong>rungen in Zusammenhang<br />
stehen<strong>de</strong>n Barrieren getroffen wer<strong>de</strong>n. Innerhalb dieses Definitionsversuchs<br />
haben sich für folgen<strong>de</strong> Arten <strong>de</strong>r Behin<strong>de</strong>rung ähnliche Anfor<strong>de</strong>rungsprofile an<br />
www.brain-media.<strong>de</strong>
Einleitung 141<br />
zugängliche Informationsangebote etabliert (in Anlehnung an Schulte, B. „Zielgruppen<br />
für barrierefreies Internet“ in IWP Son<strong>de</strong>rheft 2005, Seite 406-408):<br />
• Blindheit<br />
• Sehbehin<strong>de</strong>rung<br />
• Motorische Beeinträchtigungen<br />
• Hörbeeinträchtigungen<br />
• Lernschwierigkeiten<br />
• Sprachprobleme<br />
• Alterserscheinungen<br />
• Mangeln<strong>de</strong> Leseerfahrung und Ungeduld<br />
Auf <strong>de</strong>r Grundlage dieser Anfor<strong>de</strong>rungsprofile und unter <strong>de</strong>r Maßgabe <strong>de</strong>r von <strong>de</strong>n<br />
jeweiligen Nutzern verwen<strong>de</strong>ten Hilfstechnologien, wie Vergrößerungswerkzeuge,<br />
Screenrea<strong>de</strong>r o<strong>de</strong>r an<strong>de</strong>rer assistiver Techniken, sind generelle Anfor<strong>de</strong>rungen an<br />
ein barrierearmes Web<strong>de</strong>sign ableitbar.<br />
7.1.2 Gesetzliche Anfor<strong>de</strong>rungs<strong>de</strong>finitionen<br />
Um diesen Profilanfor<strong>de</strong>rungen gerecht zu wer<strong>de</strong>n, entwickelte das World Wi<strong>de</strong><br />
Web Consortium (W3C) schon im Jahre 1999 Richtlinien für zugängliche und<br />
standardkonforme Web-Angebote. Die unter <strong>de</strong>n Web Content Accessibility<br />
Gui<strong>de</strong>lines (WCAG) bekannten Anfor<strong>de</strong>rungen an barrierefreie Internetpräsenzen<br />
fan<strong>de</strong>n lange Zeit international und auch in Deutschland nur sporadisch Anwendung.<br />
Dies än<strong>de</strong>rte sich zumin<strong>de</strong>st in Deutschland im Jahr 2002, als mit <strong>de</strong>r Verabschiedung<br />
<strong>de</strong>s Behin<strong>de</strong>rtengleichstellungsgesetzes (BGG) die For<strong>de</strong>rungen nach<br />
allgemeiner Zugänglichkeit und Gebrauchstauglichkeit von öffentlichen Angeboten<br />
erstmals unter <strong>de</strong>m Begriff <strong>de</strong>r Barrierefreiheit geson<strong>de</strong>rt gesetzlich verankert<br />
und zu einer verbindlichen Norm erklärt wur<strong>de</strong>n.<br />
Der Begriff <strong>de</strong>r Barrierefreiheit ist nach <strong>de</strong>m Behin<strong>de</strong>rtengleichstellungsgesetz<br />
grundsätzlich mit <strong>de</strong>r Maßgabe verbun<strong>de</strong>n, dass alle Lebensbereiche so gestaltet<br />
wer<strong>de</strong>n müssen, dass behin<strong>de</strong>rte Menschen gleiche Chancen haben, Dienstleistungen,<br />
Gebrauchsgüter und Informationsangebote in „allgemein üblicher Weise“ zu<br />
nutzen. Dies schließt sowohl Menschen mit körperlichen Behin<strong>de</strong>rungen als auch<br />
Benutzer mit technischen o<strong>de</strong>r altersbedingten Einschränkungen ein. Das Gesetz<br />
möchte weiterhin „ausgrenzen<strong>de</strong>n Bedingungen“ und „baulichen und kommunika-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
142 <strong>Joomla</strong>! barrierefrei<br />
tiven Barrieren“ entgegenwirken und zur Vermeidung von Diskriminierung beitragen.<br />
Als nicht barrierefrei wer<strong>de</strong>n danach alle Son<strong>de</strong>rlösungen, wie alternativ angebotene<br />
Zugangswege o<strong>de</strong>r Zugänge, die einen längeren Umweg erfor<strong>de</strong>rn, bezeichnet,<br />
da diese nicht <strong>de</strong>m Grundsatz <strong>de</strong>s „universellen Designs“ entsprechen.<br />
Das Gesetz schließt in seinem Geltungsbereich die Informationstechnik explizit<br />
ein, verweist aber im Sinne <strong>de</strong>r technischen und inhaltlichen Ausgestaltung an die<br />
zugehörige Rechtsverordnung.<br />
Mit Hilfe <strong>de</strong>r im gleichen Jahr verabschie<strong>de</strong>ten Barrierefreien Informationstechnik-<br />
Verordnung (BITV) wur<strong>de</strong>n die Kriterien für barrierefreie Informationsangebote<br />
näher spezifiziert und anhand technischer Standards festgelegt. Die Verordnung<br />
schließt in ihrem Geltungsbereich zunächst öffentliche Webauftritte und mittels<br />
Informationstechnik realisierte grafische Programmoberflächen, die öffentlich<br />
zugänglich sind, rechtsverbindlich ein und regelt in ihrem dreiteiligen Aufbau<br />
neben <strong>de</strong>m sachlichen Geltungsbereich zu<strong>de</strong>m die jeweils gelten<strong>de</strong>n Umsetzungsfristen.<br />
In <strong>de</strong>r Anlage 1 <strong>de</strong>r Verordnung wer<strong>de</strong>n die technischen Notwendigkeiten<br />
an <strong>de</strong>rartige Informationsangebote innerhalb zweier Prioritätsstufen verankert.<br />
Dabei leiten sich die enthaltenen Kriterien und Bedingungen aus <strong>de</strong>n Anfor<strong>de</strong>rungen<br />
<strong>de</strong>r Web Content Accessibility Gui<strong>de</strong>lines (WCAG) aus <strong>de</strong>m Jahre 1999 ab,<br />
fassen aber hinsichtlich einer stärkeren Nutzerorientierung die Stufen 1 und 2 <strong>de</strong>r<br />
WCAG zur Prioritätsstufe 1 innerhalb <strong>de</strong>r BITV zusammen.<br />
Innerhalb <strong>de</strong>r zeitlichen Umsetzungsfristen unterschei<strong>de</strong>t die Verordnung zwischen<br />
bereits bestehen<strong>de</strong>n, neu gestalteten und sich speziell an behin<strong>de</strong>rte Menschen<br />
richten<strong>de</strong>n öffentlichen Web-Angeboten auf Bun<strong>de</strong>sebene. Mussten sich die bei<strong>de</strong>n<br />
letztgenannten bereits viel eher an obigen Anfor<strong>de</strong>rungen orientieren, so gelten<br />
diese Normen erst seit <strong>de</strong>m 31. Dezember 2005 auch für alle bereits bestehen<strong>de</strong>n<br />
Internetangebote <strong>de</strong>s Bun<strong>de</strong>s. Web-Angebote auf Län<strong>de</strong>r- und Kommunalebene<br />
wur<strong>de</strong>n zunächst insoweit von <strong>de</strong>r Umsetzung <strong>de</strong>r BITV nicht eingeschlossen, als<br />
die Pflicht <strong>de</strong>r Umsetzung eines eigenständigen Lan<strong>de</strong>sgleichstellungsgesetzes<br />
bedarf. In <strong>de</strong>r Mehrzahl aller Bun<strong>de</strong>slän<strong>de</strong>r wur<strong>de</strong>n die Anfor<strong>de</strong>rungen <strong>de</strong>r BITV<br />
bereits entsprechend übernommen und gelten damit weitestgehend analog. Ebenso<br />
privatwirtschaftliche Anbieter von öffentlich zugänglichen Informationsangeboten<br />
wer<strong>de</strong>n zunächst von <strong>de</strong>n Umsetzungspflichten <strong>de</strong>r BITV und <strong>de</strong>s BGG nicht eingeschlossen.<br />
Über § 5 <strong>de</strong>s BGG hat die Bun<strong>de</strong>sregierung jedoch auf eine Umsetzung<br />
auch im Bereich <strong>de</strong>r Privatwirtschaft hinzuwirken.<br />
7.1.3 Accessibility und Usability<br />
Barrierefreie Web-Auftritte bezeichnen somit nach <strong>de</strong>r BITV Informationsangebote,<br />
welche zunächst einmal auf rein technischer Ebene <strong>de</strong>n Kriterien <strong>de</strong>r Zugänglichkeit<br />
(engl. Accessibility) entsprechen. Die BITV geht aber in einer Reihe von<br />
www.brain-media.<strong>de</strong>
Einleitung 143<br />
Bedingungen über diese technischen Anfor<strong>de</strong>rungen hinaus, um auch individuellen<br />
und von Nutzer zu Nutzer unterschiedlichen Barrieren gerecht zu wer<strong>de</strong>n. Diese<br />
unter <strong>de</strong>m Schlagwort <strong>de</strong>r Benutzerfreundlichkeit (engl. Usability) bekannten Anfor<strong>de</strong>rungen<br />
beziehen sich dabei auf <strong>de</strong>n Grad <strong>de</strong>r Gebrauchstauglichkeit von<br />
Webangeboten und sind für eine viel größere Zahl an Nutzerschichten relevant.<br />
Dabei sollten webbasierte Informationsangebote so gestaltet sein, dass eine Aufgabe<br />
möglichst effizient, also vollständig, in einem absehbaren Zeitrahmen und ohne<br />
unnötigen Aufwand, gelöst wer<strong>de</strong>n kann. Inhalte sollten möglichst präzise, aber<br />
<strong>de</strong>nnoch allgemein verständlich und klar formuliert sein.<br />
Im Gegensatz zur technisch geprägten Zugänglichkeit lässt sich die Gebrauchstauglichkeit<br />
um einiges schwieriger erfassen und testen. Gestaltungselemente zur<br />
Vermeidung nutzerabhängiger weicher Barrieren können meist nur von <strong>de</strong>n jeweils<br />
Betroffenen auf ihre Tauglichkeit geprüft wer<strong>de</strong>n. Gera<strong>de</strong> hier hat <strong>de</strong>r eigentliche<br />
Nutzer, unabhängig von Regelwerken und klassifizierbaren Anfor<strong>de</strong>rungen, das<br />
letzte Wort.<br />
Die Kriterien <strong>de</strong>r BITV lassen sich damit als ein allgemeiner Maßstab begreifen, so<br />
dass es für je<strong>de</strong>s Web-Angebot, losgelöst von einer gesetzlichen Verpflichtung,<br />
Sinn macht, diesen Standards zu folgen.<br />
7.1.4 Kosten-Nutzen-Relation barrierearmer Web-<br />
Angebote<br />
Die Frage nach <strong>de</strong>n Kosten einer barrierefreien Website ist stark von <strong>de</strong>n speziellen<br />
Anfor<strong>de</strong>rungen an ein Informationsangebot sowohl in funktionaler als auch in<br />
marketingmäßiger Sicht abhängig und kann pauschal nicht beantwortet wer<strong>de</strong>n.<br />
Nicht selten wird die Optimierung hinsichtlich <strong>de</strong>r Barrierefreiheit jedoch als zusätzliche<br />
Mühe und unnötiges Beiwerk für irrelevante Zielgruppen verstan<strong>de</strong>n und<br />
unter <strong>de</strong>m Deckmantel <strong>de</strong>r betriebswirtschaftlichen Ineffizienz als nicht notwendig<br />
abgetan.<br />
Wie so häufig liegt auch hier ein Trugschluss vor, <strong>de</strong>nn in Zeiten ständig wachsen<strong>de</strong>n<br />
Konkurrenzdrucks lässt sich auch das barrierefreie Web<strong>de</strong>sign als ein geeignetes<br />
Instrument zur nachhaltigen Kun<strong>de</strong>ngewinnung und -bindung charakterisieren.<br />
Fast je<strong>de</strong>s Unternehmen besitzt heutzutage eine eigene Webpräsenz und in nicht<br />
wenigen Fällen wur<strong>de</strong> über das Internet ein weiterer oftmals lohnen<strong>de</strong>r Vertriebskanal<br />
aufgebaut. Wer diese Strukturen jedoch dauerhaft sichern will, ist gezwungen,<br />
sich über Alleinstellungsmerkmale gegenüber <strong>de</strong>r Konkurrenz zu behaupten.<br />
Barrierefreies Web<strong>de</strong>sign kann bei diesem Prozess zweifelsohne unterstützen. Zum<br />
einen wirken barrierefreie Web-Angebote als Qualitätssiegel, die für mo<strong>de</strong>rnes und<br />
nutzerorientiertes Web<strong>de</strong>sign stehen. Denn informative und verständliche Inhalte<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
144 <strong>Joomla</strong>! barrierefrei<br />
dienen <strong>de</strong>m Kun<strong>de</strong>n ebenso wie ergonomisch und gebrauchstauglich geformte<br />
Strukturen einer Webpräsenz. Ein ansprechen<strong>de</strong>s Design hält neben diesen<br />
„Wohlfühleffekten“ noch einige weitere Vorteile aus betriebswirtschaftlicher Sicht<br />
bereit. Unter an<strong>de</strong>rem dient es quasi als Nebenprodukt <strong>de</strong>r Suchmaschinenoptimierung<br />
und senkt durch eine strikte Trennung von Inhalt, Layout und <strong>de</strong>r Verwendung<br />
eines standardkonformen Markups Übertragungskosten.<br />
Und nicht zuletzt danken es mobile Nutzer <strong>de</strong>m Unternehmen, wenn ein Web-<br />
Angebot auch auf Mobile Devices, wie PDAs o<strong>de</strong>r WAP-fähigen Handys, ausgabegerecht<br />
dargestellt wer<strong>de</strong>n kann und für die mobile Nutzung geeignet ist.<br />
7.2 Barrierefreies Web<strong>de</strong>sign bei Content-<br />
Managementsystemen<br />
Datenbankbasierte Content-Managementsysteme haben sich als geeignetes Mittel<br />
zur Verwaltung von webbasierten Informationsangeboten (Web-Content-<br />
Managementsysteme) bzw. zum ganzheitlichen Management von Unternehmensprozessen<br />
(Enterprise-Content-Managementsysteme) etabliert. Während in statischem<br />
HTML gehaltene Webpräsenzen schon bei geringfügigen Än<strong>de</strong>rungen o<strong>de</strong>r<br />
Ergänzungen einen professionellen Dienstleister benötigen, können sogar technisch<br />
wenig versierte Redakteure Inhalte mittels eines CMS über Benutzerschnittstellen<br />
komfortabel einpflegen und veröffentlichen. Im Funktionsumfang an gängige Office-Anwendungen<br />
erinnern<strong>de</strong> Eingabehilfen, oft WYSIWYG-(What You See Is<br />
What You Get)-Editoren genannt, unterstützen die Möglichkeit <strong>de</strong>r zeitnahen und<br />
kostengünstigen Verwaltung von Informationsangeboten.<br />
Geht man davon aus, dass viele <strong>de</strong>rartig funktionieren<strong>de</strong> Webpräsenzen einer ständigen<br />
inhaltlichen Aktualisierung und Än<strong>de</strong>rung unterworfen sind, lassen sich<br />
beson<strong>de</strong>re Probleme im Gegensatz zum statischen Web<strong>de</strong>sign erkennen. So muss<br />
es das verwen<strong>de</strong>te CMS <strong>de</strong>n Redakteuren ermöglichen, über geeignete Administrationswerkzeuge<br />
Inhalte möglichst bequem und ohne zusätzlich Programmierkenntnisse<br />
zu erzeugen und zu veröffentlichen. Die an das barrierefreie Web<strong>de</strong>sign gerichteten<br />
Anfor<strong>de</strong>rungen können hierbei jedoch nur bedingt ad-hoc über gegebene<br />
technische Systeme abgebil<strong>de</strong>t wer<strong>de</strong>n. Eine Anpassung und Optimierung <strong>de</strong>s<br />
verwen<strong>de</strong>ten Content-Managementsystems und <strong>de</strong>ssen Workflows ist damit in<br />
nahezu je<strong>de</strong>m Fall notwendig, um Administratoren in <strong>de</strong>r täglichen Arbeit bedarfsgerecht<br />
unterstützen zu können. Eine entsprechen<strong>de</strong> Schulung <strong>de</strong>r Redakteure ist<br />
ein ebenso wichtiger Punkt, um ein barrierefreies Webangebot unter Verwendung<br />
eines CMS adäquat zu steuern. Die nachhaltige Gewährleistung <strong>de</strong>r Barrierefreiheit<br />
ist unter diesem Gesichtspunkt vielmehr als ein Prozess <strong>de</strong>s Qualitätsmanagements<br />
zu verstehen, <strong>de</strong>r Web<strong>de</strong>signer und Redakteure gleichermaßen verpflichtet, in <strong>de</strong>r<br />
täglichen Arbeit beson<strong>de</strong>re Sorgfalt walten zu lassen.<br />
www.brain-media.<strong>de</strong>
Barrierefreies Web<strong>de</strong>sign bei Content-Managementsystemen 145<br />
7.2.1 Barrierefreies <strong>Joomla</strong>!<br />
Während eine Reihe von kommerziellen Systemen <strong>de</strong>n technischen Kriterien an<br />
ein zur Umsetzung von barrierefreien Informationsangeboten geeignetes Content-<br />
Managementsystem von Haus aus nachkommt, ist dies unter <strong>de</strong>n quelloffenen<br />
Systemen nicht immer <strong>de</strong>r Fall. Das Framework eZ Publish o<strong>de</strong>r das Web CMS<br />
Papoo haben in diesem Bereich bereits eine Reihe von Anstrengungen unternommen<br />
und bieten auch im Vergleich zu kommerziellen Entwicklungen ein ansehnliches<br />
Grundgerüst. Auch mit Typo 3, als das Universalwerkzeug <strong>de</strong>utscher Webagenturen,<br />
können mit einiger Anpassungsarbeit umfangreiche barrierearme Web-<br />
Angebote realisiert wer<strong>de</strong>n. Dies beweist eine Reihe von Auszeichnungen beim<br />
Biene-Award <strong>de</strong>r Aktion Mensch in <strong>de</strong>n letzten Jahren.<br />
Nimmt man <strong>de</strong>rzeit <strong>Joomla</strong>! nach einer Erstinstallation näher unter die Lupe, fällt<br />
nach kurzem Abgleich mit <strong>de</strong>n gängigen Anfor<strong>de</strong>rungen auf, dass es einem nicht<br />
gera<strong>de</strong> leicht gemacht wird, eine barrierefreie Webpräsenz zu realisieren. Trotz<br />
einer oberflächlichen Trennung zwischen Daten- und Präsentationsebene und <strong>de</strong>r<br />
konsequenten Verwendung globaler Cascading Style Sheets stehen Layouttabellen<br />
und inkorrekte Semantik <strong>de</strong>r Validität <strong>de</strong>s Markups zu oft entgegen. Beson<strong>de</strong>rs die<br />
Modulbereiche und die Komponentenausgaben geizen nicht mit verschachtelten<br />
Strukturen und Navigationspunkten in Tabellenform. Zu<strong>de</strong>m fehlen wichtigen Alt-<br />
Attribute bei Grafiken und an<strong>de</strong>ren Nicht-Text-Elementen o<strong>de</strong>r sind nicht aussagekräftig<br />
genug dargestellt. Setzt man darüber hinaus einige Drittanbieterkomponenten<br />
und -module ein, wer<strong>de</strong>n die Probleme nicht gera<strong>de</strong> weniger. Funktionieren<br />
viele dieser Komponenten und Module ta<strong>de</strong>llos, sieht man jedoch <strong>de</strong>utlich, dass<br />
nicht immer Wert auf die Korrektheit <strong>de</strong>s ausgegebenen Co<strong>de</strong>s gelegt wur<strong>de</strong>. Nicht<br />
selten fin<strong>de</strong>t man eine Reihe von nicht ausgelagerten Styleangaben und fehlerhaftes<br />
Markup im Quelltext. Das Fehlen einer vollständig integrierten Template-<br />
Engine wie patTemplate o<strong>de</strong>r Smarty verhin<strong>de</strong>rt weiterhin eine vollständige Trennung<br />
zwischen Daten- und Präsentationslogik. Eine unvorteilhafte Verbindung von<br />
HTML-Elementen und eigentlicher Funktionsschicht ist das <strong>de</strong>rzeit vorherrschen<strong>de</strong><br />
Ergebnis.<br />
Trotz <strong>de</strong>r eher beschei<strong>de</strong>nen Ausgangsbedingungen im Vergleich zu an<strong>de</strong>ren Systemen<br />
lassen sich aber mit einigen Modifikationen sehr wohl barrierefreie Informationsangebote<br />
realisieren. Dies beweist nicht zuletzt die vollständig auf <strong>Joomla</strong>!<br />
(Mambo) basieren<strong>de</strong> Website http://www.stiftung-<strong>de</strong>utsche-welthungerhilfe.<strong>de</strong>,<br />
welche in die Agenturliste 95plus <strong>de</strong>r Initiative Barrierefrei Informieren und<br />
Kommunizieren (http://www.bik-online.info) aufgenommen wur<strong>de</strong> und damit im<br />
Rahmen eines objektiven Tests das Siegel einer sehr guten barrierefreien Website<br />
erhielt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
146 <strong>Joomla</strong>! barrierefrei<br />
Hintergrund<br />
Die Agenturliste 95plus ist eine Zusammenstellung von Dienstleistern, die<br />
barrierefreie Webangebote im Sinne <strong>de</strong>r BITV realisiert haben und im Rahmen<br />
eines entsprechen<strong>de</strong>n Tests 95 o<strong>de</strong>r mehr Punkte für dieses Informationsangebot<br />
erhielten. Nähere Informationen zum Test und zur gesamten Liste fin<strong>de</strong>t man unter<br />
http://www.bik-online.info.<br />
Möchte man nun trotz <strong>de</strong>r eher unangenehmen Ausgangslage seinen <strong>Joomla</strong>!-<br />
Webauftritt anhand <strong>de</strong>r Kategorien und Prüfkriterien <strong>de</strong>r BITV umsetzen und nicht<br />
selbst umfangreiche Än<strong>de</strong>rungen am System vornehmen, so kann man sich glücklicherweise<br />
auf eine bereits fertig modifizierte <strong>Joomla</strong>!-Variante o<strong>de</strong>r frei verfügbare<br />
Komponenten und Quellco<strong>de</strong>-Hacks berufen. Beson<strong>de</strong>re Aufmerksamkeit<br />
muss in diesem Zusammenhang <strong>de</strong>n bei<strong>de</strong>n Entwicklern Robert Deutz und Angie<br />
Radtke zu Teil wer<strong>de</strong>n, welche unter http://www.run-digital.com eine Reihe von<br />
sehr nützlichen Komponenten und Modulen bereitgestellt haben und seit einiger<br />
Zeit auch <strong>de</strong>m Standards, Usability & Accessibility Team <strong>de</strong>s Jooma!-Projektes<br />
angehören. Auch auf <strong>de</strong>r Website http://www.joomla-barrierefrei.<strong>de</strong> wer<strong>de</strong>n in<br />
regelmäßigen Abstän<strong>de</strong>n hilfreiche Erweiterungen und eine Reihe von Informationen<br />
und Tutorials zum Thema und in Kürze eine speziell für das Thema<br />
Barrierefreiheit optimierte Version von <strong>Joomla</strong>! bereitgestellt. Möchten sie jedoch<br />
nicht auf diese Version warten o<strong>de</strong>r eine bereits bestehen<strong>de</strong> Installation überarbeiten,<br />
sollten Sie folgen<strong>de</strong> Erweiterungen kennen:<br />
• Run Digital 508Hack: Dieser als Komponente installierbare Hack verän<strong>de</strong>rt<br />
die Ausgabe <strong>de</strong>r wichtigsten Frontend-Dateien von <strong>Joomla</strong>! hinsichtlich<br />
eines semantisch korrekten Markups und sorgt damit für einen tabellenlosen<br />
HTML-Output. Einzelne Bestandteile wie z.B. das Mainmenu<br />
und <strong>de</strong>r Pathway wer<strong>de</strong>n über patTemplate gesteuert. Die Ursprungsdateien<br />
wer<strong>de</strong>n zu<strong>de</strong>m während <strong>de</strong>r Installation im System als {name}.save-<br />
Dateien abgelegt und können bei einer Deinstallation wie<strong>de</strong>r hergestellt<br />
wer<strong>de</strong>n. Der Hack in seiner aktuellen Version ist unter http://www.rundigital.com<br />
zu fin<strong>de</strong>n.<br />
• Accessibility Hack: Die Komponente erweitert <strong>de</strong>n <strong>Joomla</strong>!-<br />
Menümanager um zusätzliche Eingabefel<strong>de</strong>r und ermöglicht die Darstellung<br />
barrierefreier Menüstrukturen. So ist es mit Hilfe <strong>de</strong>r Komponente<br />
möglich, je Navigationspunkt ein geson<strong>de</strong>rtes Title-Attribut zu <strong>de</strong>finieren.<br />
Wenn gewünscht, können Accesskeys und ein Tabin<strong>de</strong>x festgelegt und<br />
zu<strong>de</strong>m eine Menünummerierung mittels <strong>de</strong>s Dfn-Tags durchgeführt wer<strong>de</strong>n.<br />
Der Download ist unter http://www.joomla-barrierefrei.<strong>de</strong> verfügbar.<br />
• XHTMLSuite 508: Die XHTMLSuite 508 ist einer <strong>de</strong>r professionellsten<br />
WYSIWYG-Editoren für <strong>Joomla</strong>!. Neben umfangreichen Funktionen zur<br />
www.brain-media.<strong>de</strong>
Barrierefreies Web<strong>de</strong>sign bei Content-Managementsystemen 147<br />
Content-Gestaltung steht über eine integrierte Administrationsoberfläche<br />
eine Reihe von Einstellungsmöglichkeiten zur Verfügung. Daneben bietet<br />
die XHTMLSuite 508 als bislang einziger für <strong>Joomla</strong>! verfügbarer Rich-<br />
Text-Editor eine Reihe von Funktionen zur Einpflege barrierearmer und<br />
semantisch korrekter Inhalte. Der Editor ist unter http://www.xhtmlsuite.com<br />
in verschie<strong>de</strong>nen Lizenzmo<strong>de</strong>llen käuflich erwerbbar.<br />
• Run Digital Sitemap: RD Sitemap ist eine umfangreich konfigurierbare<br />
Sitemap-Komponente für <strong>Joomla</strong>! Neben <strong>de</strong>n eigentlichen Navigationspunkten<br />
können, wenn gewünscht, zu<strong>de</strong>m die veröffentlichten und archivierten<br />
Contentelemente innerhalb <strong>de</strong>r Sitemap dargestellt wer<strong>de</strong>n. Der<br />
Download ist ebenfalls unter http://www.run-digital.com erhältlich.<br />
• OpenSEF: Diese Erweiterung ergänzt <strong>Joomla</strong>! um die Möglichkeit, benutzer<strong>de</strong>finierte<br />
suchmaschinenfreundliche URL, festzulegen. Die jeweilige<br />
URL-Ausgabe kann dabei frei im Administrationsbackend gestaltet<br />
wer<strong>de</strong>n. Die Komponente ist unter http://www.open-sef.org im Downloadbereich<br />
zu fin<strong>de</strong>n.<br />
Neben <strong>de</strong>n obigen Erweiterungen benötigt eine barrierefreie Website natürlich<br />
auch ein vali<strong>de</strong>s und an das Thema <strong>de</strong>s Informationsangebotes angepasstes Template.<br />
Da es <strong>de</strong>n Rahmen dieses Kapitels sprengen wür<strong>de</strong>, die Erstellung eines<br />
Templates von Grund auf zu beschreiben, wer<strong>de</strong>n wir im weiteren Verlauf auf ein<br />
bereits erstelltes Template zurückgreifen und <strong>de</strong>ssen spezifische Ausgestaltungen<br />
ebenfalls innerhalb <strong>de</strong>s Tutorials näher erläutern.<br />
7.2.2 Weitere Hilfsmittel<br />
Um unsere Arbeiten bei <strong>de</strong>r Durchführung notwendiger Tests etwas zu erleichtern,<br />
empfiehlt es sich, vorab einige sinnvolle Hilfswerkzeuge zu beschaffen. Dazu zählt<br />
im Beson<strong>de</strong>ren <strong>de</strong>r Browser Firefox in <strong>de</strong>r aktuellen Version mit einigen zusätzlichen<br />
Extensions. Firefox ist im Gegensatz zum allgegenwärtigen Internet Explorer<br />
ein Browser, <strong>de</strong>r Inhalte anhand ihrer tatsächlichen Spezifikationen darstellt und<br />
damit als ein Referenzsystem zur Ausgabe <strong>de</strong>r erstellten Website dienen kann. Mit<br />
<strong>de</strong>n Browsererweiterungen Checky und Edit CSS kann <strong>de</strong>r ebenfalls quelloffen zur<br />
Verfügung stehen<strong>de</strong> Browser in eine Entwicklungsumgebung für Web<strong>de</strong>signer<br />
verwan<strong>de</strong>lt wer<strong>de</strong>n. Während man mit Edit CSS die auf einer Website verwen<strong>de</strong>te<br />
CSS-Datei begutachten und lokal bearbeiten kann, eignet sich Checky insbeson<strong>de</strong>re<br />
für das umfangreiche Testen einer Website. Als Ergänzung <strong>de</strong>r grundlegen<strong>de</strong>n<br />
Browserfunktionalität in Hinblick auf diverse automatische Testwerkzeuge zu <strong>de</strong>n<br />
Bereichen Dokumentenvalidität, Barrierefreiheit, RSS und Suchmaschinenoptimie-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
148 <strong>Joomla</strong>! barrierefrei<br />
rung ermöglicht Checky die Prüfung verschie<strong>de</strong>ner Kriterien per Mausklick. Bei<strong>de</strong><br />
Erweiterungen können über <strong>de</strong>n Firefox-Extension-Manager installiert wer<strong>de</strong>n, <strong>de</strong>r<br />
Download von Checky fin<strong>de</strong>t sich zu<strong>de</strong>m unter http://checky.sourceforge.net .<br />
Die Erweiterung Checky im Einsatz.<br />
Ergänzend sei erwähnt, dass es eine Reihe weiterer Prüfwerkzeuge sowohl für <strong>de</strong>n<br />
Desktopeinsatz als auch zur Nutzung im Web gibt. Ein umfangreicher Überblick<br />
zu diesen Tools ist beispielsweise unter http://2bweb.<strong>de</strong>/services/werkzeuge.html<br />
mit Angabe <strong>de</strong>r Bezugsquelle zu fin<strong>de</strong>n.<br />
7.3 Tutorial<br />
Nach<strong>de</strong>m wir uns in <strong>de</strong>n vorangegangenen Abschnitten mit <strong>de</strong>n grundlegen<strong>de</strong>n<br />
Anfor<strong>de</strong>rungen und Begrifflichkeiten zum barrierefreien Web<strong>de</strong>sign befasst haben,<br />
soll nun im Rahmen <strong>de</strong>s Tutorials die technische Umsetzung eines zugänglichen<br />
Informationsangebotes aufgezeigt wer<strong>de</strong>n. Um die damit verbun<strong>de</strong>nen Arbeiten so<br />
verständlich und anschaulich wie möglich zu gestalten, wird die grundlegen<strong>de</strong><br />
Entwicklung einer tatsächlich vorhan<strong>de</strong>nen Website beschrieben. Dabei wer<strong>de</strong>n<br />
wir von einer normalen <strong>Joomla</strong>!-Grundinstallation ausgehen und anhand verschie<strong>de</strong>ner<br />
Anfor<strong>de</strong>rungen <strong>de</strong>r BITV alle notwendigen Schritte zur Herstellung <strong>de</strong>r<br />
Barrierefreiheit erläutern.<br />
www.brain-media.<strong>de</strong>
Tutorial 149<br />
7.3.1 Ausgangspunkt<br />
[b]logstoff.das-medienkombinat.<strong>de</strong> ist ein Web-Tagebuch (Weblog) <strong>de</strong>r Agentur<br />
das medienkombinat, welches sich im Speziellen mit <strong>de</strong>n Themen Barrierefreiheit,<br />
Web<strong>de</strong>sign und Content-Managementssysteme auseinan<strong>de</strong>rsetzt. Eine barrierearme<br />
Umsetzung <strong>de</strong>sselbigen im Rahmen dieses Tutorials bietet sich durch die starke<br />
Content-Fokussierung eines Webtagebuches und die Übersichtlichkeit <strong>de</strong>r für ein<br />
<strong>de</strong>rartiges Projekt benötigten Funktionen <strong>de</strong>s Content-Managementsystems beson<strong>de</strong>rs<br />
an.<br />
Unser Ausgangspunkt soll eine gewöhnliche Grundinstallation von <strong>Joomla</strong>! in <strong>de</strong>r<br />
Version 1.0.5. Stable (Sunspot) sein. Als Standardlayout kommt zunächst das im<br />
Installationspaket enthaltene rhuk_solarflairII-Template zum Einsatz. Neben <strong>de</strong>r<br />
<strong>de</strong>utschen Sprachdatei für das Frontend wur<strong>de</strong> <strong>de</strong>r WYSIWYG-Editor<br />
XHTMLSuite 508 in <strong>de</strong>r Version 1.6.0 bereits installiert. Alle im Vorfeld<br />
eingepflegten Inhalte sind mittels Sections und Categories strukturiert, einzig das<br />
Impressum wur<strong>de</strong> im Static-Content-Manager abgelegt.<br />
Die Ausgangsinstallation.<br />
Wie in obiger Abbildung zu sehen, ergibt sich nach einem ersten Aufruf <strong>de</strong>s Frontends<br />
<strong>de</strong>r Website in einem grafischen Browser das typische Bild einer <strong>Joomla</strong>!-<br />
Installation. Das Template macht dabei in seinem klassischen zweispaltigen Aufbau<br />
zunächst einen optisch guten Eindruck. Die gewählte Aufteilung <strong>de</strong>r Seite<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
150 <strong>Joomla</strong>! barrierefrei<br />
wirkt in einer fixen Breite von 808 Pixel gut strukturiert und durchdacht. Eine<br />
Servicenavigation (Pos. 1) und das Suchfeld (Pos. 2) bil<strong>de</strong>n zusammen mit einer<br />
großen Titelgrafik <strong>de</strong>n Kopfbereich <strong>de</strong>r Seite, die Hauptnavigation (Pos. 3) und die<br />
Verlinkung zu <strong>de</strong>n einzelnen Weblog-Kategorien wer<strong>de</strong>n in <strong>de</strong>r linken Marginalspalte<br />
dargestellt. Im mittleren Bereich fin<strong>de</strong>n sich eine Pfadnavigation (Pos. 4)<br />
und <strong>de</strong>r Inhaltsbereich (Pos. 5) <strong>de</strong>r Website.<br />
Möchten wir nun mit <strong>de</strong>n Arbeiten zur barrierefreien Gestaltung <strong>de</strong>s Informationsangebotes<br />
beginnen, sollten wir zunächst an einer Stelle ansetzen, die für viele<br />
Webprojekte <strong>de</strong>n schlussendlichen Prüfschritt <strong>de</strong>r Entwicklung be<strong>de</strong>utet.<br />
7.3.2 Validität <strong>de</strong>r Website<br />
Ein je<strong>de</strong>r professioneller Webentwickler möchte wissen, ob die von ihm erstellte<br />
Website <strong>de</strong>n gängigen Anfor<strong>de</strong>rungen an Robustheit und semantischer Korrektheit<br />
<strong>de</strong>r verwen<strong>de</strong>ten Programmiersprache entspricht. Um auch für unser Projekt eine<br />
<strong>de</strong>rartige Prüfung vorzunehmen, öffnen wir mit <strong>de</strong>r zuvor im Firefox-Browser<br />
installierten Erweiterung Checky <strong>de</strong>n Markup-Validation-Service <strong>de</strong>s World Wi<strong>de</strong><br />
Web Consortiums. Dieser soll uns nun Auskunft über die Validität <strong>de</strong>r Website<br />
geben. Die dahinterstehen<strong>de</strong> Metho<strong>de</strong> <strong>de</strong>s Validators ist dabei recht simpel. Eine<br />
im Seitenkopf <strong>de</strong>r HTML-Quelldatei stehen<strong>de</strong> Document Type Definition (DTD) –<br />
im vorliegen<strong>de</strong>n Fall ist es <strong>de</strong>r XHTML 1.0 Standard in <strong>de</strong>r Transitional-Version –<br />
wird automatisch gegen die Standards <strong>de</strong>s jeweiligen Dokumententyps geprüft.<br />
Wenn notwendig, gibt <strong>de</strong>r Validator nach erfolgtem Test falsche o<strong>de</strong>r nicht geschlossene<br />
Tags mit genauer Angabe <strong>de</strong>r Fundstelle aus. Unerlaubte Ausdrücke<br />
o<strong>de</strong>r falsch codierte Son<strong>de</strong>rzeichen wer<strong>de</strong>n vom Validator ebenso angezeigt.<br />
Wie in obiger Abbildung ersichtlich, validiert die geprüfte Startseite unseres Weblogs<br />
erfreulicherweise sofort nach XHTML 1.0 Transitional, noch bevor wir irgen<strong>de</strong>ine<br />
Art <strong>de</strong>r Modifikation am System vorgenommen haben. Gleiches gilt für<br />
einige weitere Seiten <strong>de</strong>r Webpräsenz. Dies be<strong>de</strong>utet zunächst, dass <strong>de</strong>r ausgegebene<br />
Quellco<strong>de</strong> <strong>de</strong>r Startseite <strong>de</strong>n semantischen Anfor<strong>de</strong>rungen <strong>de</strong>s zu Grun<strong>de</strong><br />
gelegten Standards nachkommt. In unserem Fall ist es mit XHTML 1.0<br />
Transitional eine gemäßigte Variante <strong>de</strong>s XHTML-Standards.<br />
www.brain-media.<strong>de</strong>
Tutorial 151<br />
XHTML-Validität <strong>de</strong>r Startseite <strong>de</strong>s Weblogs.<br />
Diese grundlegen<strong>de</strong> Voraussetzung und notwendige Bedingung für das Erstellen<br />
einer standardkonformen und zugänglichen Webpräsenz ist jedoch, im Gegensatz<br />
zu einer weit verbreiteten Annahme, nicht ausreichend, um eine Website als<br />
barrierefrei bezeichnen zu können. Obwohl Validität und auch korrekte Semantik,<br />
also die korrekte und fehlerfreie Verwendung von Auszeichnungselementen, ein<br />
wichtiger Punkt im Rahmen <strong>de</strong>r Umsetzung eines zugänglichen Webangebotes ist,<br />
wird an eine solche Website eine Reihe weiterer Anfor<strong>de</strong>rungen gestellt. Im Hinblick<br />
auf die semantische Ausgestaltung betrifft dies neben <strong>de</strong>r rein formalen Validität<br />
sowohl die strukturelle Ausgestaltung <strong>de</strong>s Dokumentes als auch die Beschreibung<br />
<strong>de</strong>r Inhalte durch Verwendung geeigneter Auszeichnungselemente.<br />
Am vorliegen<strong>de</strong>n Fall unseres Weblogs lässt sich diese Problematik recht gut beispielhaft<br />
aufzeigen. Obwohl das Dokument formal validiert, besitzt die Website<br />
einige Unzulänglichkeiten im Hinblick auf die Auszeichnung <strong>de</strong>r publizierten<br />
Inhalte. Zu diesem Schluss kommen wir, wenn wir uns <strong>de</strong>n Contentbereich <strong>de</strong>r<br />
Startseite in <strong>de</strong>r Quellco<strong>de</strong>ansicht ausgeben lassen:<br />
...<br />
Weblog<br />
<br />
<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
152 <strong>Joomla</strong>! barrierefrei<br />
Bun<strong>de</strong>sstelle für Informationstechnik<br />
<br />
<br />
<br />
<br />
Geschrieben von<br />
Administrator <br />
<br />
Donnerstag, 05 Januar 2006<br />
<br />
<br />
Das Bun<strong>de</strong>sinnenministerium hat<br />
heute ... im Rahmen <strong>de</strong>r E-Government-Inititaive<br />
BundOnline 2005 <strong>de</strong>r Bun<strong>de</strong>sregierung.<br />
...<br />
Auf unseren<br />
Seiten fin<strong>de</strong>n Sie ... eingearbeitet.<br />
...<br />
<br />
Negativ fällt sofort auf, dass eine Reihe von Tabellenelementen zur Strukturierung<br />
<strong>de</strong>r Contentspalte verwen<strong>de</strong>t wird. In unserem Weblog sind, wie im Ausschnitt zu<br />
sehen, die ersten bei<strong>de</strong>n Überschriften Weblog und Bun<strong>de</strong>sstelle für Informationstechnik<br />
von unnötigen Tabellen und Div-Containern umrahmt, anstatt ihrer Be<strong>de</strong>utung<br />
gemäß in hierarchischer Reihenfolge (H1 bzw. H2) dargestellt zu wer<strong>de</strong>n. Für<br />
die Überschrift 2. Ordnung – Bun<strong>de</strong>sstelle für Informationstechnik – wird sogar<br />
eine separate Tabelle erzeugt.<br />
Hier <strong>de</strong>r Ausschnitt aus <strong>de</strong>r Überschrift <strong>de</strong>s ersten Textbeitrags:<br />
...<br />
<br />
Bun<strong>de</strong>sstelle<br />
für Informationstechnik<br />
<br />
www.brain-media.<strong>de</strong>
Tutorial 153<br />
...<br />
Der Grund für diese unvorteilhafte Quellco<strong>de</strong>ausgabe ist nicht, wie zunächst zu<br />
vermuten wäre, ein Fehler im verwen<strong>de</strong>ten Template. Es ist vielmehr die von <strong>de</strong>r<br />
<strong>Joomla</strong>!-Komponente com_content in <strong>de</strong>r Datei content.html.php erzeugte HTML-<br />
Ausgabe verantwortlich. Innerhalb je<strong>de</strong>r Komponente gibt es eine o<strong>de</strong>r mehrere<br />
Dateien, die für die Darstellung <strong>de</strong>r Inhalte im Frontend verantwortlich sind. Dabei<br />
wer<strong>de</strong>n für die aktuell im Browser aufgerufene Seite alle relevanten Textbausteine<br />
dynamisch aus <strong>de</strong>r Datenbank ausgelesen. Gemeinsam mit <strong>de</strong>n in <strong>de</strong>r content.html.php<br />
vorgegebenen HTML-Strukturen fin<strong>de</strong>t danach eine Ausgabe <strong>de</strong>r<br />
aufgerufenen Website im Browser statt. Im vorliegen<strong>de</strong>n Fall lei<strong>de</strong>r in einem Mix<br />
aus Div-Containern und Tabellenelementen.<br />
Ein ähnliches Bild erhält man ebenfalls bei <strong>de</strong>r Betrachtung <strong>de</strong>r Hauptnavigation.<br />
Auch hier wer<strong>de</strong>n die vorhan<strong>de</strong>nen Navigationspunkte in Tabellenstrukturen o<strong>de</strong>r<br />
einer Vermischung von Tabellen- und CSS-Layout und nicht als Listenelemente<br />
dargestellt.<br />
Ein weiteres Beispiel. Hier ein Ausschnitt aus <strong>de</strong>r Hauptnavigation <strong>de</strong>r Website:<br />
...<br />
<br />
Weblog<br />
Efa News<br />
Allgemein<br />
Vorteile<br />
Gesetzliche Normen<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
154 <strong>Joomla</strong>! barrierefrei<br />
Weblinks<br />
<br />
...<br />
Die Verwendung von <strong>de</strong>rartigen Tabellenstrukturen dient in bei<strong>de</strong>n Fällen lediglich<br />
Layoutzwecken und ist historisch begrün<strong>de</strong>t. Tabellen galten lange Zeit als <strong>de</strong>r<br />
Ausweg, um fehlen<strong>de</strong> Browser-Kompatibilität bei <strong>de</strong>r Interpretation von CSS zu<br />
kompensieren und damit trotz unterschiedlicher Ausgabegeräte berechenbare Ergebnisse<br />
im Hinblick auf die Darstellung zu erzielen. Die einfache Verwendung<br />
macht sie auch heute noch bei einigen Web<strong>de</strong>signern im CMS-Bereich und vor<br />
allem in einer Reihe von WYSIWIG-Editoren beliebt, um kalkulierbare<br />
Layoutergebnisse zu erreichen.<br />
Grundsätzlich erlaubt auch ein barrierefreies Web-Angebot die Benutzung von<br />
Tabellen. Diese sollten jedoch nur im Sinne ihrer vorgesehenen Verwendung, nämlich<br />
zur Strukturierung tabellarischer Inhalte, verwen<strong>de</strong>t wer<strong>de</strong>n (siehe BITV Bedingung<br />
5) und auch nur dann, wenn zwischen diesen Inhalten eine logische Beziehung<br />
besteht. Für die Verwendung im Rahmen <strong>de</strong>s Layouts gibt die BITV im<br />
Punkt 5.3 jedoch klar vor, dass Tabellen „nicht für die Text- und Bildgestaltung“<br />
Verwendung fin<strong>de</strong>n sollten.<br />
Grund hierfür sind die unter <strong>de</strong>m Begriff <strong>de</strong>r Linearisierbarkeit von Tabellen zusammengefassten<br />
Effekte, die es gera<strong>de</strong> Nutzern von Screenrea<strong>de</strong>rn oftmals erschweren,<br />
Informationen innerhalb eines verschachtelten Tabellenlayouts ohne<br />
größere Einschränkungen aufzunehmen. Anhand eines kurzen Beispiels sei dies<br />
erläutert.<br />
Im folgen<strong>de</strong>n Quelltext ist eine einfache Tabelle dargestellt, die zu je<strong>de</strong>m Satz eine<br />
ausführliche Beschreibung in <strong>de</strong>r darunterliegen<strong>de</strong>n Spalte enthält. Der Quelltext<br />
einer einfachen Tabelle:<br />
...<br />
<br />
Satz 1<br />
Satz 1<br />
<br />
Beschreibung Satz 1<br />
Beschreibung Satz 2<br />
www.brain-media.<strong>de</strong>
Tutorial 155<br />
<br />
...<br />
In einem normalen grafischen Browser wird die Tabelle wie folgt dargestellt:<br />
Satz 1 Satz 2<br />
Beschreibung Satz 1 Beschreibung Satz 2<br />
Die grafische Ausgabe einer einfachen Tabelle.<br />
Durch <strong>de</strong>n zweidimensionalen Charakter <strong>de</strong>s Ausgabemediums grafischer Browser<br />
kann ein Nutzer die Informationen ohne Probleme strukturiert aufnehmen. Schaut<br />
man sich das Ergebnis jedoch in einem eindimensionalen Ausgabegerät wie beispielsweise<br />
einem Screenrea<strong>de</strong>r näher an, erkennt man sofort die Schwierigkeiten<br />
einer Tabellennutzung.<br />
Als Beispiel dient die linearisierte Ausgabe einer einfachen Tabelle:<br />
Zeile 1: Satz 1 Satz 2<br />
Zeile 2: Beschreibung Satz 1 Beschreibung Satz 2<br />
Durch die linearisierte Ausgabe <strong>de</strong>s Screenrea<strong>de</strong>rs wer<strong>de</strong>n <strong>de</strong>m Nutzer die Tabelleninhalte<br />
Zeile für Zeile vorgelesen. Was in unserem Beispiel unter Umstän<strong>de</strong>n<br />
noch verständlich erscheint, lässt sich bei mehrzeiligen und mehrfach verschachtelten<br />
Tabellen nicht mehr gebrauchstauglich wahrnehmen. Der Zusammenhang<br />
innerhalb <strong>de</strong>s Informations-Angebotes geht ebenso verloren wie die Orientierung<br />
innerhalb <strong>de</strong>r gesamten Seite.<br />
Um <strong>de</strong>rartiges zu vermei<strong>de</strong>n und unter <strong>de</strong>r Maßgabe, dass es mit (X)HTML und<br />
CSS eine geeignete Metho<strong>de</strong> zur Strukturierung und Layoutgestaltung von Inhalten<br />
gibt, sollten Tabellen wirklich nur dort verwen<strong>de</strong>t wer<strong>de</strong>n, wo sie für die Darstellung<br />
tabellarischer Inhalte notwendig sind.<br />
Ein weiteres wichtiges Kriterium zur Verwendung geeigneter Auszeichnungselemente<br />
ist die Notwendigkeit <strong>de</strong>r Schaffung einer adäquaten Struktur <strong>de</strong>s Dokumentes,<br />
so dass dieses auch mittels assistiver Technologien gebrauchstauglich benutzt<br />
wer<strong>de</strong>n kann. Mit Hilfe <strong>de</strong>r gängigen Screenrea<strong>de</strong>r ist es beispielsweise mittlerweile<br />
möglich, innerhalb eines Dokumentes von Überschrift zu Überschrift zu springen.<br />
Dies funktioniert aber nur dann, wenn die standardkonforme Auszeichnung,<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
156 <strong>Joomla</strong>! barrierefrei<br />
also die Markierung von Überschriften gemäß ihrer Be<strong>de</strong>utung mit H1 bis H6,<br />
erfolgt ist. Ähnliches gilt für Navigationselemente. Auch hier können assistive<br />
Technologien unterstützend wirken.<br />
Um auch in <strong>Joomla</strong>! diese strukturierte Darstellung zu gewährleisten, ist es <strong>de</strong>rzeit<br />
lei<strong>de</strong>r noch notwendig, einige Modifikationen an <strong>de</strong>n Quelldateien <strong>de</strong>r Komponente<br />
com_content und <strong>de</strong>m Modul mod_mainmenu durchzuführen. Dabei müssen die<br />
innerhalb einiger Dateien vorhan<strong>de</strong>nen HTML-Elemente gegen entsprechend standardkonforme<br />
Auszeichnungsvarianten getauscht wer<strong>de</strong>n. Glücklicherweise können<br />
wir diese mit einem erheblichen Arbeitsaufwand verbun<strong>de</strong>nen Modifikationen<br />
von zwei frei verfügbaren Komponenten übernehmen lassen. Der vom Entwicklerduo<br />
Robert Deutz / Angie Radtke auf http://www.run-digital.com vorgestellte RD<br />
508 Hack ist dabei ein wichtiger und unerlässlicher Baustein. Dieser verän<strong>de</strong>rt in<br />
<strong>de</strong>r Hauptsache die wichtigsten Content-bezogenen Quelldateien <strong>de</strong>s Systems, um<br />
eine semantisch korrekte Ausgabe <strong>de</strong>r Inhalte zu gewährleisten. Zusätzlich installieren<br />
wir <strong>de</strong>n Accessibility Hack, welcher im Beson<strong>de</strong>ren für eine entsprechen<strong>de</strong><br />
Formatierung <strong>de</strong>r Navigationselemente verantwortlich ist. Bei<strong>de</strong> Hacks lassen sich<br />
als Komponente über <strong>de</strong>n in <strong>Joomla</strong>! integrierten Komponenten-Installer in das<br />
System übernehmen.<br />
Die Installation über <strong>de</strong>n Komponenten-Installer.<br />
Während <strong>de</strong>r Installation ersetzen diese Hacks jeweils eine Reihe von Quelldateien<br />
<strong>de</strong>s <strong>Joomla</strong>!-Systems, in<strong>de</strong>m die modifizierten Dateivarianten installiert und die<br />
ursprünglichen Dateien im System gespeichert wer<strong>de</strong>n. Ein Vorteil dieser Metho<strong>de</strong>:<br />
Bei einem notwendigen Upgra<strong>de</strong> <strong>de</strong>s Systems kann <strong>de</strong>r Ausgangzustand auf<br />
einfache Weise wie<strong>de</strong>rhergestellt wer<strong>de</strong>n. Bitte beachten Sie die Reihenfolge <strong>de</strong>r<br />
durchzuführen<strong>de</strong>n Installationen, zunächst <strong>de</strong>n RD 508 Hack, danach <strong>de</strong>n<br />
Accessibility Hack.<br />
www.brain-media.<strong>de</strong>
Tutorial 157<br />
Die Installation ist erfolgreich been<strong>de</strong>t.<br />
Nach erfolgreicher Installation informiert uns ein kurzes Installationsergebnis, wie<br />
im Beispiel <strong>de</strong>r voranstehen<strong>de</strong>n Abbildung zu sehen, über die erfolgreiche Durchführung<br />
<strong>de</strong>r Modifikationen an <strong>de</strong>n jeweils aufgelisteten Dateien. Nachfolgen<strong>de</strong><br />
Abbildung zeigt die erfolgreich installierten Hacks in <strong>de</strong>r Komponentenübersicht<br />
<strong>de</strong>r Administrationsebene.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
158 <strong>Joomla</strong>! barrierefrei<br />
Die Komponenten sind installiert.<br />
Zurück in <strong>de</strong>r Quellco<strong>de</strong>ansicht <strong>de</strong>r Installation sehen wir die gewünschten Ergebnisse.<br />
Während vor <strong>de</strong>r Installation ein bunter Mix an Div-Containern und verschachtelten<br />
Tabellen das Bild bestimmten, erhalten wir nun zumin<strong>de</strong>st in <strong>de</strong>n<br />
Artikelausgaben und in <strong>de</strong>n Navigationsbereichen ein sauber strukturiertes Dokument.<br />
Überschriften wer<strong>de</strong>n gemäß ihrer Wichtigkeit im Dokument mit <strong>de</strong>n dafür<br />
vorgesehenen Hierarchiestufen H1, H2 und H3 ausgezeichnet und die unnötigen<br />
Layouttabellen gehören <strong>de</strong>r Vergangenheit an.<br />
Der Ausschnitt aus <strong>de</strong>m Quelltext <strong>de</strong>r Startseite nach erfolgter Modifikation sieht<br />
wie folgt aus:<br />
...<br />
Weblog<br />
<br />
Bun<strong>de</strong>sstelle für Informationstechnik<br />
<br />
Geschrieben von Administrator<br />
Donnerstag, 05 Januar 2006<br />
www.brain-media.<strong>de</strong>
Tutorial 159<br />
Das Bun<strong>de</strong>sinnenministerium hat heute ...Zum <strong>de</strong>rzeitigen<br />
Stand <strong>de</strong>r Webpräsenz wird<br />
folgen<strong>de</strong>s mitgeteilt:<br />
Auf unseren Seiten fin<strong>de</strong>n Sie<br />
Informationen ...<br />
eingearbeitet.<br />
<br />
...<br />
Lei<strong>de</strong>r weist die Seite ... Nutzung.<br />
Auch in Sachen Navigation hat sich das Bild gewan<strong>de</strong>lt. Anstatt <strong>de</strong>r vorherigen<br />
Tabelle wird nun eine ungeordnete Liste mit entsprechen<strong>de</strong>n Listenelementen<br />
verwen<strong>de</strong>t, eine notwendige Voraussetzung für eine barrierearme Seitennavigation.<br />
Die Hauptnavigation <strong>de</strong>r Website nach erfolgter Modifikation:<br />
<br />
Hauptmenü<br />
<br />
Weblog.<br />
<br />
Efa News.<br />
<br />
Allgemein.<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
160 <strong>Joomla</strong>! barrierefrei<br />
Vorteile.<br />
<br />
Gesetzliche Normen
Tutorial 161<br />
chen<strong>de</strong> Gestaltung nicht zu vernachlässigen, müssen die an eine barrierefreie Webpräsenz<br />
gestellten Anfor<strong>de</strong>rungen an die Gestaltung in ein einheitliches und ausgewogenes<br />
Konzept aus Corporate I<strong>de</strong>ntity und Zugänglichkeit eingebettet wer<strong>de</strong>n.<br />
Die BITV stellt innerhalb verschie<strong>de</strong>ner Punkte Anfor<strong>de</strong>rungen an die optische<br />
Gestaltung von Webangeboten. Dies betrifft sowohl das Vermei<strong>de</strong>n von flackern<strong>de</strong>n<br />
o<strong>de</strong>r blinken<strong>de</strong>n Elementen als auch die allgemeine Wahrnehmbarkeit von<br />
Informationen. Dabei sollten sowohl kritische Farbkombinationen als auch zu<br />
starke Farbkontraste vermie<strong>de</strong>n wer<strong>de</strong>n. Ein weiteres Hauptziel ist es zu<strong>de</strong>m, dass<br />
die Benutzung <strong>de</strong>r Website in gleichem Maße bei vom Web<strong>de</strong>signer innerhalb<br />
einer zentralen CSS-Datei vorgesehenen Farben als auch bei benutzer<strong>de</strong>finierten<br />
Einstellungen möglich ist. Dies kann nur dann gelingen, wenn zum einen eine<br />
konsequente Trennung von Inhalt (Struktur) und Form (Gestaltung) vorgenommen<br />
wird und zum an<strong>de</strong>ren einige allgemeine Punkte zur optischen Gestaltung <strong>de</strong>r<br />
Website beachtet wer<strong>de</strong>n. Während Ersteres mittels <strong>de</strong>s <strong>Joomla</strong>!-Templatesystems<br />
nahezu von Haus aus erfüllt wird, muss zumin<strong>de</strong>st <strong>de</strong>r zweite Punkt nicht selten<br />
einer genaueren Betrachtung unterzogen wer<strong>de</strong>n.<br />
Überblicksartig können dabei die folgen<strong>de</strong>n Anfor<strong>de</strong>rungen an das Layout <strong>de</strong>r<br />
Webpräsenz herangezogen wer<strong>de</strong>n:<br />
Vermei<strong>de</strong>n Sie kritische Farbkombinationen!<br />
Versuchen Sie kritische Farbkombinationen, wie komplementäre Farbpaare (beispielsweise<br />
Rot/Grün) o<strong>de</strong>r Farbkombinationen, welche farbfehlsichtigen Personen<br />
Probleme bereiten, zu vermei<strong>de</strong>n. Menschen mit einer Rotschwäche können beispielsweise<br />
bei <strong>de</strong>r Verwendung <strong>de</strong>r Kombination von Rot auf Schwarz die roten<br />
Bereiche nicht i<strong>de</strong>ntifizieren, da sie Rot als ein dunkles Grau wahrnehmen. Auf<br />
folgen<strong>de</strong> Kombinationen sollte nach Möglichkeit verzichtet wer<strong>de</strong>n:<br />
• Gelb und Weiß<br />
• Rot und Blau<br />
• Blau und Orange<br />
• Beige/Gelb/Orange gemeinsam mit Rot und Grün.<br />
Nutzen Sie unkritische Farbkombinationen!<br />
Unkritische Farbkombinationen dienen <strong>de</strong>r Zugänglichkeit einer Webpräsenz auch<br />
für fehlsichtige Personen. Als unkritisch einzustufen<strong>de</strong> Kombinationen sind möglich:<br />
• Schwarz auf Weiß<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
162 <strong>Joomla</strong>! barrierefrei<br />
• Weiß auf Rot<br />
• Weiß auf Schwarz<br />
• Gelb auf Blau<br />
• Blau auf Weiß<br />
Vermei<strong>de</strong>n Sie zu starke Kontraste!<br />
Eine genügend kontrastreiche Farbwahl ist eine notwendige Bedingung, um die<br />
Inhalte einer Website ohne Probleme wahrnehmen zu können. Vermei<strong>de</strong>n Sie es<br />
jedoch, Farben mit zu starken Kontrasten zu verwen<strong>de</strong>n. Diese können zu unangenehmen<br />
Flackereffekten führen, Blen<strong>de</strong>ffekte erzeugen und somit das Lesen <strong>de</strong>r<br />
Informationen stark erschweren. Versuchen Sie daher sanfte Farbabstufungen zu<br />
verwen<strong>de</strong>n, beispielsweise einen leichten Grauton anstatt eines Weiß als Hintergrund<br />
für <strong>de</strong>n Textbereich.<br />
Vermei<strong>de</strong>n Sie Farbverläufe und Hintergrundgrafiken!<br />
Oftmals über<strong>de</strong>cken diese bestimmten Bereiche <strong>de</strong>s Informationsangebotes und<br />
lassen Informationen für kurze Zeit optisch verschwin<strong>de</strong>n o<strong>de</strong>r nur schwer lesbar<br />
machen. Innerhalb <strong>de</strong>s Inhaltsbereiches einer Website sollte <strong>de</strong>shalb im Hinblick<br />
auf eine bessere Lesbarkeit grundsätzlich auf Farbverläufe und Hintergrundgrafiken<br />
verzichtet wer<strong>de</strong>n. Für alle an<strong>de</strong>ren Bereiche muss sichergestellt wer<strong>de</strong>n, dass<br />
es zu keinerlei Überlagerung kommt.<br />
Nutzen Sie neben Farbauszeichnungen weitere Formatierungsmetho<strong>de</strong>n!<br />
Gera<strong>de</strong> Links sollten durch min<strong>de</strong>stens zwei voneinan<strong>de</strong>r unabhängige Formatierungen<br />
ausgezeichnet wer<strong>de</strong>n. Dabei kann neben einer Farbwahl für <strong>de</strong>n Navigationspunkt<br />
selbst o<strong>de</strong>r <strong>de</strong>ssen Hintergrund beispielsweise <strong>de</strong>r Fettdruck, eine Unterstreichung<br />
o<strong>de</strong>r eine Umrahmung stattfin<strong>de</strong>n.<br />
Haben Sie sich für eine bestimmte Farbpalette entschie<strong>de</strong>n, empfiehlt es sich zu<strong>de</strong>m,<br />
das Web-Angebot unter benutzer<strong>de</strong>finierten Farbeinstellungen und auch bei<br />
unterdrückten Grafiken auf seine Zugänglichkeit zu testen. Dies gelingt zum einen<br />
über die in je<strong>de</strong>m Browser vorhan<strong>de</strong>nen Optionen im Menü Einstellungen. Zum<br />
an<strong>de</strong>ren ist uns auch die Extension Checky unter Firefox wie<strong>de</strong>r ein treuer Helfer.<br />
Über <strong>de</strong>n Menüpunkt WAI/508 und <strong>de</strong>n Punkt Viewer stehen einige Werkzeuge<br />
wie beispielsweise <strong>de</strong>r Colorblind Web Page Filter zur Verfügung, um die Farbwahl<br />
entsprechend zu testen. Häufig erkennt man mit Hilfe dieser Tests recht<br />
www.brain-media.<strong>de</strong>
Tutorial 163<br />
schnell, ob sich einige Farben nicht o<strong>de</strong>r nur ungenügend voneinan<strong>de</strong>r abheben<br />
o<strong>de</strong>r ob eine ungünstige Farbkombination besteht.<br />
Unsere Grundinstallation beispielsweise lässt unter einer grafiklosen Anzeige ein<br />
wesentliches Problem erkennen. Während die Inhaltsbereiche und auch die Topnavigation<br />
noch problemlos sichtbar sind, kontrastieren die Elemente <strong>de</strong>r Hauptnavigation<br />
nicht mehr genügend, sobald die Hintergrundgrafik <strong>de</strong>r Navigationsleiste<br />
entfernt wird.<br />
Der relevante Ausschnitt aus <strong>de</strong>r Startseite ohne Grafiken.<br />
Um dies zu vermei<strong>de</strong>n, wäre zumin<strong>de</strong>st eine Anpassung <strong>de</strong>r Farbwahl sinnvoll.<br />
Wir lassen es jedoch vorerst beim bestehen<strong>de</strong>n Layout bewen<strong>de</strong>n, da wir auf<br />
Grund weiterer Probleme, die wir mit <strong>de</strong>m Template im nächsten Abschnitt feststellen,<br />
auf ein an<strong>de</strong>res Layout zugreifen wer<strong>de</strong>n.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
164 <strong>Joomla</strong>! barrierefrei<br />
7.3.4 Skalierbarkeit und Cross-Browser-<br />
Kompatibilität<br />
Ein weiteres wichtiges Kriterium für zugängliche und gebrauchstaugliche Informationsangebote<br />
ist die Skalierbarkeit und Cross-Browser-Kompatibilität <strong>de</strong>r Website.<br />
Während die Skalierbarkeit im Beson<strong>de</strong>ren auf die möglichst verlustfreie Vergrößerung<br />
bzw. Verkleinerung <strong>de</strong>s Textes abzielt und damit stark im Bereich <strong>de</strong>s<br />
barrierefreien Web<strong>de</strong>signs angesie<strong>de</strong>lt ist, kann man eine Crossbrowser-kompatible<br />
Layoutumsetzung als ein allgemeingültiges Kriterium für eine professionelle Website-Gestaltung<br />
<strong>de</strong>finieren.<br />
Obwohl das <strong>de</strong>rzeit verwen<strong>de</strong>te Template uneingeschränkt in allen gängigen grafischen<br />
Browsern benutzbar ist und damit aus Sicht <strong>de</strong>r Crossbrowserkompatibilität<br />
zunächst keine Probleme bereitet, weist es im Zusammenhang mit <strong>de</strong>r Skalierbarkeit<br />
von Schrift und Layout einige erhebliche Schwächen auf. Die Verwendung<br />
eines fixen Layouts erweist sich dabei als ein entschei<strong>de</strong>n<strong>de</strong>s Problem. Zum einen<br />
verhin<strong>de</strong>rn die über CSS in festen Pixelgrößen angegebenen Schriftmaße eine<br />
benutzer<strong>de</strong>finierte Schriftenskalierung in weniger mo<strong>de</strong>rnen Browsern, wie beispielsweise<br />
<strong>de</strong>m Internet Explorer.<br />
Die Startseite nach dreistufiger Schriftenskalierung.<br />
www.brain-media.<strong>de</strong>
Tutorial 165<br />
In Browsern, welche auch die Skalierung von in Pixel festgelegten Schriftgrößen<br />
erlauben (bspw. Firefox o<strong>de</strong>r Opera), verhin<strong>de</strong>rt das starre, auf 808 Pixel in <strong>de</strong>r<br />
Breite festgelegte Template eine nutzergerechte Darstellung. Schon bei einer Erhöhung<br />
<strong>de</strong>r Schriftgröße im Firefox – wahlweise mit [Strg] + [+] o<strong>de</strong>r über Ansicht><br />
Schriftgrad – um zwei Stufen ist die Seite nur noch eingeschränkt, bei einem dreifachen<br />
Zoom nicht mehr lesbar.<br />
Wie in obiger Abbildung zu sehen sprengt die obere Servicenavigation <strong>de</strong>n Kopfbereich<br />
<strong>de</strong>s Templates. Ähnliches passiert mit <strong>de</strong>r Navigation auf <strong>de</strong>r linken Seite<br />
und <strong>de</strong>m Inhaltsbereich. Grund dafür sind neben einer fixen Schriftgröße ebenso<br />
festgelegte Breiten- und Höhenangaben für die Layoutelemente <strong>de</strong>s Templates.<br />
Diese verharren bei <strong>de</strong>r ihnen zugewiesenen Pixelgröße, während die Schriften<br />
entsprechend <strong>de</strong>m gewählten Zoomfaktor in ihrer Größe skalieren.<br />
Das verlustfreie Funktionieren dieser eben genannten Punkte ist jedoch ein wichtiger<br />
Bestandteil einer zugänglichen Webpräsenz. Beson<strong>de</strong>rs sehbehin<strong>de</strong>rte Nutzer<br />
sind auf die Skalierung <strong>de</strong>r Schriftmaße angewiesen und auch die im vorherigen<br />
Abschnitt angesprochenen Probleme hinsichtlich <strong>de</strong>r benutzer<strong>de</strong>finierten Farbeinstellungen<br />
sprechen gegen die Verwendung <strong>de</strong>s Templates in <strong>de</strong>r vorliegen<strong>de</strong>n<br />
Form. Da wir zu<strong>de</strong>m eine gewisse Abgrenzung zu an<strong>de</strong>ren Informationsangeboten<br />
erreichen wollen, kommen wir nicht umhin, ein individuelles Template zu erstellen.<br />
Da es jedoch <strong>de</strong>n Rahmen dieses Kapitels sprengen wür<strong>de</strong> die Template-<br />
Programmierung von Grund auf zu beschreiben, soll hier ein speziell vorkonfiguriertes<br />
Layout mit seinen Beson<strong>de</strong>rheiten näher vorgestellt wer<strong>de</strong>n und im weiteren<br />
Verlauf in unserer Installation Verwendung fin<strong>de</strong>n.<br />
Als Grundlage für das spätere <strong>Joomla</strong>!-Template unseres Weblogs dient das mittlerweile<br />
recht bekannte und unter <strong>de</strong>r Creative Commons Lizenz veröffentlichte<br />
Yet Another Multicolumn Layout von Dirk Jesse, seines Zeichens Webentwickler<br />
und Fotograf. Das dazugehörige Tutorial, kurz auch YAML genannt, ist über seine<br />
Website www.highresolution.info zu erreichen, wird dort <strong>de</strong>rzeit rege diskutiert<br />
und erfreut sich wachsen<strong>de</strong>r Beliebtheit. Unter an<strong>de</strong>rem fin<strong>de</strong>t das Layout beim<br />
Relaunch <strong>de</strong>r Website http://www.einfach-fuer-alle.<strong>de</strong>, <strong>de</strong>m <strong>de</strong>utschen Informationsportal<br />
zum barrierefreien und standardkonformen Web<strong>de</strong>sign, Verwendung.<br />
Das Beson<strong>de</strong>re an YAML ist, dass es sich um eine modular aufgebaute Ausgangsbasis<br />
zur Entwicklung standardkonformer und zugänglicher Websites han<strong>de</strong>lt.<br />
Dabei ist ein flexibler Aufbau <strong>de</strong>s im Rahmen <strong>de</strong>s Tutorials erstellten Templates<br />
sowohl im Hinblick auf die Tauglichkeit in unterschiedlichen Ausgabegeräten als<br />
auch im Sinne <strong>de</strong>ssen möglicher Verwendung die Ausgangsbasis von YAML.<br />
Durch das Austauschen o<strong>de</strong>r Verän<strong>de</strong>rn einiger weniger CSS-Anweisungen kann<br />
dieses in einer Reihe von Layoutversionen (Ein-, Zwei, Dreispalter etc.) Anwendung<br />
fin<strong>de</strong>n und ist in Zusammenhang mit seiner stabilen und robusten Co<strong>de</strong>basis<br />
hervorragend als Framework für eigene Entwicklungen geeignet. YAML in <strong>de</strong>r<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
166 <strong>Joomla</strong>! barrierefrei<br />
Version 2.0 funktioniert ohne Ta<strong>de</strong>l mit allen gängigen Browsertypen und bietet<br />
durch Verwendung flexibler Größenangaben für Schrift und Layout, die für die<br />
Umsetzung einer barrierearmen Website notwendigen Voraussetzungen.<br />
Das für unsere Website verwen<strong>de</strong>te Template basiert vollständig auf dieser Entwicklung.<br />
Im Laufe <strong>de</strong>r Portierung dieses in eine <strong>Joomla</strong>!-Umgebung wur<strong>de</strong>n sowohl<br />
alle notwendigen Ergänzung an <strong>de</strong>r In<strong>de</strong>x-Datei vorgenommen, als auch eine<br />
Reihe von Formatierungsanweisungen für <strong>Joomla</strong>!-spezifische CSS-Klassen ergänzt.<br />
Die untenstehen<strong>de</strong> Abbildung zeigt das bereits in das System integrierte<br />
Template auf <strong>de</strong>r Startseite unseres Weblogs.<br />
Die Startseite mit neuem Template.<br />
Der grundsätzliche Aufbau entspricht dabei <strong>de</strong>m einer je<strong>de</strong>n üblichen<br />
Templateinstallation für <strong>Joomla</strong>!. Neben einer in<strong>de</strong>x.php-Datei sind im Ordner<br />
images alle für das Layout notwendigen Grafiken abgelegt, eine XML-Datei sorgt<br />
für die korrekte Installation und die Datei template_thumbnail.png enthält ein kleines<br />
Vorschaubild <strong>de</strong>s Templates. Lediglich die notwendigen<br />
www.brain-media.<strong>de</strong>
Tutorial 167<br />
Stylesheetanweisungen sind im Gegensatz zu vielen bekannten <strong>Joomla</strong>!-Templates<br />
etwas komplexer aufgebaut. Dabei wur<strong>de</strong> für YAML eine Reihe von CSS-<br />
Anweisungen in seperate Stylesheets ausgelagert. Dies ist zum einen notwendig,<br />
um die Flexibilität <strong>de</strong>s Layouts zu gewährleisten, zum an<strong>de</strong>ren sorgen die in jeweiligen<br />
Stylesheets separat zusammengefassten Anweisungen für mehr Übersicht bei<br />
<strong>de</strong>r Bearbeitung. Während die Datei template_css.css für die eigentliche<br />
layoutmäßige Gestaltung <strong>de</strong>s Templates sorgt, dient base.css als unverän<strong>de</strong>rliche<br />
Konstante <strong>de</strong>s gesamten Rahmens <strong>de</strong>s Systems. Ergänzt wer<strong>de</strong>n diese durch die<br />
Dateien print.css und iehacks.css. Während die print.css ein spezielles Druckstylesheet<br />
liefert, enthält die Datei iehacks.css, wie <strong>de</strong>r Name schon sagt, geson<strong>de</strong>rte<br />
Anweisungen für <strong>de</strong>n Internet Explorer, um <strong>de</strong>ssen Mängel im Umgang mit Cascading<br />
Style Sheets zu beseitigen.<br />
Der grundlegen<strong>de</strong> Aufbau <strong>de</strong>s Templates kann <strong>de</strong>r Struktur <strong>de</strong>r dazugehörigen<br />
in<strong>de</strong>x.php-Datei entnommen wer<strong>de</strong>n. Der Aufbau entspricht im Kopfbereich <strong>de</strong>m<br />
eines je<strong>de</strong>n <strong>Joomla</strong>!-Templates, lediglich die Anweisungen zur Einbindung <strong>de</strong>r<br />
Stylesheets bedürfen einiger Erläuterungen.<br />
Die Einbindung verschie<strong>de</strong>ner Stylesheets sieht wie folgt aus:<br />
...<br />
168 <strong>Joomla</strong>! barrierefrei<br />
und eine einheitliche Darstellung über die unterschiedlichen Browsertypen hinweg<br />
zu gewährleisten.<br />
Der Body-Bereich <strong>de</strong>s Templates enthält alle zur Anzeige <strong>de</strong>r späteren Inhalte<br />
notwendigen Anweisungen und ist recht übersichtlich gestaltet.<br />
Der Body-Bereich <strong>de</strong>s Templates:<br />
<br />
<br />
<br />
...<br />
Die Container page_margins und hold_floats dienen <strong>de</strong>r Abstandhaltung und Gestaltung<br />
<strong>de</strong>r Umrandung <strong>de</strong>s eigentlichen Templates.<br />
Der Body-Bereich <strong>de</strong>s Templates:<br />
...<br />
<br />
<br />
Tutorial 169<br />
diese über die gesamte Breite und Höhe <strong>de</strong>s Containers hea<strong>de</strong>r aus. Dadurch entsteht<br />
<strong>de</strong>r Eindruck einer vollständigen Skalierbarkeit, obwohl die Grafik in Wirklichkeit<br />
nur gestreckt o<strong>de</strong>r gestaucht wird. Entsprechen<strong>de</strong> Qualitätsverluste müssen,<br />
zumin<strong>de</strong>st bis zur wirklich produktiven Verwendung von SVG (Skalable<br />
Vector Graphics), noch in Kauf genommen wer<strong>de</strong>n. Das Alt-Attribut wur<strong>de</strong> mit<br />
Bedacht leer gelassen, da die Grafik keinerlei Informationswirkung besitzt und<br />
lediglich <strong>de</strong>r optischen Gestaltung dient.<br />
Der inhaltliche Hauptteil <strong>de</strong>s Templates fin<strong>de</strong>t sich innerhalb <strong>de</strong>s Containers main.<br />
Zu je<strong>de</strong>r Spalte wird ein äußerer Container col1 bzw. col2 und ein innerer<br />
col1_content o<strong>de</strong>r col2_content eingefügt. Innerhalb <strong>de</strong>r col_content wer<strong>de</strong>n über<br />
die bekannten PHP-Tags sowohl die Modulpositionen, als auch <strong>de</strong>r Inhaltsbereich<br />
mit eingebun<strong>de</strong>n.<br />
Der Body-Bereich <strong>de</strong>s Templates:<br />
...<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
...<br />
Abgeschlossen wird die Seite durch ein zentrales Hr-Element, mit welchem alle<br />
vorher festgelegten Float-Positionierungen <strong>de</strong>r obigen Containerelemente über ein<br />
zentrales Clearing wie<strong>de</strong>r aufgehoben wer<strong>de</strong>n, und einen abschließen<strong>de</strong>n<br />
Footerbereich, in <strong>de</strong>m eine weitere Modulposition vorhan<strong>de</strong>n ist.<br />
Und ein letzter Blick auf <strong>de</strong>n angepassten Body-Bereich <strong>de</strong>s Templates:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
170 <strong>Joomla</strong>! barrierefrei<br />
...<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Zu bemerken ist, dass gera<strong>de</strong> für die Ausgabe <strong>de</strong>r Modulpositionen ein beson<strong>de</strong>rer<br />
Parameter notwendig ist. Mittels <br />
wer<strong>de</strong>n alle Templatepositionen mit <strong>de</strong>m Parameter -2 ausgezeichnet. Dieser ermöglicht<br />
eine von uns gewünschte Ausgabe <strong>de</strong>r Frontend-Module innerhalb eines<br />
Div-Containers und einer mit H3 <strong>de</strong>klarierten Modulüberschrift.<br />
Nach <strong>de</strong>r Installation, <strong>de</strong>s auf <strong>de</strong>n Namen mk_blogstoff getauften Templates erhalten<br />
wir ein frisches und sowohl optisch als auch technisch auf unsere Bedürfnisse<br />
zugeschnittenes Bild im Frontend unserer <strong>Joomla</strong>!-Installation. Das Layout ist<br />
farblich in leichten Grün- und Grautönen gehalten, über verschie<strong>de</strong>ne Abstufungen<br />
<strong>de</strong>r Farben entstehen sanfte Übergänge zwischen <strong>de</strong>n einzelnen Seitenbereichen.<br />
Der zweispaltige Aufbau <strong>de</strong>r Seite wirkt aufgeräumt und gut strukturiert. Das verwen<strong>de</strong>te<br />
Schriftbild und die Grafiken sind zu<strong>de</strong>m ebenfalls gut erkennbar und<br />
wirken in ihrer Verwendung homogen. Sowohl bei Abschaltung <strong>de</strong>r (Layout-)<br />
Grafiken <strong>de</strong>s Templates als auch bei <strong>de</strong>r Betrachtung <strong>de</strong>r Seite aus <strong>de</strong>m Blickwinkel<br />
eines sehbehin<strong>de</strong>rten Menschen lassen sich alle Bereiche entsprechend erkennen<br />
und genügend voneinan<strong>de</strong>r unterschei<strong>de</strong>n.<br />
www.brain-media.<strong>de</strong>
Tutorial 171<br />
Die Contentseite in normaler Ansicht.<br />
Ein weiterer Vorteil bietet sich durch die in <strong>de</strong>r Verwendung <strong>de</strong>r relativen Größen<br />
„em“ und Prozent als Maßstäbe für die Breiten- und Höhenangaben <strong>de</strong>r<br />
Layoutelemente und Größen <strong>de</strong>r verwen<strong>de</strong>ten Schriften. Bei<strong>de</strong> Größen können<br />
insoweit als relativ betrachtet wer<strong>de</strong>n, als diese in Abhängigkeit <strong>de</strong>s im Browser<br />
eingestellten Zoomfaktors variieren und damit verän<strong>de</strong>rbare Längen- und Breitenwerte<br />
für die damit <strong>de</strong>finierten Layoutelemente zurückgeben. Obwohl diese Art <strong>de</strong>r<br />
Gestaltung eines Web-Auftritts einiges an Erfahrung im Umgang mit CSS und<br />
<strong>de</strong>ssen browserseitiger Interpretation voraussetzt, wird <strong>de</strong>r zusätzliche Aufwand<br />
sofort belohnt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
172 <strong>Joomla</strong>! barrierefrei<br />
Und die Contentseite bei einer Vergrößerung von 150 Prozent.<br />
Die gesamte Webpräsenz skaliert nun im Gegensatz zu unserem ersten Template<br />
nahezu vollständig. Wie in <strong>de</strong>r Abbildung zu sehen, skaliert das Layout nun im<br />
Verhältnis zur prozentualen Vergrößerung <strong>de</strong>s Texts, um auch bei höheren Zoomfaktoren<br />
ein wahrnehmbares und damit zugänglicheres Informationsangebot zu<br />
gewährleisten. Alle Bereiche sind weiterhin ohne Probleme lesbar. Um jedoch<br />
extreme Zoomergebnisse <strong>de</strong>s Layouts zu vermei<strong>de</strong>n – auch diese können wie<strong>de</strong>r<br />
für Barrieren o<strong>de</strong>r zumin<strong>de</strong>st Verwirrungen sorgen –, geben wir <strong>de</strong>r Breite <strong>de</strong>s<br />
Gesamtlayouts eine minimale und maximale Breitenangabe. Da <strong>de</strong>r Internet Explorer<br />
in seiner aktuellen Version die CSS-Befehle min-width und max-width nicht<br />
genügend interpretieren kann, kommt ein zusätzliches Javascript zum Einsatz, um<br />
diese Funktion auch <strong>de</strong>m Internet Explorer zugänglich zu machen. Die Javascript-<br />
Datei minmax.js wird dabei ebenfalls über die Conditional Comments in das Template<br />
eingebun<strong>de</strong>n:<br />
Die Einbindung von minmax.js erfolgt mit:<br />
<br />
www.brain-media.<strong>de</strong>
Tutorial 173<br />
Folgerichtig skaliert das Template nun zunächst korrekt, bleibt jedoch ab einer<br />
minimalen Breite von 794 Pixeln und ab einer maximalen Breite von 80em unverän<strong>de</strong>rlich.<br />
Extreme Auswüchse <strong>de</strong>r Skalierbarkeit lassen sich somit wirkungsvoll<br />
vermei<strong>de</strong>n.<br />
Die Darstellung <strong>de</strong>s Inhaltsbereichs im Lynx.<br />
Auch hinsichtlich <strong>de</strong>r Verwendung in verschie<strong>de</strong>nen Browsern und an<strong>de</strong>ren Ausgabegeräten<br />
macht unsere Website schon jetzt eine recht gute Figur. Sowohl in <strong>de</strong>n<br />
gängigen grafischen Browsern wie Firefox, Opera, Internet Explorer, Netscape als<br />
auch in Textbrowsern wie Lynx und Jaws sind die relevanten Informationen verlustarm<br />
wahrnehmbar. Zu<strong>de</strong>m ist die korrekte Anzeige <strong>de</strong>r Anwendung in mobilen<br />
Endgeräten wie PDAs, Pocket PCs o<strong>de</strong>r WAP-fähigen Handys durch <strong>de</strong>n Einsatz<br />
eines geeigneten Designs möglich.<br />
Ein XHTML-1.0-vali<strong>de</strong>r Quellco<strong>de</strong> und eine CSS 2.0-korrekte Auszeichnung<br />
unserer Style Sheets run<strong>de</strong>n das Ergebnis unserer Überarbeitung <strong>de</strong>s Layouts ab.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
174 <strong>Joomla</strong>! barrierefrei<br />
Wir haben damit bereits einige wichtige Punkte <strong>de</strong>r BITV umgesetzt. Es sei jedoch<br />
bemerkt, dass es noch genügend Möglichkeiten <strong>de</strong>r Optimierung und Verbesserung<br />
auch im Hinblick auf das verwen<strong>de</strong>te Template gibt. Ein oft angesprochener Kritikpunkt<br />
bei <strong>de</strong>r Verwendung von YAML ist das Argument, dass die starke Flexibilität<br />
<strong>de</strong>s Frameworks durch eine zu große Anzahl an verwen<strong>de</strong>ten DIV-<br />
Containern erkauft wird und damit eine regelrechte Div-Suppe entsteht.<br />
Richtig ist, dass mit einigermaßen geringem administrativem Aufwand die ein o<strong>de</strong>r<br />
an<strong>de</strong>re Div-Box gespart wer<strong>de</strong>n könnte, in<strong>de</strong>m die allein für <strong>de</strong>n Spaltenabstand<br />
verwen<strong>de</strong>ten inneren Div-Container im Inhaltsbereich und <strong>de</strong>n Marginalspalten<br />
weggelassen und die Abstän<strong>de</strong> in die CSS-Deklaration <strong>de</strong>r übergeordneten Container<br />
aufgenommen wer<strong>de</strong>n wür<strong>de</strong>n. Da die Div-Container jedoch semantisch und<br />
ohne entsprechen<strong>de</strong> CSS-Deklaration auch layoutmäßig neutral sind und zu<strong>de</strong>m in<br />
<strong>de</strong>r <strong>de</strong>rzetigen Verwendung keinerlei Einschränkungen hinsichtlich <strong>de</strong>r Verwendung<br />
erkennen lassen, entsteht kein akuter Handlungsbedarf diese Modifikationen<br />
durchzuführen.<br />
Wer jedoch gern mehr über das verwen<strong>de</strong>te Framework erfahren, es eventuell gern<br />
selbst als Basis für eigene Entwicklungen einsetzen o<strong>de</strong>r einfach einen Beitrag zur<br />
Optimierung von YAML leisten möchte, <strong>de</strong>m sei das gesamte von Dirk Jesse verfasste<br />
Tutorial unter http://blog.highresolution.info und zu<strong>de</strong>m ein <strong>de</strong>taillierter<br />
Blick in <strong>de</strong>n Quellco<strong>de</strong> <strong>de</strong>s Templates mk_blogstoff ans Herz gelegt.<br />
Im weiteren Verlauf <strong>de</strong>s Tutorials wer<strong>de</strong>n wir noch <strong>de</strong>s Öfteren innerhalb <strong>de</strong>s<br />
Templates arbeiten, um zusätzliche Funktionalitäten in <strong>de</strong>r in<strong>de</strong>x.php zu ergänzen<br />
o<strong>de</strong>r durch Hinzufügen weiterer CSS-Definitionen die optische Gestaltung weiter<br />
zu unterstützen.<br />
7.3.5 Die Navigation<br />
Eine Website ist im Gegensatz zu linear aufgebauten Medien, wie Zeitschriften<br />
o<strong>de</strong>r Büchern, ein mehrdimensionales Informationsangebot. Erst mit Hilfe einer<br />
Navigation kann <strong>de</strong>r Nutzer diese Mehrdimensionalität bedienen. Dabei sollen<br />
Navigationselemente die Informationsflüsse hierarchisch bün<strong>de</strong>ln und zielgerichtet<br />
anbieten. Verschie<strong>de</strong>ne Menüebenen sollen zu<strong>de</strong>m Struktur und Orientierung<br />
schaffen.<br />
Zugängliche und übersichtliche Navigationsmenüs haben auf Grund dieser herausragen<strong>de</strong>n<br />
Stellung einen entschei<strong>de</strong>n<strong>de</strong>n Einfluss auf die Benutzbarkeit eines Web-<br />
Angebotes. Dies betrifft nicht nur die Hauptnavigation, son<strong>de</strong>rn die gesamte Struktur<br />
an Navigationsmöglichkeiten innerhalb eines Dokumentes. Diese muss so konzipiert<br />
sein, dass sie <strong>de</strong>n Nutzer mit einer Art unsichtbarer Hand führt und gleichzeitig<br />
das notwendige Maß an individueller Freiheit lässt. Es empfiehlt sich <strong>de</strong>s-<br />
www.brain-media.<strong>de</strong>
Tutorial 175<br />
halb, schon in <strong>de</strong>r Planungsphase beson<strong>de</strong>ren Wert auf die Architektur <strong>de</strong>r Navigationsstrukturen<br />
zu legen. Denn nicht selten sind in <strong>de</strong>r Praxis Teilbereiche einer<br />
Website mit Navigationspunkten überla<strong>de</strong>n o<strong>de</strong>r im gegensätzlichen Fall nicht o<strong>de</strong>r<br />
nur unzureichend erreichbar.<br />
Die Planung <strong>de</strong>r Navigationsstruktur.<br />
Es lassen sich, wie zu sehen, verschie<strong>de</strong>ne Arten von Navigationen mit unterschiedlichen<br />
Funktionen unterschei<strong>de</strong>n. Während das Hauptmenü als strukturelles<br />
Rückgrat <strong>de</strong>r Website alle Hauptbereiche miteinan<strong>de</strong>r verbin<strong>de</strong>t, dienen beispielsweise<br />
Sprungmarken (Skip Links) und Textanker <strong>de</strong>m schnelleren Navigieren<br />
innerhalb <strong>de</strong>r Website, in<strong>de</strong>m einzelne Teilbereiche übergangen und an<strong>de</strong>re, für<br />
<strong>de</strong>n Nutzer relevante Bereiche beson<strong>de</strong>rs schnell erreicht wer<strong>de</strong>n können.<br />
Interne und externe Textlinks zu weiterführen<strong>de</strong>n Informationen schaffen Verzweigungen<br />
und kontextbezogene Seitennavigationen zu vorhergehen<strong>de</strong>n, nachfolgen<strong>de</strong>n<br />
o<strong>de</strong>r ähnlichen Textelementen und dienen <strong>de</strong>r Vermittlung von Raum und<br />
Tiefe. Abgerun<strong>de</strong>t wird diese Struktur durch so genannte Breadcrumb- o<strong>de</strong>r<br />
Pfadnavigationen, die es <strong>de</strong>m Nutzer erlaubt, je<strong>de</strong>rzeit seinen Weg zur aktuellen<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
176 <strong>Joomla</strong>! barrierefrei<br />
Information zurückzuverfolgen und schnell zu übergeordneten Ebenen zurückzukehren.<br />
Hat man sich im Rahmen <strong>de</strong>r Planungsphase auf eine sinnvolle Aufteilung <strong>de</strong>r<br />
Navigationsmechanismen festgelegt, sollte nun die Planung <strong>de</strong>r Erreichbarkeit und<br />
Wahrnehmbarkeit <strong>de</strong>r zu implementieren<strong>de</strong>n Elemente erfolgen. Dabei sind sowohl<br />
eine ansprechen<strong>de</strong> optische Gestaltung als auch die Verwendung geeigneter<br />
Auszeichnungsmetho<strong>de</strong>n von hoher Wichtigkeit.<br />
Während noch vor nicht allzu langer Zeit Navigationsmenüs hinter opulenten Grafiken<br />
versteckt wur<strong>de</strong>n, können heutzutage mit geeignetem Markup und <strong>de</strong>n Möglichkeiten<br />
von CSS optisch gleichwertige und dabei zugängliche Ergebnisse erzielt<br />
wer<strong>de</strong>n. Die technische Basis einer zugänglichen Navigation bil<strong>de</strong>t im Regelfall<br />
eine Listenformatierung. Dabei hat sich die Verwendung von ungeordneten Listen<br />
() als sehr robust und flexibel herausgestellt. Einzelnen Navigationspunkten<br />
eines Navigationsbaumes wer<strong>de</strong>n dazu, wie es voranstehen<strong>de</strong> Abbildung beispielhaft<br />
zeigt, eigene Listenelemente () zugewiesen.<br />
Die beispielhafte Listendarstellung einer Navigation:<br />
<br />
<br />
Navigationspunkt 1<br />
Navigationspunkt 2<br />
...<br />
Diese Metho<strong>de</strong> <strong>de</strong>r Auszeichnung macht auch strukturell Sinn, ist ein Navigationsmenü,<br />
gleich ob dieses horizontal o<strong>de</strong>r vertikal dargestellt wird, mit einer Liste<br />
von Elementen vergleichbar. Eine Ausnahme bil<strong>de</strong>n hier die Textanker und -links,<br />
da diese zum einen <strong>de</strong>m normalen Textfluss zugehörig sind und zum an<strong>de</strong>ren meist<br />
allein innerhalb <strong>de</strong>s Textes erscheinen. Um diesen differenzierten Anfor<strong>de</strong>rungen<br />
gerecht zu wer<strong>de</strong>n, gibt es in <strong>Joomla</strong>! verschie<strong>de</strong>ne Funktionen, um Navigationsmechanismen<br />
zu realisieren.<br />
Die Voraussetzung zur Schaffung einer geeigneten Hauptnavigation haben wir<br />
bereits im vorhergehen<strong>de</strong>n Abschnitt mit <strong>de</strong>r Installation <strong>de</strong>s Accessibility Hacks<br />
geschaffen. Erstellt man nun ein Navigationsmenü über <strong>de</strong>n <strong>Joomla</strong>!-<br />
Menümanager, fallen sofort weitere Eingabemöglichkeiten im Backend auf. Die<br />
Abbildung zeigt unsere Hauptnavigation in <strong>de</strong>r Übersicht.<br />
www.brain-media.<strong>de</strong>
Tutorial 177<br />
Die Übersicht <strong>de</strong>r Hauptnavigation im Backend.<br />
Neben <strong>de</strong>n bereits bekannten Informationen über Name, Position und Art <strong>de</strong>r<br />
Verlinkung <strong>de</strong>s Menüpunktes erscheinen weitere Möglichkeiten zur Eingabe von<br />
Accesskeys, eines Tabin<strong>de</strong>x und eines dfn-Tags. Diesen Punkten lassen sich über<br />
das Eingabeformular kurze Werte wie Buchstaben o<strong>de</strong>r Zahlen zuweisen und über<br />
das Diskettensymbol speichern.<br />
Zurück im Frontend erkennen wir im Quelltext, dass unsere Hauptnavigation als<br />
eine ungeordnete Liste dargestellt wird und sich zu je<strong>de</strong>m Navigationspunkt (Listenelement)<br />
eine Reihe weiterer Attribute und Tags gesellt hat. Obige Abbildung<br />
zeigt einen einzelnen Navigationspunkt mit diesen zusätzlichen Attributen und<br />
Tags, auf <strong>de</strong>ssen Administrationsmöglichkeiten wir noch eben im Backend trafen.<br />
Ein einzelner Navigationspunkt als Listenelement sieht im Quelltext wie folgt aus:<br />
1Weblog.<br />
Im Folgen<strong>de</strong>n wer<strong>de</strong>n die relevanten Elemente mit ihrer Funktionsfähigkeit etwas<br />
genauer erläutert.<br />
Das Title-Attribut dient <strong>de</strong>r weiteren Erläuterung eines Navigationspunktes, in <strong>de</strong>m<br />
bei einem Mouseover über <strong>de</strong>n Menüpunkt ein Tooltip erscheint, mit <strong>de</strong>ssen Hilfe<br />
<strong>de</strong>r innerhalb <strong>de</strong>s Title-Attributes enthaltene Text ausgegeben wird.<br />
Die BITV empfiehlt die Verwendung <strong>de</strong>s Title-Attributen, in <strong>de</strong>r Praxis hat sich<br />
jedoch herausgestellt, dass eine Auszeichnung nur dann erfolgen sollte, wenn zusätzliche<br />
Informationen zum Navigationspunkt benötigt wer<strong>de</strong>n. Dies kann dann<br />
<strong>de</strong>r Fall sein, wenn die Benennung <strong>de</strong>s Navigationspunktes nicht sprechend genug<br />
o<strong>de</strong>r zu wenig ein<strong>de</strong>utig ist. Unbedingt vermie<strong>de</strong>n wer<strong>de</strong>n sollte jedoch die Wie<strong>de</strong>rholung<br />
<strong>de</strong>r Linkbezeichnung innerhalb <strong>de</strong>s Titles. Einerseits erhält <strong>de</strong>r Nutzer<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
178 <strong>Joomla</strong>! barrierefrei<br />
dadurch keine zusätzlichen Informationen, zum an<strong>de</strong>ren wer<strong>de</strong>n von einigen Ausgabegeräten<br />
sowohl <strong>de</strong>r Title als auch <strong>de</strong>r Name <strong>de</strong>s Navigationselements vorgelesen.<br />
Wie störend eine ständige Wie<strong>de</strong>rholung <strong>de</strong>r Begrifflichkeiten dann ist, kann<br />
man sich leicht vorstellen.<br />
Accesskeys, diese auch als Tastaturkürzel bekannten Elemente gehören zu <strong>de</strong>n<br />
umstrittensten Techniken im Bereich <strong>de</strong>s barrierefreien Web<strong>de</strong>signs. Grundsätzlich<br />
sollen es diese <strong>de</strong>n Nutzern, welche nicht in <strong>de</strong>r Lage sind, mit einer Maus zu navigieren,<br />
erlauben, über kurze Tastenkombinationen zu <strong>de</strong>n verschie<strong>de</strong>nen Bereichen<br />
einer Website zu gelangen. Alle gängigen grafischen Browser unterstützen<br />
mittlerweile die Nutzung dieser Navigationsmöglichkeit.<br />
Das Problem hinter dieser Technik steckt aber wie<strong>de</strong>r einmal im Detail. Zum einen<br />
gibt es we<strong>de</strong>r eine wirklich verbindliche browserübergreifen<strong>de</strong> Festlegung welche<br />
Accesskeys welchen Bereichen einer Website zugeordnet sind, zum an<strong>de</strong>ren müssen<br />
Nutzer unterschiedlicher Browser immer noch verschie<strong>de</strong>ne Wege gehen um<br />
ein Tastaturkürzel zu aktivieren. Im Firefox aktiviert man einen Accesskey beispielsweise<br />
mit Hilfe <strong>de</strong>r ALT-Taste (unter Mac OS STRL-Taste) und <strong>de</strong>m gleichzeitigen<br />
Betätigen <strong>de</strong>r jeweiligen Taste für <strong>de</strong>n gewünschten Accesskey, im Internet<br />
Explorer ist zusätzlich die Bestätigung per Enter-Taste notwendig. Bei Opera<br />
wie<strong>de</strong>rum benötigt man die Betätigung <strong>de</strong>r Tasten Shift + Esc + jeweiliger<br />
Accesskey. Als seien dies nicht schon genug Hin<strong>de</strong>rnisse für eine eigentlich die<br />
Zugänglichkeit unterstützen<strong>de</strong> Technik, kommt gera<strong>de</strong> für Nutzer assistiver Technologien<br />
ein weiteres und viel schwerwiegen<strong>de</strong>res Problem hinzu.<br />
Die meisten Tastenkombinationen, die man als Accesskey <strong>de</strong>finieren kann, sind<br />
schon in an<strong>de</strong>ren Client-seitigen Anwendungen vergeben. Schaut man sich die<br />
gängigen grafischen Browser und verbreiteten assistiven Werkzeuge an, wird man<br />
sehr schnell feststellen, dass eine ganze Reihe an Zeichen auf <strong>de</strong>r Tastatur bereits<br />
von an<strong>de</strong>ren Anwendungen benutzt wird und damit nur noch wenig Spielraum<br />
besteht. Nachstehen<strong>de</strong> Tabelle stellt diese Problematik ver<strong>de</strong>utlichend dar:<br />
Browser/User Agent<br />
(unter Windows)<br />
Internet Explorer 5<br />
Bereits belegte Shortcuts <strong>de</strong>r ersten Menüebene<br />
a b d f r x<br />
Internet Explorer 6 a b d f s x 2 4 6 7 ?<br />
Netscape 4.77<br />
Netscape 6/7<br />
Mozilla 1.3<br />
Lynx / Pine<br />
c e f g h v<br />
b e f g h i m n p s t v w<br />
b d e f g h t v w<br />
c g h j m o p t<br />
Opera 6/7 a b c d f h l n p w x z 2 6 9 0<br />
www.brain-media.<strong>de</strong>
Tutorial 179<br />
Browser/User Agent<br />
(unter Windows)<br />
Bereits belegte Shortcuts <strong>de</strong>r ersten Menüebene<br />
Home Page Rea<strong>de</strong>r c e j l o t w z 0 1<br />
JAWS d 5<br />
Somit sind insgesamt die Tasten a, b, c, d, e, f, g, h, i, j, l, m, n, o, p, q, s, t, v, w, x,<br />
z, 1, 2, 4, 5, 6, 7, 9, 0, - und ? bereits belegt.<br />
Weiter erschwerend kommt hinzu, dass für je<strong>de</strong>n Webentwickler die Möglichkeit<br />
besteht, selbst zu entschei<strong>de</strong>n, welche Tasten er mit welchen Bereichen seines<br />
Informationsangebotes belegt. Ein Benutzer muss somit auf je<strong>de</strong>r Website, die er<br />
besucht, von neuem lernen, welche Bereiche mit welchen Accesskeys verbun<strong>de</strong>n<br />
sind und welche nicht.<br />
Trotz dieser Probleme erfreuen sich Accesskeys nicht selten großer Beliebtheit.<br />
Für einige Teilbereiche, welche in nahezu je<strong>de</strong>m webbasierten Informationsangebot<br />
anzutreffen sind, hat sich mittlerweile in <strong>de</strong>r Praxis mit <strong>de</strong>r britischen<br />
Accesskey-Verwendung ein Quasi-Standard etabliert, um eine einheitliche Belegung<br />
zu gewährleisten. Die dahingehen<strong>de</strong>n Vorschläge lauten wie folgt:<br />
• S - Navigation überspringen<br />
• 1 - Startseite<br />
• 2 - Was ist neu<br />
• 3 - Inhalt (Sitemap)<br />
• 4 - Suche<br />
• 5 - Häufig gestellte Fragen (FAQ)<br />
• 6 - Hilfe<br />
• 7 - Beschwer<strong>de</strong>n<br />
• 8 - Bestimmungen und Bedingungen (AGB)<br />
• 9 - Feedbackformular<br />
• 0 - Accesskeyübersicht<br />
Möchten Sie trotz <strong>de</strong>r Nachteile, die mit <strong>de</strong>m Einsatz von Accesskeys zweifelsohne<br />
einhergehen, einige wichtige Seitenbereiche darüber nutzbar machen, so sollte zum<br />
einen obiger Belegungsvorschlag genutzt wer<strong>de</strong>n. Zum an<strong>de</strong>ren hat es sich als<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
180 <strong>Joomla</strong>! barrierefrei<br />
praxistauglich erwiesen, die Accesskey-Belegung zusätzlich, meist auf einer umfassen<strong>de</strong>n<br />
Informationsseite zur Zugänglichkeit <strong>de</strong>s jeweiligen Webangebotes, zu<br />
fixieren. Wir wer<strong>de</strong>n in unserem Tutorial im weiteren Verlauf <strong>de</strong>r Entwicklung<br />
<strong>de</strong>m britischen Accesskey-Standard folgen.<br />
Mit <strong>de</strong>m Tabin<strong>de</strong>x erreichen wir eine weitere umstrittene Technik, Web-Angebote<br />
zugänglicher zu gestalten. Die Nutzung einer Seite mittels Tabbing ist ein beliebtes<br />
Mittel, um sich als Benutzer schnell und ohne Maus durch das Dokument zu bewegen.<br />
Dafür gibt <strong>de</strong>r benutze Browser einen bestimmten Tabin<strong>de</strong>x und damit die<br />
Reihenfolge <strong>de</strong>r Tabbing-Elemente standardmäßig vor. Das Tabin<strong>de</strong>x-Attribut<br />
erlaubt nun <strong>de</strong>m Web<strong>de</strong>signer die Reihenfolge <strong>de</strong>r durch Tabulatornavigation angesteuerten<br />
Elemente durch Eingabe eines ganzzahligen Wertes frei festzulegen.<br />
Dieses lässt sich ebenso wie die Attribute title und accesskey auf eine Reihe von<br />
HTML-Elementen anwen<strong>de</strong>n und macht vor allem in Zusammenhang mit Formularelementen<br />
Sinn, wenn die Reihenfolge <strong>de</strong>r vorgesehenen Bedienung nicht <strong>de</strong>r<br />
Folge <strong>de</strong>r Elemente im Quelltext entspricht, also eine korrekte Linearisierung <strong>de</strong>s<br />
Formulars und <strong>de</strong>ssen Reihenfolge <strong>de</strong>r Formularelemente nicht möglich ist.<br />
Auch für die Menüpunkte einer Navigation kann die Zuweisung bzw. geson<strong>de</strong>rte<br />
Gestaltung eines Tabin<strong>de</strong>x erfolgen. Hier hat sich jedoch ebenfalls in <strong>de</strong>r Praxis<br />
gezeigt, dass die vom jeweiligen Browser vorgegebene Reihenfolge oftmals geeigneter<br />
als eine händisch angelegte In<strong>de</strong>xierung ist.<br />
Sollten Sie <strong>de</strong>n Einsatz eines eigenen Tabin<strong>de</strong>x <strong>de</strong>nnoch in Erwägung ziehen, so<br />
macht es unter Umstän<strong>de</strong>n Sinn, wenn Sie diesen für verschie<strong>de</strong>ne Seitenbereiche<br />
in 10er Schritten vergeben. Bei einer Erweiterung <strong>de</strong>r Website kann damit recht<br />
schnell auch <strong>de</strong>r Tabin<strong>de</strong>x durch Ausnutzung <strong>de</strong>r Zwischenräume erweitert wer<strong>de</strong>n<br />
und es müssen nicht alle Elemente erneut indiziert wer<strong>de</strong>n.<br />
Das ID-active-menu ist ein CSS-Element, welches es ermöglichen soll, <strong>de</strong>n jeweils<br />
aktiven Menüpunkt geson<strong>de</strong>rt zu formatieren. Es hat sich auch hier als praxisnah<br />
erwiesen, diesem aktiven Menüpunkt in etwa die Formatierung <strong>de</strong>s Hovereffekts<br />
<strong>de</strong>s Navigationspunktes <strong>de</strong>s gesamten Menüs zuzuweisen. In <strong>Joomla</strong>! wer<strong>de</strong>n die<br />
Aktivzustän<strong>de</strong> active-menu3 und bei Aktivierung eines Navigationspunktes <strong>de</strong>r<br />
Submenüebene active-menu2 unterschie<strong>de</strong>n.<br />
Das Dfn-Tag ist für die Angabe <strong>de</strong>r Reihenfolge und Ebenentiefe eines Navigationsmenüs,<br />
insbeson<strong>de</strong>re zur Erfassung <strong>de</strong>r Seitenstruktur wichtig. Damit diese<br />
Struktur auch für <strong>de</strong>n Benutzer eines nichtvisuellen Browsers ersichtlich wird,<br />
eigne sich im beson<strong>de</strong>ren Maße die Nummerierung <strong>de</strong>r einzelnen Navigationspunkte<br />
nach <strong>de</strong>m Schema <strong>de</strong>r Ebenentiefe und <strong>de</strong>r laufen<strong>de</strong>n Nummer innerhalb<br />
<strong>de</strong>s Navigationsmenüs.<br />
Der Dfn-Tag eignet sich für diese Art <strong>de</strong>r Darstellung im beson<strong>de</strong>ren Maße. Dies<br />
verwirrt insoweit, als wir für unser Menü zunächst eine ungeordnete Liste einer<br />
www.brain-media.<strong>de</strong>
Tutorial 181<br />
geordneten vorgezogen haben, um einer automatisierten Nummerierung aus <strong>de</strong>m<br />
Weg zu gehen. Obwohl über eine geordnete Liste recht einfach und zu<strong>de</strong>m automatisiert<br />
eine Nummerierung <strong>de</strong>r Navigationspunkte möglich wäre, ist diese jedoch<br />
aus zweierlei Grün<strong>de</strong>n ungeeignet. Zum einen lassen sich die vorangestellten<br />
Nummerierungen nicht mittels einer geeigneten CSS-Anweisung geson<strong>de</strong>rt für<br />
grafische Browser unsichtbar machen, aber für nichtvisuelle Anwendungen anzeigen.<br />
Zum an<strong>de</strong>ren sind automatische Listennummerierungen bei komplexen und<br />
verteilten Navigationsstrukturen nicht o<strong>de</strong>r nur schwer automatisiert möglich.<br />
Im Gegensatz dazu lässt sich das Dfn-Element relativ leicht für grafische Browser<br />
über einige CSS-Deklarationen aus <strong>de</strong>m sichtbaren Bereich entfernen und für<br />
Browser, die eine linearisierte Ausgabe <strong>de</strong>s Web-Angebots vornehmen, einblen<strong>de</strong>n.<br />
Syntaktisch sollte man darauf achten, dass zunächst ganzzahlige Ordnungszahlen<br />
beginnend bei 1 für <strong>de</strong>n ersten Navigationspunkt eines Menüs durchnummeriert<br />
bis zum entsprechend letzten Eintrag gewählt wer<strong>de</strong>n müssen. Die<br />
Ebenentiefe wird zusätzlich durch die Angabe <strong>de</strong>r Nummerierung <strong>de</strong>s Elternelementes<br />
und Trennung durch einen Punkt angegeben. Versuchen Sie jedoch zu<br />
vermei<strong>de</strong>n <strong>de</strong>r jeweils an letzter Stelle stehen<strong>de</strong>n Ziffer ebenfalls einen Punkt folgen<br />
zu lassen. Einige Screenrea<strong>de</strong>r wür<strong>de</strong>n dies als eine Datumsangabe <strong>de</strong>uten,<br />
anstatt die gewünschte Nummerierung vorzulesen.<br />
Der Vollständigkeit halber sei zu<strong>de</strong>m erwähnt, dass es in Screenrea<strong>de</strong>rn, welche<br />
die Möglichkeit haben mittels <strong>de</strong>r Eingabe <strong>de</strong>s ersten Buchstabens <strong>de</strong>s Navigationselementes<br />
in ein Suchformular zu navigieren, diese Funktion nicht mehr genutzt<br />
wer<strong>de</strong>n kann, da die entsprechen<strong>de</strong>n Nummerierungen per dfn-Tag <strong>de</strong>n Anfangsbuchstaben<br />
vorstehen.<br />
Die BITV legt in <strong>de</strong>r Anfor<strong>de</strong>rung 10.5 zusätzlich fest, dass eine geeignete Trennung<br />
<strong>de</strong>r einzelnen Navigationspunkte voneinan<strong>de</strong>r erfolgen muss, um eine ungetrennte<br />
Aneinan<strong>de</strong>rreihung <strong>de</strong>r Navigationselemente in einigen Benutzerumgebungen<br />
zu vermei<strong>de</strong>n. Dies erfolgt in <strong>de</strong>r Regel durch einen <strong>de</strong>m Navigationselement<br />
nachgestellten Punkt, welcher von einem Span-Tag umschlossen wird, in unserem<br />
Fall .. Durch diesen ist es wie im Falle <strong>de</strong>s Dfn-<br />
Tags möglich, das Trennelement für grafische Browser unsichtbar und alternative<br />
Ausgabegeräte sichtbar zu machen.<br />
Wie in <strong>de</strong>n bei<strong>de</strong>n letztgenannten Fällen erwähnt sollten sowohl die Nummerierung<br />
<strong>de</strong>r Navigationspunkte als auch die Trennelemente für grafische Browser<br />
ausgeblen<strong>de</strong>t wer<strong>de</strong>n, da sie dort im Regelfall nicht notwendig sind. Dies gelingt<br />
mit etwas CSS-Wissen relativ problemlos. Grundsätzlich kann ein Ausblen<strong>de</strong>n<br />
eines HTML-Elementes mittels {display: none;} o<strong>de</strong>r {visibility: hid<strong>de</strong>n;} erfolgen.<br />
Da jedoch auch einige Screenrea<strong>de</strong>r die so ausgeblen<strong>de</strong>ten Elemente durch korrekte<br />
Interpretation <strong>de</strong>r zu Grun<strong>de</strong> liegen<strong>de</strong>n CSS-Datei ignorieren wür<strong>de</strong>n, hat sich<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
182 <strong>Joomla</strong>! barrierefrei<br />
folgen<strong>de</strong> Deklarationsmetho<strong>de</strong> als praktikabel erwiesen. Die CSS-Anweisung zur<br />
Ausblendung von Elementen:<br />
dfn, .hi<strong>de</strong>this {position: absolute; left: -1000px; top: -<br />
1000px; width: 0; height: 0; overflow: hid<strong>de</strong>n, display: inline;}<br />
Der dahinter stehen<strong>de</strong> Trick ist, dass das jeweilige Element nicht vollständig ausgeblen<strong>de</strong>t<br />
wird, son<strong>de</strong>rn lediglich für grafische Browser aus <strong>de</strong>m Sichtfeld<br />
(Viewport) genommen wird. Allen an<strong>de</strong>ren Ausgabegeräten stehen die Elemente<br />
wie gewünscht zur Verfügung.<br />
Kommen wir zur Umsetzung. Um diese gesamten Anfor<strong>de</strong>rungen auch auf unsere<br />
Website zu übertragen, wechseln wir zunächst in <strong>de</strong>n Administrationsbereich unserer<br />
Anwendung und öffnen im Menümanager das Hauptmenü. In <strong>de</strong>r nun folgen<strong>de</strong>n<br />
Übersicht können wir zum einen die von uns gewünschten zusätzlichen Tags<br />
ergänzen und zum an<strong>de</strong>ren die inhaltliche Struktur <strong>de</strong>r Hauptnavigation prüfen.<br />
Die Administrationsebene Hauptmenü.<br />
Dabei fällt uns auf, dass einige Navigationspunkte nicht ein<strong>de</strong>utige und wenig<br />
aussagekräftige Namen tragen. Der Navigationspunkt Vorteile sagt beispielsweise<br />
nichts über <strong>de</strong>n Inhalt <strong>de</strong>r sich hinter <strong>de</strong>m Link verbergen<strong>de</strong>n Information aus. Wir<br />
entschei<strong>de</strong>n uns <strong>de</strong>shalb, <strong>de</strong>n Namen <strong>de</strong>s Links zu verän<strong>de</strong>rn, in<strong>de</strong>m wir direkt in<br />
www.brain-media.<strong>de</strong>
Tutorial 183<br />
die Administrationsoberfläche für <strong>de</strong>n Navigationspunkt hineingehen. Nach Umbenennung<br />
in Vorteile <strong>de</strong>r Barrierefreiheit ergänzen wir im Titel zusätzlich Erläuterungen<br />
zu <strong>de</strong>n Vorteilen zugänglicher Web-Angebote, um <strong>de</strong>m Navigationspunkt<br />
einen aussagekräftigen Tooltip folgen zu lassen.<br />
Ähnlich verfahren wir bei <strong>de</strong>n Punkten Allgemein und Efa News. Während wir <strong>de</strong>n<br />
ersten ergänzend in Allgemeine Informationen erweitern, benennen wir <strong>de</strong>n zweiten<br />
Menüpunkt in Aktuelle Nachrichten um und ergänzen abermals im Titel Newsfeed<br />
<strong>de</strong>r Website einfach-fuer-alle.<strong>de</strong> um eine erklären<strong>de</strong> Entsprechung zum Namen<br />
zu erhalten. Für die Akronyme BGG und BITV als Submenüpunkte für Gesetzliche<br />
Normen ergänzen wir die ausgeschriebene Entsprechung innerhalb <strong>de</strong>s<br />
title-Attributs.<br />
Nach<strong>de</strong>m wir nun zunächst eine inhaltliche Ergänzung vorgenommen haben, prüfen<br />
wir jetzt auf <strong>de</strong>r Übersichtsseite <strong>de</strong>s Hauptmenüs die Reihenfolge <strong>de</strong>r veröffentlichten<br />
Menüpunkte und fügen danach entsprechen<strong>de</strong> Zahlenwerte für <strong>de</strong>n Dfn-<br />
Tag in <strong>de</strong>r Reihenfolge <strong>de</strong>r Anzeige im Menü ein. Zu<strong>de</strong>m ergänzen wir nach <strong>de</strong>m<br />
englischen Accesskey-Standard für <strong>de</strong>n Link zur Startseite im Accesskeyfeld <strong>de</strong>s<br />
Elements Weblog eine 1, für <strong>de</strong>n Link zu unserem Kontaktformular sehen wir per<br />
Definition eine 9 als <strong>de</strong>n relevanten Accesskey vor und speichern die durchgeführten<br />
Arbeiten.<br />
Das Navigationsmenü nach <strong>de</strong>r Bearbeitung.<br />
Gleiche Arbeiten führen wir nun analog für <strong>de</strong>n Bereich unserer Weblog-<br />
Kategorien durch. Gera<strong>de</strong> hier ist es sicherlich beson<strong>de</strong>rs sinnvoll, <strong>de</strong>n jeweiligen<br />
Menüpunkten sprechen<strong>de</strong> Title-Attribute mitzugeben.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
184 <strong>Joomla</strong>! barrierefrei<br />
Um auch diese optisch wie<strong>de</strong>r ansprechend zu gestalten, müssen wir nun sowohl<br />
<strong>de</strong>n Trennpunkt als auch die Nummerierung wie oben bereits beschrieben für alle<br />
grafischen Browser ausblen<strong>de</strong>n. Die relevanten CSS-Elemente sind die Klasse<br />
hi<strong>de</strong>this für <strong>de</strong>n Trennpunkt und <strong>de</strong>r dfn-Tag selbst. Nach<strong>de</strong>m wir dfn, .hi<strong>de</strong>this<br />
{position: absolute; left: -1000px; top: -1000px; width: 0; height: 0; overflow:<br />
hid<strong>de</strong>n, display: inline;} in <strong>de</strong>r Datei template_css.css ergänzt haben, erhalten wir<br />
auch optisch das gewünschte Bild.<br />
Für unsere Servicenavigation am En<strong>de</strong> <strong>de</strong>r Website ergänzen wir zunächst die<br />
Menüpunkte Volltextsuche und Wörterbuch, in<strong>de</strong>m wir sie mit <strong>de</strong>r Komponente<br />
Search bzw. RD Glossary verlinken. Über eine neue Verlinkung verweisen wir<br />
zu<strong>de</strong>m auf eine im Static Content Manager erstellte Hinweisseite zur Zugänglichkeit.<br />
Nach erfolgter Ordnung <strong>de</strong>r Punkte ergänzen wir auch hier die zugehörigen<br />
Accesskeys gemäß <strong>de</strong>m britsischen Accesskey-Standard.<br />
Die Servicenavigation.<br />
7.3.6 Sprungmarken (Skip Links)<br />
Wie im bisherigen Verlauf <strong>de</strong>s Tutorials schon mehrfach erwähnt, nutzen nichtvisuelle<br />
Ausgabegeräte lediglich eine eindimensionale Richtung <strong>de</strong>r Informationsdarstellung<br />
gemäß <strong>de</strong>r Reihenfolge <strong>de</strong>r Elemente im Quelltext. Dabei wird dieser<br />
Zeile für Zeile abgearbeitet und ausgegeben. Häufig stehen jedoch vor <strong>de</strong>m eigentlich<br />
für <strong>de</strong>n Nutzer interessanten Hauptinhalt einer Seite eine Reihe weiterer Informationen<br />
und die Hauptnavigation. Um es Nutzern dieser assistiven Technologien<br />
zu ermöglichen, schnell und ohne Umwege über nochmalige Ausgabe bestimmter<br />
Seitenbereiche zu <strong>de</strong>n relevanten Informationen zu gelangen, haben sich<br />
Sprungmarken als ein probates Mittel erwiesen. Dabei wer<strong>de</strong>n zentrale Seitenbereiche,<br />
wie beispielsweise <strong>de</strong>r Beginn <strong>de</strong>s Contentbereichs o<strong>de</strong>r <strong>de</strong>r Anfang <strong>de</strong>r<br />
Haupt- und Servicenavigation, mit einem Textanker versehen. Zu Beginn <strong>de</strong>s Dokumentes<br />
wird daraufhin ein zusätzliches Menü eingefügt, welches es <strong>de</strong>n Nutzern<br />
erlaubt, bei einem Reload sofort zu <strong>de</strong>n jeweiligen Seitenbereichen zu gelangen.<br />
Für die Umsetzung dieses Punktes ist es notwendig, eine Modifikation am Quelltext<br />
<strong>de</strong>r In<strong>de</strong>x-Datei unseres Templates vorzunehmen. Zum einen müssen zentrale<br />
Textanker ergänzt wer<strong>de</strong>n. Zum an<strong>de</strong>ren ist eine händische Eingabe <strong>de</strong>r Sprungmarken<br />
im Quelltext notwendig, da das in <strong>Joomla</strong>! integrierte Menüsystem die<br />
Vergabe von Sprungmarken und die Eingabe von Co<strong>de</strong> nicht erlaubt. Wir fügen<br />
zunächst vor Beginn <strong>de</strong>r Hauptnavigation, vor Beginn <strong>de</strong>r Servicenavigation und<br />
www.brain-media.<strong>de</strong>
Tutorial 185<br />
ebenfalls vor Beginn <strong>de</strong>s Inhaltsbereiches einen notwendigen Textanker ein, um<br />
diese Bereiche mittels Sprungmarken innerhalb von Textbrowsern o<strong>de</strong>r in einer<br />
Nicht-CSS-Version separat ansteuern zu können.<br />
Der Quellco<strong>de</strong> <strong>de</strong>s Textankers:<br />
<br />
Nun fügen wir oberhalb <strong>de</strong>s Containers unserer Kopfgrafik ein separates Menü ein,<br />
in<strong>de</strong>m wir eine ungeordnete Liste mit <strong>de</strong>n Menüpunkten Sprungmarke zur Hauptnavigation,<br />
Sprungmarke zur Servicenavigation und Sprungmarke zum Inhaltsbereich<br />
einfügen, diese mit <strong>de</strong>n entsprechen<strong>de</strong>n Textankern verknüpfen und zu<strong>de</strong>m<br />
die Sprungmarke zum Inhaltsbereich mit <strong>de</strong>m Accesskey S und die Sprungmarke<br />
zur Servicenavigation mit <strong>de</strong>m Accesskey 6 versehen. Alle Menüpunkt erhalten<br />
zu<strong>de</strong>m die CSS-Klasse hi<strong>de</strong>this, um diese nun zentral über die bereits in <strong>de</strong>r CSS-<br />
Datei <strong>de</strong>finierte Klasse für alle visuellen Browser auszublen<strong>de</strong>n.<br />
Der Quellco<strong>de</strong> für Skip-Links:<br />
<br />
186 <strong>Joomla</strong>! barrierefrei<br />
Es sei zu<strong>de</strong>m darauf hingewiesen, dass sowohl das veraltete Name-Attribut als<br />
auch das mo<strong>de</strong>rnere ID-Attribut innerhalb unserer Textanker Verwendung fin<strong>de</strong>n.<br />
Grund dafür ist, dass einige Screenrea<strong>de</strong>r die ID noch nicht erkennen und somit bei<br />
Nichtverwendung <strong>de</strong>rselbigen das Sprungziel nicht erreichen wür<strong>de</strong>n.<br />
Eine Kontrolle <strong>de</strong>r bisher durchgeführten Arbeiten an <strong>de</strong>r gesamten Seitennavigation<br />
in einem grafischen Browser, in <strong>de</strong>r Textversion und unter Verwendung <strong>de</strong>r<br />
Accesskeys zeigt, dass alle Elemente wie gewünscht funktionieren, semantisch<br />
korrekte Bezeichnungen vorliegen und über eine Reihe von Hilfestellungen eine<br />
zugängliche Navigationsstruktur entstan<strong>de</strong>n ist.<br />
7.3.7 Pfadnavigationen (Breadcrumb)<br />
Auch eine sogenannte Pfadnavigation erweist sich gera<strong>de</strong> bei umfangreichen Webprojekten<br />
als sehr sinnvoll. Dabei wird <strong>de</strong>r aktuell vom Nutzer zurückgelegte Weg<br />
durch das Informationsangebot anhand einer dynamisch generierten Linkliste angezeigt.<br />
Dies schafft ein erhöhtes Maß an Orientierung und ermöglicht <strong>de</strong>m Nutzer<br />
mit wenig Aufwand zu vorangegangenen Ebenen seines Weges zurückzukehren. In<br />
<strong>Joomla</strong>! kann dieser Pathway relativ einfach über <strong>de</strong>n PHP-Tag in das Template und somit in die Website eingebun<strong>de</strong>n wer<strong>de</strong>n.<br />
Die einzelnen Menüelemente wer<strong>de</strong>n analog als ungeordnete Liste ausgegeben und<br />
können über CSS entsprechend formatiert wer<strong>de</strong>n.<br />
Obwohl es mit <strong>Joomla</strong>! recht einfach ist, eine <strong>de</strong>rartige Pfadnavigation umzusetzen,<br />
verzichten wir im Falle <strong>de</strong>s Weblogs zunächst auf diese. Grund dafür ist, dass<br />
wir zunächst eine recht übersichtliche Dokumentenstruktur und eine höchstens<br />
zweistufige Navigation vorfin<strong>de</strong>n. Eine Breadcrumpnavigation macht sich damit<br />
nicht zwingend notwendig. Diese kann jedoch bei Anwachsen <strong>de</strong>s Informationsangebotes<br />
zu einem späteren Zeitpunkt in einer zusätzlichen Modulposition oberhalb<br />
<strong>de</strong>s Inhaltsbereiches ergänzt wer<strong>de</strong>n.<br />
7.3.8 Textlinks<br />
Navigationselemente innerhalb <strong>de</strong>s Textes dienen in <strong>de</strong>r Regel <strong>de</strong>r vertieften Information<br />
zu einem Thema. Dabei lassen sich seiteninterne Links und solche, die<br />
auf eine externe Seite verweisen, unterschei<strong>de</strong>n. Dieser Unterscheidung sollte auch<br />
im Hinblick auf die visuelle Ausgestaltung Rechnung getragen wer<strong>de</strong>n. Eine in <strong>de</strong>r<br />
Praxis häufig angewen<strong>de</strong>te Lösung ist es, externe Links im Gegensatz zu <strong>de</strong>n internen<br />
Navigationselementen mit einem vorangestellten Piktogramm zu versehen.<br />
Da externe Links immer mit <strong>de</strong>m vorangestellten Protokoll http:// o<strong>de</strong>r https://<br />
beginnen, kann eine entsprechen<strong>de</strong> Kennzeichnung über die Selektoren<br />
www.brain-media.<strong>de</strong>
Tutorial 187<br />
a[href^="http:"] und a[href^="https:"] automatisiert erfolgen. Um ein entsprechen<strong>de</strong>s<br />
Piktogramm, in unserem Fall die Grafik ext_link.gif, einzubin<strong>de</strong>n, wäre<br />
die folgen<strong>de</strong> CSS-Notation richtig:<br />
a[href^="http:"], a[href^="https:"]<br />
{<br />
padding-left: 1.5em;<br />
background-image: url('../images/icons/ext_link.gif');<br />
background-repeat: no-repeat;<br />
background-position: left; }<br />
Dabei wer<strong>de</strong>n allen selektierten extern Verlinkungen über background-image:<br />
url('../images/icons/ext_link.gif'); das oben genannte Piktogramm auf <strong>de</strong>r linken<br />
Seite vorangestellt. Ein Abstand von 1,5em nach links verhin<strong>de</strong>rt zusätzlich die<br />
Überlappung <strong>de</strong>s Linktextes mit <strong>de</strong>m Piktogramm. Eine ähnliche visuelle Kennzeichnung<br />
kann ebenso für verlinkte E-Mail-Adressen erfolgen, in<strong>de</strong>m <strong>de</strong>r Selektor<br />
anstatt nach <strong>de</strong>m HTTP-Protokoll nach mailto selektiert.<br />
Eine weitere nutzbringen<strong>de</strong> Sache ist es zu<strong>de</strong>m, <strong>de</strong>m externen Link über <strong>de</strong>n Title<br />
einen kurzen Hinweis auf das Linkziel mitzugeben, sodass <strong>de</strong>r Nutzer bei einem<br />
Mouseover im Tooltip weitere Informationen externen Links erhält. Eine Target-<br />
Angabe sollte jedoch nach aktuellen Erkenntnissen nicht mehr erfolgen, um Verwirrungen<br />
vorzubeugen und <strong>de</strong>m Nutzer freie Hand bei <strong>de</strong>r Art <strong>de</strong>s Browsens zu<br />
lassen.<br />
Wir wer<strong>de</strong>n auf die Bearbeitung dieser Links im Abschnitt Content-Bearbeitung<br />
noch einmal kurz eingehen.<br />
7.3.9 Kontextbezogene Links<br />
In einigen Fällen, vor allem in größeren Informationsangeboten, machen zu<strong>de</strong>m<br />
kontextbezogene Verlinkungen Sinn. Dabei wer<strong>de</strong>n angelehnt an <strong>de</strong>n aktuell geöffneten<br />
Artikel Links zu weiterführen<strong>de</strong>n Informationen o<strong>de</strong>r zu vor- und nachgelagerten<br />
Dokumenten angezeigt, die es <strong>de</strong>m Nutzer erlauben, sehr leicht weitere<br />
Informationen zu fin<strong>de</strong>n. Für <strong>Joomla</strong>! steht dazu eine Reihe von bereits in <strong>de</strong>r<br />
Grundinstallation vorhan<strong>de</strong>nen Modulen (meist gelesene Artikel, verwandte Artikel,<br />
Artikel nach Section o<strong>de</strong>r Categorie etc.) zur Verfügung. Zu<strong>de</strong>m sind auf<br />
http://www.run-digital.com zwei entsprechen<strong>de</strong> Mambots für die Artikel-<br />
Navigation innerhalb einer Section o<strong>de</strong>r Categorie verfügbar. Man sollte in <strong>de</strong>r<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
188 <strong>Joomla</strong>! barrierefrei<br />
Praxis jedoch <strong>de</strong>r Übersichtlichkeit halber darauf achten, es mit weiterführen<strong>de</strong>n<br />
Links nicht zu übertreiben.<br />
Im Rahmen unseres Weblogs fügen wir <strong>de</strong>r Vollständigkeit halber über <strong>de</strong>n zugehörigen<br />
Installer <strong>de</strong>n Mambot RD PrevNext von http://www.run-digital.com ein,<br />
<strong>de</strong>r es uns ermöglicht, unterhalb eines Artikels einen Link zu vorhergehen<strong>de</strong>n o<strong>de</strong>r<br />
nachfolgen<strong>de</strong>n Artikeln einer Category anzeigen zu lassen. Dies ist gera<strong>de</strong> bei stark<br />
contentlastigen Seiten und solchen mit inhaltlich eng zusammenhängen<strong>de</strong>n Artikeln<br />
sinnvoll.<br />
Im Frontend ergibt sich nach Einfügen <strong>de</strong>s Mambots und einigen optischen Verfeinerungen<br />
über CSS das folgen<strong>de</strong> Bild:<br />
Ein eingebun<strong>de</strong>ner Mambot.<br />
Wir haben damit die Arbeiten an unserer Seitennavigation zunächst abgeschlossen<br />
und können zu einem weiteren wichtigen Punkt innerhalb <strong>de</strong>r Erstellung einer<br />
barrierefreien Webpräsenz übergehen.<br />
7.4 Der Inhaltsbereich <strong>de</strong>r Website<br />
Der Inhaltsbereich als Hauptbestandteil einer Website benötigt beson<strong>de</strong>re Aufmerksamkeit<br />
im Hinblick auf eine barrierefreie Umsetzung. Neben einigen speziellen<br />
Anfor<strong>de</strong>rungen an die Zugänglichkeit eines Dokumentes sollte man zunächst<br />
allgemeine und für eine Reihe von Medien gleichermaßen relevante Punkte im<br />
Hinblick auf die Verständlichkeit und Gebrauchstauglichkeit von Textdokumenten<br />
beachten. Diese betreffen sowohl die Struktur als auch die Länge und <strong>de</strong>n Inhalt<br />
<strong>de</strong>r verfassten Textelemente und sind nicht allein für gehandicapte Menschen,<br />
son<strong>de</strong>rn für einen je<strong>de</strong>n Nutzer wichtige Voraussetzungen, um die zu vermitteln<strong>de</strong>n<br />
Informationen problemlos aufnehmen zu können. Auch in <strong>de</strong>r BITV fin<strong>de</strong>n<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 189<br />
sich diese Anfor<strong>de</strong>rungen im Punkt 14.1 wie<strong>de</strong>r: „Für jegliche Inhalte ist die klarste<br />
und einfachste Sprache zu verwen<strong>de</strong>n, die angemessen ist.“<br />
Für diese recht interpretationswürdige Anfor<strong>de</strong>rung haben sich in <strong>de</strong>r Praxis einige<br />
wichtige Anwendungen und Richtlinien etabliert. Ein Redakteur sollte dabei<br />
grundsätzlich eine möglichst präzise und einfache Sprache verwen<strong>de</strong>n, Texte in<br />
sich logisch aufbauen und mit Hilfe von Absätzen Struktur innerhalb eines Dokumentes<br />
schaffen. Studien beweisen, dass Nutzer webbasierter Informationsangebote<br />
eine viel geringere Verweildauer und weniger gute Aufnahmefähigkeit besitzen.<br />
Hauptsächlich <strong>de</strong>shalb, weil Lesen am Bildschirm durch einen gewissen<br />
Blen<strong>de</strong>ffekt die Augen schneller ermü<strong>de</strong>n lässt und damit die Konzentrationsdauer<br />
stark senkt. Es sollten aus diesem Grund vermehrt Hauptsätze verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
Mehrfach durch Nebensätze getrennte und über mehrere Zeilen reichen<strong>de</strong> komplexe<br />
Satzstrukturen sollten in je<strong>de</strong>m Fall durch einfache Strukturen ersetzt wer<strong>de</strong>n.<br />
Daneben sollten bei langen Textpassagen geeignete Zusammenfassungen existieren<br />
und Erläuterungen an Beispielen erfolgen.<br />
Einige an<strong>de</strong>re Kriterien richten sich nicht zwangsläufig an gehandicapte Benutzer,<br />
sind aber häufig nur im Zusammenhang mit barrierefreien Webangeboten anzutreffen.<br />
Grundsätzlich gilt aber auch hier, dass eine Verwendung häufig auch nicht<br />
gehandicapten Nutzern zu Gute kommt und die Verständlichkeit för<strong>de</strong>rt.<br />
7.4.1 Akronyme, Abkürzungen, Fachbegriffe und<br />
Sprachwechsel<br />
Die Anfor<strong>de</strong>rungen <strong>de</strong>r <strong>de</strong>utschen BITV sagen in ihrem Wortlaut zur Darstellung<br />
von Abkürzungen und Akronymen aus, dass diese „an <strong>de</strong>r Stelle ihres ersten Auftretens<br />
im Inhalt zu erläutern und durch die hierfür vorgesehenen Elemente <strong>de</strong>r<br />
verwen<strong>de</strong>ten Markup-Sprache kenntlich zu machen“ sind. Während unter einer<br />
Abkürzung ein einfach abgekürztes Wort – wie beispielsweise die Abkürzung Nr.<br />
für das Wort Nummer – verstan<strong>de</strong>n wird, sind Akronyme als aus <strong>de</strong>n Anfangsbuchstaben<br />
mehrerer Wörter zusammengesetzte Kurzwörter zu verstehen. CSS<br />
o<strong>de</strong>r XHTML sind Beispiele solcher Akronyme.<br />
Auf Grund <strong>de</strong>s mehrdimensionalen Charakters einer Website hat es sich als hilfreich<br />
erwiesen, eine entsprechen<strong>de</strong> Kennzeichnung in allen, o<strong>de</strong>r zumin<strong>de</strong>st in<br />
allen übergeordneten Bereichen einer Website vorzunehmen, da oft nur sehr<br />
schwer die Stelle <strong>de</strong>s ersten Auftretens eines Akronyms o<strong>de</strong>r einer Abkürzung<br />
festgestellt wer<strong>de</strong>n kann. Über ein Glossar können zu<strong>de</strong>m alle verwen<strong>de</strong>ten Akronyme,<br />
Abkürzungen und auch Fachbegriffe noch einmal an zentraler Stelle <strong>de</strong>s<br />
Web-Angebotes mit einer ausführlichen Beschreibung abgelegt wer<strong>de</strong>n. Dabei<br />
haben sich eine alphabetische Sortierung und die Verbindung <strong>de</strong>s In<strong>de</strong>x eines Alphabetes<br />
über Sprungmarken mit <strong>de</strong>m Beginn einer je<strong>de</strong>n buchstabensortierten<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
190 <strong>Joomla</strong>! barrierefrei<br />
Begriffskategorie als sinnvoll erwiesen. Es sei jedoch darauf hingewiesen, dass<br />
eine Ausschreibung einer Begrifflichkeit oft eine viel geeignetere Variante als die<br />
Verwendung eines Akronyms o<strong>de</strong>r einer Abkürzung ist.<br />
Zur Auszeichnung von Akronymen und Abkürzungen stehen in XHTML mit<br />
für Abkürzung und für die Auszeichnung eines Akronyms<br />
geeignete Tags zur Verfügung. Die Abkürzung für das Wort Nummer wür<strong>de</strong> <strong>de</strong>mnach<br />
die Auszeichnung Nr. benötigen. Für das<br />
Akronym <strong>de</strong>s Wortes Cascading Style Sheet lautet die geeignete Auszeichnung<br />
analog CSS. Über das universale<br />
Title-Attribut erhält <strong>de</strong>r Nutzer nun auch hier beim Überqueren <strong>de</strong>s jeweiligen<br />
Begriffes mit <strong>de</strong>r Maus einen Tooltip mit <strong>de</strong>n näheren Erläuterungen und<br />
bekommt damit zusätzliche Informationen zur Verständlichkeit <strong>de</strong>s Inhaltes. Während<br />
Browser wie Firefox die optische Hervorhebung dieser Elemente von Haus<br />
aus unterstützen, kann eine Reihe von Browsern ohne eine geson<strong>de</strong>rte CSS-<br />
Formatierung keinen visuellen Hinweis auf das Vorhan<strong>de</strong>nsein eines Akronyms<br />
o<strong>de</strong>r einer Abkürzung geben. Aus diesem Grund ist es notwendig bei<strong>de</strong> Elemente<br />
über CSS mit einer geeigneten Formatierung zu versehen. Dabei haben sich in <strong>de</strong>r<br />
Praxis eine gepunktete Unterstreichung <strong>de</strong>r Abkürzung o<strong>de</strong>r <strong>de</strong>s Akronyms und die<br />
Darstellung eines Help-Cursors bei einem Mouseover eingebürgert. Dies gelingt,<br />
in<strong>de</strong>m man die bei<strong>de</strong>n Elemente beispielsweise wie folgt formatiert:<br />
abbr, acronym {cursor: help; bor<strong>de</strong>r-bottom: 1px dotted<br />
#333333}<br />
Eine ähnliche Formatierung kann man für notwendige Fachbegriffe wählen, in<strong>de</strong>m<br />
<strong>de</strong>r Dfn-Tag erneut Anwendung fin<strong>de</strong>t. Man sollte hierbei jedoch darauf achten,<br />
das Dokument nicht mit Erläuterungen zu überla<strong>de</strong>n. Fachbegriffe direkt durch<br />
eine verständliche Entsprechung zu ersetzen, ist eine oft viel hilfreichere Variante.<br />
Vorhan<strong>de</strong>ne Sprachwechsel geson<strong>de</strong>rt zu kennzeichnen, ist eine weitere Anfor<strong>de</strong>rung<br />
<strong>de</strong>r BITV. Damit soll erreicht wer<strong>de</strong>n, dass Screenrea<strong>de</strong>r Wörter gemäß ihrer<br />
sprachlichen Herkunft betonen. Diese nutzen die im Dokumentenkopf angegebene<br />
Sprach<strong>de</strong>finition als Referenz für die Aussprache <strong>de</strong>r Inhalte einer Website. Wer<strong>de</strong>n<br />
nun an<strong>de</strong>rssprachige Wörter verwen<strong>de</strong>t kann es zu unschönen Aussprachefehlern<br />
und damit zu Verständigungsschwierigkeiten kommen. Um dies zu vermei<strong>de</strong>n,<br />
sollten Sprachwechsel geson<strong>de</strong>rt ausgezeichnet wer<strong>de</strong>n. Dies geschieht in<br />
<strong>de</strong>r Regel durch ein das Wort umschließen<strong>de</strong> -Element, in welchem die<br />
entsprechen<strong>de</strong> Sprach<strong>de</strong>finition eingebettet wird. Das Wort Browser wür<strong>de</strong> beispielsweise<br />
folgen<strong>de</strong>rmaßen formatiert wer<strong>de</strong>n:<br />
Browser<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 191<br />
7.4.2 Umsetzung<br />
Im Folgen<strong>de</strong>n wollen wir diese Anfor<strong>de</strong>rungen und einige weitere Kriterien anhand<br />
<strong>de</strong>s Artikels Das Internet als Kommunikations- und Informationsmedium beispielhaft<br />
umsetzen. Um uns jedoch die Arbeit direkt im Quellco<strong>de</strong> zu ersparen – immerhin<br />
ist das eines <strong>de</strong>r Hauptvorteile eines CMS –, verwen<strong>de</strong>n wir einen Texteditor.<br />
Mit <strong>de</strong>ssen Hilfe können Inhalte ohne Programmierkenntnisse in einer komfortablen<br />
Art und Weise über so genannte Autorenschnittstellen in das System<br />
eingepflegt wer<strong>de</strong>n. Dies geschieht in nahezu allen Fällen über die Verwendung<br />
von vor<strong>de</strong>finierten Funktionen, die bei Aufruf über einen Button o<strong>de</strong>r ein Dropdown-Menü<br />
einen bestimmten (X)HTML-Quellco<strong>de</strong> erzeugen und im Inhaltsbereich<br />
einfügen. Im Gegensatz zu an<strong>de</strong>ren Systemen besitzt <strong>Joomla</strong>! Plugins für eine<br />
Reihe sehr guter Editoren, sowohl im Open-Source-Bereich als auch im kommerziellen<br />
Umfeld.<br />
Zwar bieten diese professionelle Funktionen zum Gestalten und Formatieren von<br />
Text- und Grafikelementen, sind jedoch in <strong>de</strong>n meisten Fällen nicht ausreichend<br />
für die Nutzung in einem barrierefreien Umfeld ausgelegt. Wer<strong>de</strong>n allgemeine<br />
Anfor<strong>de</strong>rungen wie korrekte Semantik, die Verwendung von CSS-Klassen o<strong>de</strong>r<br />
Alt- und Title-Attribute noch weitestgehend unterstützt, erweist sich zumeist die<br />
Einpflege von Akronymen, Abkürzungen und Sprachwechseln über eine integrierte<br />
WYSIWYG-Funktion als nicht möglich.<br />
Hilfe erhalten wir hier von zwei kommerziellen Anbietern. Mit <strong>de</strong>m Editor<br />
Xstandard (http://www.xstandard.com) in <strong>de</strong>r Professionell-Version steht ein sehr<br />
leistungsfähiges Autorenwerkzeug zur Verfügung. Er unterstützt eine sehr saubere<br />
und damit XHTML-Strict- vali<strong>de</strong> Co<strong>de</strong>-Generierung und bietet zu<strong>de</strong>m einige beson<strong>de</strong>re<br />
Features im Hinblick auf die Einpflege barrierefreier Inhalte. Zum einen<br />
wer<strong>de</strong>n alle dafür benötigten Elemente wie beispielsweise , , ,<br />
, o<strong>de</strong>r unterstützt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
192 <strong>Joomla</strong>! barrierefrei<br />
Der Editor XStandard (Quelle: http://www.xstandard.com).<br />
Zum an<strong>de</strong>ren wird eine Reihe spezieller Funktionen geboten, die <strong>de</strong>n Redakteur bei<br />
<strong>de</strong>r Eingabe zugänglicher Inhalte unterstützen. Dies sind neben <strong>de</strong>r Möglichkeit,<br />
für Tabellen Zusammenfassungen zu vermerken, im Beson<strong>de</strong>ren eine Vorschau <strong>de</strong>r<br />
eingearbeiteten Inhalte, wie sie ein Screenrea<strong>de</strong>r vorlesen wür<strong>de</strong>, ein integriertes<br />
Wörterbuch und die Möglichkeit, inkorrekten Quellco<strong>de</strong> mittels eines eingebauten<br />
Cleaners zu beräumen. Negativ fällt jedoch neben <strong>de</strong>m hohen Preis (ab 179 Dollar<br />
für die Grundlizenz) im Beson<strong>de</strong>ren die Tatsache auf, dass <strong>de</strong>r Editor clientseitig<br />
im Betriebssystem installiert wer<strong>de</strong>n muss und nicht serverseitig vorliegt. Dies<br />
kann immer dann problematisch wer<strong>de</strong>n, wenn Autoren über verschie<strong>de</strong>ne Ar-<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 193<br />
beitsplätze Inhalte ins Web stellen möchten und auf <strong>de</strong>m gera<strong>de</strong> verwen<strong>de</strong>ten PC<br />
keine vollständige XStandard-Installation vorliegen haben.<br />
Einen besseren Weg geht Bernhard Pfeiffer als Entwickler <strong>de</strong>r XHTMLSuite<br />
(http://www.xhtmlsuite.com). Dort wird seit kurzer Zeit eine speziell auf die Bedürfnisse<br />
barrierefreier Web-Angebote zugeschnittene Version <strong>de</strong>s bekannten<br />
Editors als XHTMLSuite 508 angeboten. Die Beson<strong>de</strong>rheiten gegenüber <strong>de</strong>r Standardversion<br />
sind, dass mit Hilfe <strong>de</strong>s Editors sowohl Sprachwechsel und Akronyme<br />
als auch notwendige Attribute komfortabel eingegeben wer<strong>de</strong>n können.<br />
Die XHTMLSuite 508 im <strong>Joomla</strong>!-Backend.<br />
Die relevanten Funktionen lassen sich über die Unterstützung von Accesskeys,<br />
Zitatquellen, Langbeschreibungen für verwen<strong>de</strong>te Bil<strong>de</strong>r, Tabellenüberschriften<br />
und -zusammenfassungen weiter fortsetzen. Mit einer integrierten<br />
Barrierefreiheitsprüfung anhand technischer Kriterien wird zu<strong>de</strong>m erstmals eine<br />
maschinelle Hilfe bei <strong>de</strong>r Umsetzung barrierearmer Inhalte gewährt. Ein Dropdown-Menü<br />
für benutzer<strong>de</strong>finierten Co<strong>de</strong> (so genannte Co<strong>de</strong>-Schnipsel) ergänzt<br />
das Angebot und macht es für eigene Anpassungen flexibel. Wir wer<strong>de</strong>n im Folgen<strong>de</strong>n<br />
auf die serverseitige Lösung <strong>de</strong>r XHTMLSuite 508 zurückgreifen und<br />
einen typischen Workaround erläutern.<br />
Der zu bearbeiten<strong>de</strong> Artikel Das Internet als Kommunikations- und Informationsmedium<br />
wird zunächst einzig durch eine -Überschrift und drei Absätze struk-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
194 <strong>Joomla</strong>! barrierefrei<br />
turiert, ein Bild im linken oberen Absatz bil<strong>de</strong>t das einzige Nicht-Text-Element auf<br />
<strong>de</strong>r Seite.<br />
Ein Ausschnitt aus <strong>de</strong>m Artikel vor <strong>de</strong>r Überarbeitung.<br />
Derzeit wird das Bild als einziges Nicht-Text-Element wie folgt eingebun<strong>de</strong>n:<br />
<br />
Schauen wir uns die Inhaltsseite im Administrationsbereich <strong>de</strong>r Installation mit<br />
Hilfe <strong>de</strong>r integrierten Barrierefreiprüfung <strong>de</strong>r XHTMLSuite 508 an, wer<strong>de</strong>n wir<br />
sofort darauf hingewiesen, dass für das vorhan<strong>de</strong>ne Bild sowohl Alt- als auch Title-Attribute<br />
fehlen.<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 195<br />
Der Artikel in <strong>de</strong>r Barrierefreiheitsprüfung.<br />
Die korrekte Auszeichnung <strong>de</strong>r Nicht-Text-Elemente – hier also <strong>de</strong>r Grafik im<br />
Artikelkopf – zählt eigentlich zum guten Ton eines professionellen Web<strong>de</strong>signs.<br />
Auch in <strong>de</strong>r BITV ist die Anfor<strong>de</strong>rung nach alternativer Auszeichnung mittels <strong>de</strong>r<br />
alternativen Verwendung einer textuellen Erläuterung bereits in <strong>de</strong>r Anfor<strong>de</strong>rung 1<br />
explizit geregelt. Dort wird gesagt, dass für je<strong>de</strong>n Audio- o<strong>de</strong>r visuellen Inhalt<br />
„geeignete äquivalente Inhalte bereitzustellen“ sind, „die <strong>de</strong>n gleichen Zweck o<strong>de</strong>r<br />
die gleiche Funktion wie <strong>de</strong>r originäre Inhalt erfüllen“.<br />
Als Nicht-Text-Elemente zählen dabei im Beson<strong>de</strong>ren Bil<strong>de</strong>r, GIF-Animationen,<br />
Imagemaps, Töne und Applets jeglicher Art. Einzige Ausnahme bil<strong>de</strong>n Grafiken,<br />
die nur <strong>de</strong>korativen Zwecken dienen, aber nicht über CSS eingebun<strong>de</strong>n sind. Dort<br />
sollte auf eine Verwendung <strong>de</strong>s Title-Attributes o<strong>de</strong>r <strong>de</strong>r Angabe eines Alternativtextes<br />
verzichtet wer<strong>de</strong>n, um <strong>de</strong>r Rangstellung <strong>de</strong>r Grafik als rein <strong>de</strong>koratives Element<br />
gerecht zu wer<strong>de</strong>n. In unserem Weblog fin<strong>de</strong>t diese Tatsache bei <strong>de</strong>r eingebun<strong>de</strong>nen<br />
Kopfgrafik Anwendung.<br />
Als weiteres Problem erkennen wir in <strong>de</strong>r Quellco<strong>de</strong>-Ansicht zu<strong>de</strong>m, dass zur<br />
Herstellung von Abstän<strong>de</strong>n zu <strong>de</strong>n nebenliegen<strong>de</strong>n Textbereichen die Elemente<br />
und und für die Fließeigenschaft <strong>de</strong>s Bil<strong>de</strong>s <strong>de</strong>r HTML-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
196 <strong>Joomla</strong>! barrierefrei<br />
Output align=“right“ anstatt einer CSS-Formatierung verwen<strong>de</strong>t wird. Um dies zu<br />
korrigieren, öffnen wir in <strong>de</strong>r Artikelansicht <strong>de</strong>n XHTMLSuite-Bil<strong>de</strong>rmanager.<br />
Die Bildbearbeitung mit Bil<strong>de</strong>rmanager.<br />
Über diesen können wir nun sowohl Title- als auch <strong>de</strong>n Alternativtext eintragen<br />
und zu<strong>de</strong>m die ungeliebte Formatierung align=“right“ gegen eine CSS-basierte<br />
Version in Form eines Inline-Styles tauschen o<strong>de</strong>r gegebenenfalls eine geson<strong>de</strong>rte<br />
CSS-Klasse für weitergehen<strong>de</strong> Formatierungen ergänzen. Für das Beispielbild<br />
ergänzen wir als Alt-Text Grafik einer Weltkugel mit umschweben<strong>de</strong>n Zahlenkolonnen<br />
und als Titel eine weitere Erläuterung Weltkugel auf grauem Grund.<br />
Zu<strong>de</strong>m könnte zusätzlich eine Langbeschreibung <strong>de</strong>s Bil<strong>de</strong>s erfolgen, in<strong>de</strong>m im<br />
Bil<strong>de</strong>rmanager die URL zu einem Textfile mit erweiterten Erläuterungen zum Bild<br />
angegeben wird. Wir verzichten jedoch zunächst darauf, da die obigen Beschreibungen<br />
für die verwen<strong>de</strong>te Grafik ausreichen. Lei<strong>de</strong>r setzt <strong>de</strong>r Editor sowohl<br />
als auch automatisch, sodass eine händische Entfernung über<br />
die HTML-Ansicht vorgenommen wer<strong>de</strong>n muss. Da wir die Formatierung unseres<br />
Bil<strong>de</strong>s über CSS erledigen, wer<strong>de</strong>n bei<strong>de</strong> Elemente nicht benötigt.<br />
Ergänzend können wir unserer Grafik eine vorher <strong>de</strong>finierte CSS-Klasse über <strong>de</strong>n<br />
Bil<strong>de</strong>rmanager zuweisen, um die gewünschte Fließeigenschaft nicht über einen<br />
Inline-Style, son<strong>de</strong>rn komplett ausgelagert zu realisieren. Wir verwen<strong>de</strong>n die Klasse<br />
bildlinks für ein <strong>de</strong>n Text links umfließen<strong>de</strong>s Bild ohne zusätzlichen Abstand.<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 197<br />
Nach erfolgter Bearbeitung erscheint unsere Grafik in einer zugänglichen Variante:<br />
<br />
In einem grafischen Frontend hat sich rein visuell nichts an <strong>de</strong>r Ausgabe geän<strong>de</strong>rt.<br />
Schalten wir aber beispielsweise die Grafikanzeige testhalber ab, erhalten wir <strong>de</strong>n<br />
von uns eingefügten Alternativtext als Information über die eigentlich an <strong>de</strong>r Stelle<br />
stehen<strong>de</strong> Grafik.<br />
Der Alternativtext erscheint in einer grafikfreien Version.<br />
Gehen wir nun zur Bearbeitung <strong>de</strong>r Textinhalte über. Zunächst stellen wir fest,<br />
dass <strong>de</strong>r gesamte Artikel eine recht anschauliche Länge besitzt und durch drei<br />
Absätze unterteilt ist. Es bietet sich daher an, Zwischenüberschriften zur besseren<br />
Strukturierung <strong>de</strong>s Inhaltsbereiches einzufügen. Dies geschieht analog einer normalen<br />
Texteingabe über <strong>de</strong>n Editor, in<strong>de</strong>m wir zunächst eine Überschrift schreiben<br />
und dieser danach mit Hilfe <strong>de</strong>s Drop-down-Menüs Format die Rangordnung<br />
zuweisen. Zu<strong>de</strong>m macht es Sinn, am Textbeginn einen zentralen Ankerpunkt<br />
zu hinterlegen, zu welchem vom En<strong>de</strong> eines je<strong>de</strong>n Absatzes eine Sprungmarke<br />
nach oben gesetzt wird. Diese Ergänzungen führen wir ebenfalls direkt im<br />
Editor durch. Dabei setzen wir zunächst am Beginn unseres Textes mit Hilfe <strong>de</strong>r<br />
Textankerfunktion einen Ankerpunkt mit <strong>de</strong>r Bezeichnung textbeginn.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
198 <strong>Joomla</strong>! barrierefrei<br />
Das Anlegen <strong>de</strong>s zentralen Textankers.<br />
Zu diesem wer<strong>de</strong>n wir nun am En<strong>de</strong> eines je<strong>de</strong>n Abschnittes Sprungmarken mit <strong>de</strong>r<br />
Beschriftung nach oben verlinken, in<strong>de</strong>m wir einen Zeilenumbruch erzeugen, <strong>de</strong>n<br />
Text nach oben schreiben und mittels <strong>de</strong>s Linkmanagers <strong>de</strong>n Textankr aus <strong>de</strong>m<br />
entsprechen<strong>de</strong>n Drop-down-Menü auswählen und unsere Eingaben bestätigen.<br />
Das Anlegen <strong>de</strong>r Sprungmarke zum Textanker.<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 199<br />
Nach<strong>de</strong>m wir diese für alle drei Absätze ergänzt haben und unsere Arbeit abgespeichert<br />
ist, sehen wir im Frontend ein strukturiertes und gut bedienbares Ergebnis.<br />
Der Textbereich nach ersten Modifikationen.<br />
Nun fehlt lediglich noch die Auszeichnung von Akronymen, Abkürzungen,<br />
Fremdwörtern und Sprachwechseln. Auch bei dieser Arbeit unterstützt uns die<br />
XHTMLSuite 508. Im Drop-down-Menü CSS stehen zu Beginn verschie<strong>de</strong>ne vor<strong>de</strong>finierte<br />
Sprachkürzel, mit <strong>de</strong>ren Hilfe Sprachwechsel belegt wer<strong>de</strong>n. Dabei markiert<br />
man zunächst das benötigte Wort und weist diesem danach über die Dropdown-Liste<br />
das zugehörige Sprachenkürzel zu. Zur besseren Übersicht wer<strong>de</strong>n alle<br />
bearbeiteten Wörter gelb hinterlegt, sodass man als Redakteur <strong>de</strong>n Überblick über<br />
bereits durchgeführte Arbeiten behält.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
200 <strong>Joomla</strong>! barrierefrei<br />
Die Auszeichnung von Sprachwechseln.<br />
Die Auszeichnung von Akronymen gelingt analog über <strong>de</strong>n Button Abkürzung<br />
auszeichnen, zu sehen am Beispiel <strong>de</strong>s Akronyms WLAN.<br />
Die Auszeichnung von Akronymen.<br />
Nach erfolgter Zuweisung wer<strong>de</strong>n auch diese farbig dargestellt, um <strong>de</strong>m Redakteur<br />
<strong>de</strong>n aktuellen Bearbeitungsstand zu zeigen.<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 201<br />
Lei<strong>de</strong>r besitzt die XHTMLSuite noch eine kleine Schwäche im Hinblick auf die<br />
Auszeichnung von Abkürzungen mit <strong>de</strong>m Abbr-Tag o<strong>de</strong>r Fachwörtern mit <strong>de</strong>m<br />
Dfn-Tag. Sollten Sie diese benötigen, hilft zunächst nur die Eingabe im Quelltext-<br />
Modus.<br />
Nach<strong>de</strong>m wir alle erfor<strong>de</strong>rlichen Än<strong>de</strong>rungen durchgeführt haben, prüfen wir unseren<br />
Text noch einmal mittels <strong>de</strong>r integrierten Prüfroutine. Über diese erfahren wir,<br />
dass wir es versäumt haben, die Title-Attribute <strong>de</strong>r integrierten Sprungmarken zu<br />
belegen. Obwohl dies – im Gegensatz zur angezeigten Warnung – kein Fehler ist,<br />
belegen wir diese mit <strong>de</strong>m sprechen<strong>de</strong>n Titel Link zum Beginn <strong>de</strong>s Artikels.<br />
Die dahingehen<strong>de</strong>n Än<strong>de</strong>rungen können wir direkt über das Pop-up <strong>de</strong>r<br />
Barrierefreiheitsprüfung durchführen. Auf die Eingabe von Accesskeys verzichten<br />
wir aus <strong>de</strong>n bekannten Grün<strong>de</strong>n jedoch. Nach<strong>de</strong>m wir aus inhaltlichen Grün<strong>de</strong>n die<br />
Überschrift <strong>de</strong>s Artikels noch modifiziert haben, erhalten wir im Frontend das<br />
folgen<strong>de</strong> Bild.<br />
Die grafische Version <strong>de</strong>s Artikels nach <strong>de</strong>r Bearbeitung.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
202 <strong>Joomla</strong>! barrierefrei<br />
Und die Textversion <strong>de</strong>s Artikels nach <strong>de</strong>r Bearbeitung.<br />
Als En<strong>de</strong>rgebnis haben wir einen gut strukturierten, verständlichen und zugänglichen<br />
Artikel geschaffen, <strong>de</strong>r sowohl in einer grafischen Browserumgebung als<br />
auch in einer Textversion eine gute Figur macht.<br />
An diesem Beispieltext ist gut ersichtlich, welche Sorgfalt man bei <strong>de</strong>r „alltäglichen“<br />
redaktionellen Arbeit walten lassen muss. Nur durch konsequente Umsetzung<br />
<strong>de</strong>r oben beschriebenen Anfor<strong>de</strong>rungen kann eine nachhaltige Barrierefreiheit<br />
über <strong>de</strong>n Zeitpunkt <strong>de</strong>r erstmaligen Erstellung hinaus gewährleistet wer<strong>de</strong>n. Der<br />
zusätzliche zeitliche Aufwand kann gera<strong>de</strong> bei langen Texten, die evtl. noch weitere<br />
spezielle Bearbeitung benötigen (bspw. Co<strong>de</strong>-Formatierung, Imagemaps etc.)<br />
erheblich sein.<br />
Eine (Teil-)Automatisierung wie<strong>de</strong>rkehren<strong>de</strong>r Arbeitsschritte ist zurzeit nur selten<br />
möglich. Ein gutes Beispiel bietet jedoch die Komponente RD Glossary, mit <strong>de</strong>r<br />
semantisch korrekte Glossare erstellt wer<strong>de</strong>n können. Über einen zugehörigen<br />
Mambot können vorher in <strong>de</strong>r Komponente eingepflegte Begriffe bei <strong>de</strong>r Artikelerstellung<br />
erfasst und automatisiert mit <strong>de</strong>r zugehörigen Erläuterung verlinkt wer<strong>de</strong>n.<br />
Eine Reihe weiterer <strong>de</strong>rartiger Werkzeuge wäre sicher <strong>de</strong>nkbar und wird über kurz<br />
o<strong>de</strong>r lang zumin<strong>de</strong>st kommerziell verfügbar sein.<br />
www.brain-media.<strong>de</strong>
Der Inhaltsbereich <strong>de</strong>r Website 203<br />
7.4.3 Formulargestaltung<br />
Als zunächst letzten inhaltlichen Punkt in unserem Tutorial möchten wir uns die<br />
Gestaltung von Webformularen überblicksartig anschauen. Auch dabei gibt es eine<br />
Reihe von Kriterien, <strong>de</strong>nen im Rahmen eines barrierearmen Projektes beson<strong>de</strong>re<br />
Beachtung geschenkt wer<strong>de</strong>n sollte.<br />
Einer <strong>de</strong>r entschei<strong>de</strong>n<strong>de</strong>n Punkte ist auch hier wie<strong>de</strong>r die Verwendung von Tabellenlayouts<br />
versus CSS-Design. Formulare bestehen in <strong>de</strong>r Regel aus Eingabefel<strong>de</strong>rn,<br />
Dropdown-Menüs, Checkboxen, Radiobuttons und <strong>de</strong>n jeweils dazugehörigen<br />
Beschriftungen – Labels genannt. Oft sieht man, dass die jeweils zusammengehörigen<br />
Formularelemente über Tabellenzellen optisch miteinan<strong>de</strong>r verknüpft<br />
wer<strong>de</strong>n. Dabei wird in eine <strong>de</strong>r Spalten <strong>de</strong>r Bezeichner als Text eingetragen und<br />
daneben das entsprechen<strong>de</strong> Formularelement gesetzt. Für die Zwecke einer<br />
barrierearmen Website ist diese Technik jedoch ungeeignet. Zum einen bestehen<br />
die typischen Linearisierungsprobleme, welche bei <strong>de</strong>r Verwendung von Tabellen<br />
in nahezu je<strong>de</strong>m Fall auftreten. Zum an<strong>de</strong>ren ist die Verwendung von Tabellenzellen<br />
als Zuordnungshilfe semantisch nicht korrekt und birgt im Hinblick auf die<br />
logische Zuordnung Unzulänglichkeiten.<br />
Für die Bezeichnung von Formularelementen gibt es mit <strong>de</strong>m Label-Element ebenso<br />
wie für Überschriften abgegrenzter Formularbereiche mit <strong>de</strong>m Legend- und<br />
Fieldset-Element zu<strong>de</strong>m adäquate Entsprechungen auf funktionaler und semantisch<br />
korrekter Basis, die die Verwendung von Tabellen als Hilfsmittel überflüssig machen.<br />
Ein typisches Kontaktformular könnte folgen<strong>de</strong>rmaßen aussehen:<br />
Kontakt<br />
Mit diesem Webformular können Sie uns direkt eine Nachricht<br />
sen<strong>de</strong>n. Bitte füllen Sie die Fel<strong>de</strong>r vollständig aus,<br />
sodass eine korrekte Bearbeitung unsererseits durchgeführt<br />
wer<strong>de</strong>n kann.<br />
Geben Sie im Betreff bitte zu<strong>de</strong>m <strong>de</strong>n Anlass Ihrer Kontaktaufnahme<br />
ein.<br />
<br />
<br />
<br />
Kontaktdaten<br />
<br />
<br />
Name<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
204 <strong>Joomla</strong>! barrierefrei<br />
<br />
<br />
Vorname<br />
<br />
<br />
<br />
<br />
E-Mail<br />
<br />
<br />
<br />
<br />
Straße<br />
<br />
<br />
id="k-ort" /><br />
<br />
Ort<br />
<br />
Der Inhaltsbereich <strong>de</strong>r Website 205<br />
id="k-plz" /><br />
id="k-tel" /><br />
<br />
PLZ<br />
<br />
206 <strong>Joomla</strong>! barrierefrei<br />
<br />
<br />
<br />
Datenschutzerklärung<br />
<br />
<br />
Die von Ihnen zur Bestellung übermittelten Daten<br />
behan<strong>de</strong>ln wir entsprechend <strong>de</strong>n gesetzlichen Bestimmungen<br />
streng vertraulich.<br />
<br />
<br />
Eine unberechtigte Weitergabe an Dritte erfolgt<br />
nicht! Wir verarbeiten und nutzen Ihre persönlichen Daten<br />
jedoch, soweit dies zur Bearbeitung, Durchführung und Abwicklung<br />
Ihrer Anfrage erfor<strong>de</strong>rlich ist.<br />
<br />
<br />
<br />
<br />
Absen<strong>de</strong>n<br />
<br />
<br />
/><br />
Der Inhaltsbereich <strong>de</strong>r Website 207<br />
larfel<strong>de</strong>s benötigt. Die Formularelemente erhalten weiterhin sowohl das Name- als<br />
auch das ID-Attribut. Ersteres ist zum Datenversand notwendig. Die ID wird benötigt,<br />
um zwischen Label und Formular eine logische Beziehung herzustellen und<br />
wenn gewünscht über CSS ID-spezifische Formatierungen vornehmen zu können.<br />
Vorteil dieser logischen Verbindung zwischen Formularelement und Label: Bei<br />
Mausklick auf ein beliebiges Label wird das zugehörige Formularelement aktiviert.<br />
Jetzt müssen nur noch einige CSS-Formatierungen hinzugefügt wer<strong>de</strong>n, um grafischen<br />
Browsern ein optisch strukturiertes Bild zu liefern.<br />
Zunächst wählen wir alle Labels und Formularelemente aus, vergeben diesen die<br />
Blockeigenschaft und lassen sie mit einer Breite von 10em links um <strong>de</strong>n (imaginären)<br />
Textbereich fließen. Alle Zeilenumbrüche dienen uns zum Aufheben (clearen)<br />
<strong>de</strong>r Fließeigenschaft, sodass das nachfolgen<strong>de</strong> Element wie<strong>de</strong>r in <strong>de</strong>n normalen<br />
Textfluss eingebettet wird. Schlussendlich geben wir <strong>de</strong>n einzelnen Elementen<br />
noch einige rudimentäre CSS-Anweisungen, um Abstand und Übersichtlichkeit zu<br />
schaffen.<br />
Das fertige Kontaktformular.<br />
Mit wenigen Handgriffen haben wir ein korrekt gelayoutetes Formular erstellt,<br />
welches ohne unnötige Tabellen auskommt, vollständig linearisierbar ist und sich<br />
über ein zentrales Style Sheet optisch je<strong>de</strong>rzeit modifizieren lässt.<br />
Eine Umsetzung eines solchen Webformulars in <strong>Joomla</strong>! ist mit <strong>de</strong>n bekannten<br />
Komponenten wie Mosforms, FacileForms und Artforms im Auslieferungszustand<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
208 <strong>Joomla</strong>! barrierefrei<br />
<strong>de</strong>rzeit noch nicht möglich. Zwar bieten alle drei Erweiterungen umfangreiche<br />
Funktionen zur Erstellung von Formularen über das Backend, aber <strong>de</strong>r Knackpunkt<br />
ist hier wie<strong>de</strong>r <strong>de</strong>r Quellco<strong>de</strong>-Output. Wir können uns <strong>de</strong>shalb mangels Alternativen<br />
zunächst nur damit behelfen, das gera<strong>de</strong> erstellte Beispielformular zu verwen<strong>de</strong>n,<br />
es mittels CSS an die Gegebenheiten unseres Templates anzupassen und dann<br />
über das <strong>Joomla</strong>!-Erweiterungssystem zu inkludieren.<br />
Das Kontaktformular in <strong>Joomla</strong>!<br />
www.brain-media.<strong>de</strong>
Optimierungen 209<br />
Um Ihnen die Arbeit <strong>de</strong>r Erstellung <strong>de</strong>s Formulars zu ersparen bzw. Ihnen eine<br />
entsprechen<strong>de</strong> Entwicklungsumgebung zu liefern, haben wir dieses analog zum im<br />
Tutorial verwen<strong>de</strong>ten Template im Downloadberich zum Buchkapitel auf blogstoff.das-medienkombinat.<strong>de</strong><br />
zur Verfügung gestellt. Das etwas erweiterte Ergebnis<br />
<strong>de</strong>s Formulars zeigt voranstehen<strong>de</strong> Abbildung.<br />
Zur Optimierung <strong>de</strong>s Formulars ließen sich schlussendlich noch Formatierungen<br />
<strong>de</strong>r Hover- und Active-Zustän<strong>de</strong> <strong>de</strong>r Formularelemente vornehmen, ein Tabin<strong>de</strong>x<br />
hinzufügen und die Auszeichnung mittels Accesskeys vornehmen. Im Rahmen <strong>de</strong>s<br />
Tutorials wollen wir es jedoch bei <strong>de</strong>r obigen Variante belassen.<br />
7.5 Optimierungen<br />
Im Verlauf <strong>de</strong>s Kapitels konnten einige <strong>de</strong>r wichtigsten Bereiche zur Erstellung<br />
einer zugänglichen Website beleuchtet wer<strong>de</strong>n. Darüber hinaus gibt es jedoch viele<br />
Optimierungsmöglichkeiten für spezielle Anfor<strong>de</strong>rungen. So wäre es beispielsweise<br />
<strong>de</strong>nkbar, für alle Inhaltsbereiche eine dynamische Sprachausgabe o<strong>de</strong>r eine<br />
Version in Gebär<strong>de</strong>nsprache zu hinterlegen. Während Ersteres mit <strong>de</strong>r für <strong>Joomla</strong>!<br />
frei verfügbaren Komponente Sprechomat und einem entsprechen<strong>de</strong>n Guthaben bei<br />
http://www.sprechomat.<strong>de</strong> recht leicht gelingt, könnte im zweiten Fall nur auf die<br />
recht kosten- und zeitintensive Erstellung (statischer) Vi<strong>de</strong>o-Clips zurückgegriffen<br />
wer<strong>de</strong>n.<br />
Weiterhin wäre es beispielsweise vorstellbar, eine Version <strong>de</strong>r Website in einfacher<br />
Sprache zu verfassen o<strong>de</strong>r zur Automatisierung <strong>de</strong>r redaktionellen Arbeit<br />
weitere hilfreiche Werkzeuge für die Contenteinpflege zu programmieren. Ob und<br />
wie viele dieser Erweiterungen im praktischen Einsatz tatsächlich notwendig sind,<br />
muss im Einzelfall entschie<strong>de</strong>n wer<strong>de</strong>n. Eine realistische Abschätzung <strong>de</strong>s wirklichen<br />
Bedarfs macht hier jedoch im Vorfeld durchaus Sinn.<br />
BITV-Anfor<strong>de</strong>rungen<br />
Überblicksartig lassen sich von <strong>de</strong>r BITV folgen<strong>de</strong> Anfor<strong>de</strong>rungen an eine<br />
barrierefreie Webpräsenz ableiten:<br />
• Anfor<strong>de</strong>rung 1: Für je<strong>de</strong>n Audio- o<strong>de</strong>r visuellen Inhalt sind geeignete<br />
äquivalente Inhalte bereitzustellen, die <strong>de</strong>n gleichen Zweck o<strong>de</strong>r die<br />
gleiche Funktion wie <strong>de</strong>r originäre Inhalt erfüllen.<br />
• Anfor<strong>de</strong>rung 2: Texte und Graphiken müssen auch dann verständlich<br />
sein, wenn sie ohne Farbe betrachtet wer<strong>de</strong>n.<br />
• Anfor<strong>de</strong>rung 3: Markup-Sprachen (insbeson<strong>de</strong>re HTML) und Style<br />
Sheets sind entsprechend ihren Spezifikationen und formalen Definitio-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
210 <strong>Joomla</strong>! barrierefrei<br />
nen zu verwen<strong>de</strong>n.<br />
• Anfor<strong>de</strong>rung 4: Sprachliche Beson<strong>de</strong>rheiten wie Wechsel <strong>de</strong>r Sprache<br />
o<strong>de</strong>r Abkürzungen sind erkennbar zu machen.<br />
• Anfor<strong>de</strong>rung 5: Tabellen sind mittels <strong>de</strong>r vorgesehenen Elemente <strong>de</strong>r<br />
verwen<strong>de</strong>ten Markup-Sprache zu beschreiben und in <strong>de</strong>r Regel nur zur<br />
Darstellung tabellarischer Daten zu verwen<strong>de</strong>n.<br />
• Anfor<strong>de</strong>rung 6: Internetangebote müssen auch dann nutzbar sein, wenn<br />
<strong>de</strong>r verwen<strong>de</strong>te Benutzeragent neuere Technologien nicht unterstützt<br />
o<strong>de</strong>r diese <strong>de</strong>aktiviert sind.<br />
• Anfor<strong>de</strong>rung 7: Zeitgesteuerte Än<strong>de</strong>rungen <strong>de</strong>s Inhalts müssen durch<br />
die Nutzerin/ <strong>de</strong>n Nutzer kontrollierbar sein.<br />
• Anfor<strong>de</strong>rung 8: Die direkte Zugänglichkeit <strong>de</strong>r in Internetangeboten eingebetteten<br />
Benutzerschnittstellen ist sicherzustellen.<br />
• Anfor<strong>de</strong>rung 9: Internetangebote sind so zu gestalten, dass Funktionen<br />
unabhängig vom Eingabegerät o<strong>de</strong>r Ausgabegerät nutzbar sind.<br />
• Anfor<strong>de</strong>rung 10: Die Verwendbarkeit von nicht mehr <strong>de</strong>m jeweils aktuellen<br />
Stand <strong>de</strong>r Technik entsprechen<strong>de</strong>n assistiven Technologien und<br />
Browsern ist sicherzustellen, so weit <strong>de</strong>r hiermit verbun<strong>de</strong>ne Aufwand<br />
nicht unverhältnismäßig ist.<br />
• Anfor<strong>de</strong>rung 11: Die zur Erstellung <strong>de</strong>s Internetangebots verwen<strong>de</strong>ten<br />
Technologien sollen öffentlich zugänglich und vollständig dokumentiert<br />
sein, wie z.B. die vom World Wi<strong>de</strong> Web Consortium entwickelten Technologien.<br />
• Anfor<strong>de</strong>rung 12: Der Nutzerin/<strong>de</strong>m Nutzer sind Informationen zum Kontext<br />
und zur Orientierung bereitzustellen.<br />
• Anfor<strong>de</strong>rung 13: Navigationsmechanismen sind übersichtlich und<br />
schlüssig zu gestalten.<br />
• Anfor<strong>de</strong>rung 14: Das allgemeine Verständnis <strong>de</strong>r angebotenen Inhalte<br />
ist durch angemessene Maßnahmen zu för<strong>de</strong>rn.<br />
7.6 Zusammenfassung<br />
Das Tutorial erläuterte über die theoretischen Notwendigkeiten und Vorteile <strong>de</strong>r<br />
Barrierefreiheit die grundlegen<strong>de</strong>n Anfor<strong>de</strong>rungen an <strong>de</strong>rartige Informationsangebote.<br />
Durch ein Praxisbeispiel wur<strong>de</strong> eine mögliche Vorgehensweise zur Erstellung<br />
einer einfachen barrierearmen Website mit <strong>Joomla</strong>! aufgezeigt. Nach einer Vorstellung<br />
<strong>de</strong>r für die Umsetzung notwendigen Systemerweiterungen, wur<strong>de</strong>n wichtige<br />
Teilbereiche wie Template-Design sowie Gestaltung und Struktur von Navigation<br />
www.brain-media.<strong>de</strong>
Zusammenfassung 211<br />
und Inhaltsbereich näher beleuchtet. Eine Einführung in die Erstellung zugänglicher<br />
Webformulare schloss <strong>de</strong>n Tutorialbereich ab.<br />
Letztendlich ist anzumerken, dass <strong>Joomla</strong>! im Gegensatz zu manch an<strong>de</strong>rem Content-Managementsystem<br />
noch ein recht langer Weg in Richtung Barrierefreiheit<br />
und Standardkonformität bevor steht. Grundsätzliche Limitation bil<strong>de</strong>n dabei das<br />
<strong>de</strong>rzeit noch recht eingeschränkte Templatekonzept und die damit einhergehen<strong>de</strong><br />
Tatsache, dass semantisch wenig standardkonformer Quellco<strong>de</strong> das Bild <strong>de</strong>r Komponenten-<br />
und Modulausgaben bestimmt. Obwohl sich mit einigen quelloffenen<br />
und kommerziellen Erweiterungen sowie <strong>de</strong>m nötigen administrativen Wissen<br />
bereits recht gute Ergebnisse erzielen lassen, bleibt das Aufsetzen <strong>de</strong>s Systems in<br />
einer barrierearmen Variante noch weitestgehend Stückwerk. Anpassungen in<br />
Core-Dateien und an<strong>de</strong>re Modifikationen verlangen zumin<strong>de</strong>st bei <strong>de</strong>r grundlegen<strong>de</strong>n<br />
Administration fundiertes Wissen. Möchte man über die <strong>Joomla</strong>!-<br />
Grundfunktionen hinaus weitere Komponenten wie Kalen<strong>de</strong>rsysteme, eine Kommentarfunktion<br />
o<strong>de</strong>r sogar ein Shopsystem integrieren, sind nicht unerhebliche<br />
Anpassungs- und Erweiterungsprogrammierungen notwendig.<br />
Eine zunehmen<strong>de</strong> Beachtung <strong>de</strong>s Themas Barrierefreiheit in <strong>de</strong>r Öffentlichkeit und<br />
auf Anwen<strong>de</strong>rseite wird verstärkt dazu führen, dass Funktionen zur Umsetzung <strong>de</strong>r<br />
Barrierefreiheit be<strong>de</strong>uten<strong>de</strong> Bestandteile eines Content-Managementsystems wer<strong>de</strong>n.<br />
Was heute meist noch ein zusätzliches Feature ist, wird in nicht allzu ferner<br />
Zukunft eine grundlegen<strong>de</strong> Notwendigkeit sein, um erstklassige Informationsangebote<br />
erstellen zu können. Hoffnung für die Zukunft bei <strong>Joomla</strong>! machen verschie<strong>de</strong>ne<br />
Ankündigungen seitens <strong>de</strong>r Core-Entwickler, dass eine vollständigen Implementierung<br />
von patTemplate in die Version 1.2. angedacht ist und es mit <strong>de</strong>m<br />
kürzlich gebil<strong>de</strong>ten Standards-, Usability-&-Accessibility-Team nun auch offizielle<br />
Vertreter im <strong>Joomla</strong>!-Entwicklerbereich gibt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
212 <strong>Joomla</strong>! barrierefrei<br />
www.brain-media.<strong>de</strong>
Installation <strong>de</strong>s Community Buil<strong>de</strong>rs 213<br />
8 Aufbau einer Community mit <strong>de</strong>m Community<br />
Buil<strong>de</strong>r<br />
Wenn Sie Ihre <strong>Joomla</strong>!-basierte Site zu einem interaktiven Gebil<strong>de</strong> verwan<strong>de</strong>ln<br />
wollen, in <strong>de</strong>m Ihre Besucher aktiv in die Site eingebun<strong>de</strong>n sind, so können Sie<br />
diese mithilfe einer <strong>de</strong>r beliebtesten Erweiterungen problemlos zu einer echten<br />
Community ausbauen: Greifen Sie einfach zum Community Buil<strong>de</strong>r von<br />
<strong>Joomla</strong>polis (http://www.joomlapolis.com).<br />
Mit dieser Komponente können sich Ihre Benutzer präsentierten, Profile erstellen<br />
und veröffentlich und natürlich auch mit an<strong>de</strong>ren Community-Mitgelie<strong>de</strong>rn in<br />
Kontakt treten. Die Komponente ist so ausgelegt, dass Sie nahezu beliebig erweitert<br />
wer<strong>de</strong>n kann. Sie können auch Mo<strong>de</strong>ratoren für das Delegieren von Aufgaben<br />
einführen und vieles mehr.<br />
Der Community Buil<strong>de</strong>r kommt mit drei Modulen und einer Benutzerlistenfunktion<br />
daher, die sich nahtlos in Ihre <strong>Joomla</strong>!-Installation integriert. Da die Standard-<br />
Benutzerregistrierung <strong>de</strong>s Content-Managementsystems nicht über die notwendige<br />
Funktionalität für die Community verfügt, stellt die Erweiterung die notwendigen<br />
Funktionen bereit. Die Highlights <strong>de</strong>s Add-ons:<br />
• Sie können Benutzerprofile um weitere Informationsfel<strong>de</strong>r in Tab-Form<br />
erweitern<br />
• Ein Tab-Template-System steht für die Anpassung zur Verfügung<br />
• Erweiterbarkeit durch Plugins<br />
• Unterstützung von zwölf Feldtypen<br />
• Zugriffssteuerung für Profile<br />
• Avatar-Galerie<br />
• Registrierung und administrative Aufgaben lassen sich <strong>de</strong>legieren<br />
• Messaging-System<br />
8.1 Installation <strong>de</strong>s Community Buil<strong>de</strong>rs<br />
Das Downloadpaket <strong>de</strong>s Community Buil<strong>de</strong>rs CBuil<strong>de</strong>r1_0_1unzip1st.zip besteht<br />
aus folgen<strong>de</strong>n Dateien:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
214 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
• comprofiler.zip: Diese Datei beinhaltet das Installationspaket für <strong>de</strong>n<br />
Community Buil<strong>de</strong>r.<br />
• cblogin.zip: Dieses Login-Modul ersetzt das Standard-<strong>Joomla</strong>!-Login-<br />
Modul.<br />
• mod_comprofileronline.zip: Dieses Modul zeigt die Benutzer an, die online<br />
sind.<br />
• mod_comprofilermo<strong>de</strong>rator.zip: Dies ist das Mo<strong>de</strong>ratorpaket, das <strong>de</strong>m<br />
Delegieren von administrativen Aufgaben dient.<br />
• README.txt: Die typische Readme-Datei mit wichtigen Informationen<br />
zur Installation, Upgra<strong>de</strong> etc.<br />
Ein erster erfolgreicher Schritt bei <strong>de</strong>r<br />
Installation <strong>de</strong>s Community Buil<strong>de</strong>rs.<br />
Die Installation führen Sie wie gewohnt über das Extensions-Menü durch. Beginnen<br />
Sie mit <strong>de</strong>r Datei comprofiler.zip. Stellen Sie sicher, das <strong>de</strong>r Legacy-Modus in<br />
<strong>de</strong>r <strong>Joomla</strong>!-Konfiguration aktiviert ist. Wählen Sie die Datei aus und klicken Sie<br />
auf die Schaltfläche Upload File & Install. Gelingt die Installation, wird eine Ausgabe<br />
wie in voranstehen<strong>de</strong>r Abbildung erzeugt. Damit ist das Grundsystem bereits<br />
www.brain-media.<strong>de</strong>
Installation <strong>de</strong>s Community Buil<strong>de</strong>rs 215<br />
installiert und Sie können über das Menü Components> Community Buil<strong>de</strong>r bereits<br />
auf <strong>de</strong>ssen Funktionen zugreifen.<br />
Das Community-Buil<strong>de</strong>r-Menü besitzt sieben Untermenüs:<br />
• User Management<br />
• Tab Management<br />
• Field Management<br />
• List Management<br />
• Plugin Management<br />
• Tools<br />
• Configuration<br />
Auf die einzelnen Funktionen kommen wir im weiteren Verlauf dieses Kapitels<br />
noch zu sprechen. Doch zuvor sollten Sie die drei weiteren Komponenten installieren.<br />
Wie Sie diese installieren, ist Ihnen bekannt. Bei einer typischen <strong>Joomla</strong>!-<br />
Installation kann eigentlich nichts schief gehen. Aktivieren Sie anschließend die<br />
Module in <strong>de</strong>r Modulverwaltung.<br />
Als Nächstes fügen Sie ein Community-Buil<strong>de</strong>r-Profil zum <strong>Joomla</strong>!-<br />
Benutzermanager hinzu. Dazu öffnen Sie <strong>de</strong>n Menümanager und erzeugen einen<br />
neuen Eintrag für <strong>de</strong>n Community Buil<strong>de</strong>r. Im nächsten Schritt stellen Sie mithilfe<br />
<strong>de</strong>s Modulmanagers sicher, dass die Module CB Login, CB Workflows und CB<br />
Online aktiviert sind. Damit ist <strong>de</strong>r Community Buil<strong>de</strong>r installiert und Sie können<br />
sich an die Konfiguration machen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
216 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Die Community-Buil<strong>de</strong>r-Konfiguration.<br />
8.2 Community-Buil<strong>de</strong>r-Konfiguration<br />
Da <strong>de</strong>r Community Buil<strong>de</strong>r (im Folgen<strong>de</strong>n einfach nur noch CB genannt) nun<br />
installiert ist, müssen Sie sich als Nächstes an <strong>de</strong>ssen Konfiguration machen. Die<br />
ist über das CB-Menü zugänglich. Der Konfigurationsmanager zeigt Ihnen zunächst<br />
die aktuell installierte Version und in <strong>de</strong>r folgen<strong>de</strong>n Zeile die neueste verfügbare<br />
Version an. Wenn Ihr Rechner nicht direkt mit <strong>de</strong>m Internet verbun<strong>de</strong>n ist,<br />
son<strong>de</strong>rn die Verbindung über einen Proxy-Server aufbaut, so wird eine Fehlermeldung<br />
wie die folgen<strong>de</strong> ausgegeben:<br />
Connection to update server failed: ERROR connection failed<br />
(1234084)1234084<br />
Die Ursache ist klar: Die Prüffunktion kann nicht auf die aktuellsten Informationen<br />
<strong>de</strong>r Entwickler zugreifen. Dieses „Problem“ lösen Sie einfach, in<strong>de</strong>m Sie zum<br />
Register Integration wechseln und die Standardvorgabe Automatic in Manual än<strong>de</strong>rn<br />
und speichern. Wenn Sie die Fehlermeldung nicht weiter irritiert, können Sie<br />
die Standar<strong>de</strong>instellung natürlich auch beibehalten.<br />
www.brain-media.<strong>de</strong>
Community-Buil<strong>de</strong>r-Konfiguration 217<br />
Deutsche Sprachdatei für <strong>de</strong>n Community Buil<strong>de</strong>r<br />
In Foren fin<strong>de</strong>t man häufig die Fragen nach einer <strong>de</strong>utschen Sprachdatei. Eine<br />
solche existiert, befand sich aber zu <strong>de</strong>m Zeitpunkt, als diese Zeilen entstan<strong>de</strong>n, im<br />
Zustand einer Prelease-Version. Daher verzichten wir auf <strong>de</strong>ren Einsatz. Sie fin<strong>de</strong>n<br />
die Datei unter http://www.joomlapolis.com /content/view/1050/.<br />
Insgesamt warten acht Register auf Sie. Auf <strong>de</strong>m Register General nehmen Sie<br />
folgen<strong>de</strong> allgemeine Einstellungen vor:<br />
• Name Style: Hier bestimmen Sie <strong>de</strong>n Stil <strong>de</strong>r Namenseinblendung. Hier<br />
legen Sie fest, ob lediglich ein einzelner Name o<strong>de</strong>r ob <strong>de</strong>r vollständige<br />
Name <strong>de</strong>s Benutzers angezeigt wird.<br />
• Name Format: Entsprechend können Sie auch das Namensformat anpassen.<br />
Hier bestimmen Sie, ob beispielsweise nur <strong>de</strong>r Benutzername mit<br />
o<strong>de</strong>r ohne vollständigen Namen angezeigt wird. Wenn Sie sich beispielsweise<br />
für die Option Username (Name) entschei<strong>de</strong>n, so wird etwa Folgen<strong>de</strong>s<br />
angezeigt: koed45 (Kurt Meier).<br />
• Date Format: Hier bestimmen Sie das Datumsformat, das in Ihrer Community<br />
verwen<strong>de</strong>t wird. Es empfiehlt sich <strong>de</strong>r Umstieg von <strong>de</strong>r englischen<br />
Variante zu einer bei uns gebräuchlichen, z.B. dd.mm.yyyy. Die Anzeige<br />
lautet dann beispielsweise 19.10.2006.<br />
• Email Handling: Mit diesem Drop-down-Menü legen Sie fest, ob und<br />
wenn ja welche E-Mail-Informationen von Benutzern angezeigt wer<strong>de</strong>n.<br />
Mit <strong>de</strong>r Option Display Email Only wird lediglich die E-Mail-Adresse eines<br />
Community-Mitglieds angezeigt. Sie können <strong>de</strong>ren Einblendung allerdings<br />
auch mit <strong>de</strong>r Option Do Not Display Email <strong>de</strong>aktivieren. Beachten<br />
Sie, dass sich diese Einstellungen auf die bei <strong>de</strong>r Registrierung angegebene<br />
E-Mail-Adresse beziehen. Sie beziehen sich nicht auf Adressen,<br />
die Sie später über die Managementfunktionen hinzugefügt haben.<br />
• Emails sent „From“: Mit dieser Einstellung legen Sie fest, welche Absen<strong>de</strong>rinformationen<br />
in Forenbeiträgen als Absen<strong>de</strong>r angegeben wer<strong>de</strong>n.<br />
Sie haben die Wahl zwischen <strong>de</strong>r Benutzeradresse o<strong>de</strong>r einem Link.<br />
• Email Links: Wenn Sie diese Option auf No setzen, wird <strong>de</strong>r E-Mail-<br />
Link nicht für das E-Mail-Adressenfeld aktiviert. Standardmäßig ist die<br />
Option mit Yes aktiviert.<br />
• Website Links: Entsprechend <strong>de</strong>r voranstehen<strong>de</strong>n Option können Sie die<br />
Verwendung von Weblinks aktivieren (was standardmäßig <strong>de</strong>r Fall ist)<br />
o<strong>de</strong>r <strong>de</strong>aktivieren.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
218 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
• Online Status: Mit <strong>de</strong>r Standar<strong>de</strong>instellung Yes ist dafür gesorgt, dass <strong>de</strong>r<br />
Online-Status eines Benutzers auf <strong>de</strong>n verschie<strong>de</strong>nen Seiten <strong>de</strong>r Anwendung<br />
o<strong>de</strong>r auch <strong>de</strong>r Benutzerliste angezeigt wird.<br />
Mit <strong>de</strong>n Einstellungen <strong>de</strong>s Registers Registration steuern Sie die Eigenschaften <strong>de</strong>s<br />
Registrierungsprozesses – ein echtes Highlight <strong>de</strong>s Community Buil<strong>de</strong>rs. Das Register<br />
dient insbeson<strong>de</strong>re <strong>de</strong>r Konfiguration <strong>de</strong>r vier unterschiedlichen Workflowprozesse.<br />
Dazu später mehr. Schauen wir uns die einzelnen Einstellungen genauer<br />
an:<br />
• Require Admin Approval: Wenn Sie diese Option auf Yes setzen, so<br />
muss je<strong>de</strong>r neue Benutzer, <strong>de</strong>r <strong>de</strong>n Registrierungsvorgang durchlaufen ist,<br />
von Admin (o<strong>de</strong>r von einem authorisierten Mo<strong>de</strong>rator) genehmigt wer<strong>de</strong>n.<br />
Sie sparen sich viel Arbeit, wenn Sie die Vorgabe No beibehalten. In Einzelfällen<br />
kann es natürlich sinnvoll sein, dass man die manuelle Freischaltung<br />
aktiviert, beispielsweise bei gezielt geschlossenen Gruppen.<br />
• Require Email Confirmation: Ist diese Option auf Yes gesetzt, so versen<strong>de</strong>t<br />
<strong>de</strong>r Community Buil<strong>de</strong>r bei je<strong>de</strong>r Registrierung eine Mail an <strong>de</strong>n<br />
Benutzer, die einen Bestätigungs-Link enthält, <strong>de</strong>m <strong>de</strong>r Benutzer für <strong>de</strong>n<br />
Abschluss <strong>de</strong>r Anmeldung folgen und seine Anmeldung bestätigen muss.<br />
• Registration Email Name: In diesem Textfeld legen Sie die Bezeichnung<br />
<strong>de</strong>s Absen<strong>de</strong>rs <strong>de</strong>r Registrierungs-Mail fest. Sie können beispielsweise<br />
Registrierungsservice von bomots.<strong>de</strong> als Bezeichnung verwen<strong>de</strong>n.<br />
• Registration Email Address: Hier geben Sie die Absen<strong>de</strong>adresse für die<br />
Registrierungsmail an. Diese könnte beispielsweise registrierung@bomots.<strong>de</strong><br />
lauten. Wichtig ist natürlich, dass Sie eingerichtet sind<br />
und das Postfach auch gelesen wird.<br />
• Registration Reply to Email Address: In diesem Textfeld geben Sie eine<br />
alternative Antwort-Adresse an – sofern das erfor<strong>de</strong>rlich ist.<br />
• Pending Approval Subject: Hier geben Sie <strong>de</strong>n Nachrichtenbetreff für<br />
Mails an, die <strong>de</strong>n kommen<strong>de</strong>n Benutzer darauf hinweisen, dass seine Anmeldung<br />
noch in Bearbeitung ist.<br />
www.brain-media.<strong>de</strong>
Community-Buil<strong>de</strong>r-Konfiguration 219<br />
Die Einstellungen für <strong>de</strong>n Registrierungsvorgang sind recht umfangreich.<br />
Es folgt das Eingabefeld Pending Approval Email. Hier hinterlegen Sie <strong>de</strong>n Nachrichtentext,<br />
<strong>de</strong>r an Ihre Benutzer versen<strong>de</strong>t wird, während die Registrierung noch<br />
in <strong>de</strong>r Bearbeitung ist. Dabei können Sie verschie<strong>de</strong>ne Platzhalter für die personalisierte<br />
Ansprache verwen<strong>de</strong>n. Konkret können Sie folgen<strong>de</strong> Platzhalter in Ihren<br />
Text einfügen:<br />
• [NAME]: Vollständiger Name <strong>de</strong>s Benutzers<br />
• [USERNAME]: Benutzername <strong>de</strong>s neuen Users<br />
• [DETAILS]: Account-Details wie die E-Mail-Adresse und <strong>de</strong>r Benutzername<br />
• [PASSWORD]: Passwort, das <strong>de</strong>r Benutzer bei <strong>de</strong>r Registrierung hinterlegt<br />
hat<br />
• [CONFIRM]: Dieser Platzhalter fügt einen Bestätigungs-Link in Ihre Mail<br />
ein<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
220 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Die weiteren Einstellungen <strong>de</strong>s Registrations-Registers:<br />
• Welcome Subject: Hier legen Sie <strong>de</strong>n Betreff Ihrer Willkommens-Mail<br />
fest.<br />
• Welcome Email: In diesem Textfeld bestimmen Sie <strong>de</strong>n Nachrichtentext<br />
Ihrer Willkommens-Mail. Fügen Sie alle relevanten Informationen und<br />
möglichst auch Links zu weiteren Informationen in diese Nachricht ein.<br />
Sie können ebenfalls Platzhalter entsprechend obiger Beschreibung einfügen.<br />
• Introduction text for registration: Hier geben Sie <strong>de</strong>n Text ein, <strong>de</strong>r im<br />
Kopf <strong>de</strong>r Registrierungsseite angezeigt wer<strong>de</strong>n soll. Sie können dabei<br />
auch HTML-Tags für die Formatierung einfügen, beispielsweise um Inhalte<br />
zu fetten. Achten Sie beim Verfassen darauf, dass Sie ihre Benutzer<br />
zur Registrierung animieren. Sie können das Textfeld natürlich auch frei<br />
lassen.<br />
• Concluding text for registration: Dieses Textfeld nimmt Inhalte auf, die<br />
kurz vor <strong>de</strong>m Send-Registration-Button angezeigt wer<strong>de</strong>n. Auch hier<br />
können Sie wie<strong>de</strong>r HTML-Co<strong>de</strong> einbetten.<br />
• Enable Terms & Conditions: Wenn Sie diesen Schalter auf Yes setzen,<br />
aktivieren Sie die Zustimmung zu Ihren Geschäfts- bzw. Nutzungsbedingungen.<br />
• URL to Terms & Conditions: In diesem Eingabefeld hinterlegen Sie <strong>de</strong>n<br />
Pfad zu Ihren Geschäfts- bzw. Nutzungsbedingungen. Der Standardpfad<br />
lautet in<strong>de</strong>x.php?option=com_content&task=view&id=18. Diese Information<br />
vereinfacht die Anpassung <strong>de</strong>r Datei.<br />
• URL for first login visit: Mit <strong>de</strong>r letzen Konfigurationsmöglichkeit, die<br />
Ihnen das Register Registration bietet, können Sie die Seite bestimmen,<br />
zu <strong>de</strong>r <strong>de</strong>r neue Benutzer beim ersten Login geführt wird.<br />
www.brain-media.<strong>de</strong>
Exkurs: Interne Abläufe 221<br />
Das Diagramm zeigt die Abläufe bei Bestätigung<br />
und Freigeben (Quelle: CB-Team).<br />
8.3 Exkurs: Interne Abläufe<br />
Bevor wir uns die weiteren Konfigurationsmöglichkeiten anschauen, wollen wir<br />
einen Blick auf die internen Abläufe werfen. Für das bessere Verständnis ist es<br />
sinnvoll, sich <strong>de</strong>n Workflow bei <strong>de</strong>r Registrierung und etwa <strong>de</strong>m Bestätigen anzuschauen.<br />
Wenn Sie sich voranstehen<strong>de</strong> Abbildung genauer ansehen, so stellen Sie fest, dass<br />
dort zwei so genannte Community-Buil<strong>de</strong>r-Web-Messages (CBWM) auftauchen,<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
222 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
die bei bestimmten Zustän<strong>de</strong>n zum Einsatz kommen. Die erste Nachricht<br />
(CBWM1) wird übermittelt, wenn <strong>de</strong>r neue Benutzer auf die Schaltfläche Send<br />
Registration klickt, um die Anmeldung durchzuführen. Die Web-Nachricht, die<br />
über <strong>de</strong>n Browser ausgegeben wird, weist <strong>de</strong>n Benutzer darauf hin, dass eine Genehmigung<br />
und die E-Mail-Bestätigung für <strong>de</strong>n Abschluss <strong>de</strong>r Registrierung erfor<strong>de</strong>rlich<br />
sind.<br />
Die zweite Web-Nachricht (CBWM2) wird ausgegeben, wenn <strong>de</strong>r Benutzer über<br />
seinen E-Mail-Client das Dokument anfor<strong>de</strong>rt, über das er die Registrierung bestätigt.<br />
Eine solche Nachricht bedankt sich beim Benutzer, dass er die Registrierung<br />
bestätigt, und weist – je nach Einstellungen – darauf hin, dass noch eine Freigabe<br />
durch einen Administrator erfor<strong>de</strong>rlich ist.<br />
Haben Sie <strong>de</strong>n Community Buil<strong>de</strong>r so konfiguriert, dass eine Freigabe durch einen<br />
Mo<strong>de</strong>rator erfor<strong>de</strong>rlich ist, so wird dieser bei <strong>de</strong>r Registrierung per Mail über einen<br />
entsprechen<strong>de</strong>n Anmel<strong>de</strong>vorgang informiert. Die Standardnachricht sieht wie folgt<br />
aus:<br />
From: Registrar [registrar@Ihre_Site.<strong>de</strong>] To: Mo<strong>de</strong>rator Group<br />
Subject: -ACTION REQUIRED! New User Registration Pending Approval<br />
A new user has registered at http://www.yoursite.com and requires<br />
approval. This email contains their <strong>de</strong>tails<br />
Name – Applicants name email – newuser@hissite.com Username –<br />
newusername<br />
Please do not respond to this message as it is automatically<br />
generated and is for information purposes only.<br />
NOTE: This email was automatically generated from {My Site<br />
Name} (http://www.yoursite.com).<br />
Sie können diese Mail natürlich auch ein<strong>de</strong>utschen, in<strong>de</strong>m Sie die Datei <strong>de</strong>fault.php<br />
bearbeiten.<br />
Der Ablauf ist ein an<strong>de</strong>rer, wenn Sie die Option Require Email Confirmation auf<br />
Yes und <strong>de</strong>n Schalter Require Admin Approval auf No gesetzt haben. In diesem Fall<br />
muss <strong>de</strong>r neue Benutzer <strong>de</strong>m Bestätigungslink folgen, eine Freigabe durch <strong>de</strong>n<br />
Admin ist allerdings nicht erfor<strong>de</strong>rlich. Nachstehen<strong>de</strong> Abbildung skizziert die<br />
Abläufe.<br />
www.brain-media.<strong>de</strong>
Exkurs: Interne Abläufe 223<br />
Die Abläufe bei <strong>de</strong>r Nur-Bestätigung (Quelle: CB-Team).<br />
Bei dieser Konfiguration wer<strong>de</strong>n ebenfalls zwei Web-Nachrichten erzeugt. Die<br />
erste Meldung wird an <strong>de</strong>n Benutzer ausgegeben, nach<strong>de</strong>m er die für die Registrierung<br />
relevanten Daten in das Registrierungsformular eingegeben und auf <strong>de</strong>n Send-<br />
Registrations-Button geklickt hat. Die erste Ausgabe weist Sie darauf hin, dass die<br />
Registrierung abgeschlossen ist und dass Sie eine E-Mail mit Instruktionen erhalten,<br />
wie <strong>de</strong>r Registrierungsvorgang abzuschließen ist.<br />
Die zweite Web-Nachricht wird angezeigt, wenn Sie <strong>de</strong>m Bestätigungs-Link in <strong>de</strong>r<br />
E-Mail gefolgt sind. In diesem Fall wird standardmäßig folgen<strong>de</strong> Meldung ausgegeben:<br />
Your account is now active. You may now login!<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
224 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Die Mo<strong>de</strong>ratoren – so Sie welche eingerichtet haben – erhalten ebenfalls eine E-<br />
Mail, in <strong>de</strong>r sie über <strong>de</strong>n neuen Benutzer informiert wer<strong>de</strong>n. Auch diese Mail-<br />
Vorlagen können Sie wie<strong>de</strong>r an Ihre Bedürfnisse anpassen.<br />
Schauen wir uns noch einen dritten typischen Ablauf an, bei <strong>de</strong>m die Option<br />
Require Email Confirmation auf No und die Option Require Admin Approval auf<br />
Yes gesetzt ist. In diesem Fall muss <strong>de</strong>r neue Benutzer keine manuelle Bestätigung<br />
seiner Registrierung vornehmen, son<strong>de</strong>rn <strong>de</strong>r Administrator erteilt die Freigabe.<br />
Die internen Abläufe fasst nachstehen<strong>de</strong> Abbildung zusammen.<br />
Die internen Abläufe bei <strong>de</strong>r Freigabe durch <strong>de</strong>n Admin (Quelle: CB-Team).<br />
www.brain-media.<strong>de</strong>
Weiter mit <strong>de</strong>r CB-Konfiguration 225<br />
Wie Sie voranstehen<strong>de</strong>m Diagramm entnehmen können, wird in einem solchen<br />
Szenario nur eine Web-Nachricht erzeugt. Sie wird ebenfalls nach <strong>de</strong>m Benutzerklick<br />
auf Send Registration ausgegeben und weist <strong>de</strong>n Benutzer darauf hin, dass<br />
die Registrierung abgeschlossen ist, aber noch die Bestätigung durch <strong>de</strong>n Admin<br />
aussteht.<br />
Beson<strong>de</strong>rs einfach sind die Verhältnisse, wenn die Optionen Require Email<br />
Confirmation und Require Admin Approval auf No gesetzt sind. In diesem Fall<br />
wird <strong>de</strong>r Zugang direkt gewährt, ohne dass <strong>de</strong>r neue Benutzer o<strong>de</strong>r <strong>de</strong>r Admin<br />
aktiv wer<strong>de</strong>n müssen. Lediglich eine Hinweismeldung wird an das<br />
Mo<strong>de</strong>ratorenteam versen<strong>de</strong>t, dass sich ein neuer Benutzer registriert hat. Aus<br />
Sicherheitsgrün<strong>de</strong>n sollten Sie die Konfiguration allerdings nur zu Testzwecken<br />
nutzen.<br />
8.4 Weiter mit <strong>de</strong>r CB-Konfiguration<br />
Nach diesem kurzen Ausflug in die internen Abläufe schauen wir uns die weiteren<br />
Konfigurationsmöglichkeiten <strong>de</strong>s Community Buil<strong>de</strong>rs an. Die Einstellungen <strong>de</strong>s<br />
Registers User List sind überschaubar. Hier stehen Ihnen lediglich zwei Anpassungsmöglichkeiten<br />
zur Verfügung:<br />
• Users per Page: In diesem Eingabefeld bestimmen Sie die maximale Anzahl<br />
an Benutzern, die auf <strong>de</strong>r Benutzerseite angezeigt wer<strong>de</strong>n.<br />
• Allow Link to Profile: Mit diesem Schalter können Sie aus <strong>de</strong>n Listeneinträgen<br />
Links zu <strong>de</strong>n zugehörigen Profilen machen.<br />
Das Register User List erlaubt lediglich zwei Anpassungen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
226 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Für die Konfiguration <strong>de</strong>r Benutzerprofile ist das Register User Profile zuständig.<br />
Mit diesen Einstellungen können Sie beispielsweise festlegen, ob <strong>de</strong>r Benutzer<br />
seinen Benutzernamen än<strong>de</strong>rn darf o<strong>de</strong>r welches Template verwen<strong>de</strong>t wird. Die<br />
Einstellungen im Einzelnen:<br />
• Username: Das Drop-down-Menü sieht die Werte Yes und No vor. Wenn<br />
Sie sich für Yes entschei<strong>de</strong>n, dürfen Benutzer ihren Benutzernamen än<strong>de</strong>rn.<br />
Mit No ist <strong>de</strong>r Benutzername nur lesbar.<br />
• Required Fields in Admin: Wenn Sie diese Option auf Yes setzen, so erzwingt<br />
<strong>de</strong>r Community Buil<strong>de</strong>r alle Feldrestriktionen und Prüfungen –<br />
und zwar auf Seiten <strong>de</strong>s Frontends und <strong>de</strong>s Backends. Auch für <strong>de</strong>n Admin-Account.<br />
www.brain-media.<strong>de</strong>
Weiter mit <strong>de</strong>r CB-Konfiguration 227<br />
Die Einstellungen <strong>de</strong>s Registers User Profile.<br />
• Allow Access To: Mit diesem Auswahlmenü legen Sie fest, wer Zugriff<br />
auf die Benutzerprofile hat. Beachten Sie die Hierarchie: Wenn Sie beispielsweise<br />
<strong>de</strong>n Eintrag Author wählen, so haben alle folgen<strong>de</strong>n Einträge<br />
wie Editor, Publisher und öffentliche Backend-Gruppen ebenfalls Zugriff<br />
auf die Profile. Sie können folgen<strong>de</strong> Einträge verwen<strong>de</strong>n:<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
Everybody<br />
All Registered Users<br />
Public Frontend<br />
Registered<br />
Author<br />
Editor<br />
Publisher<br />
Public Backend<br />
Manager<br />
Administrator<br />
Super Administrator<br />
• Minimum hits interval (minutes): Hier legen Sie die Zeitspanne fest, die<br />
zwischen zwei Profilzugriffen durch <strong>de</strong>n gleichen Benutzer vergehen<br />
muss, damit sie als weitere Hits gezählt wer<strong>de</strong>n. Der Standardwert 60 Minuten<br />
soll dafür sorgen, dass die Profilzugriffszahlen nicht künstlich nach<br />
oben gedrückt wer<strong>de</strong>n können.<br />
• Community Buil<strong>de</strong>r Template: Hier können Sie eines von sechs vor<strong>de</strong>finierten<br />
Templates für Ihre Community auswählen. Am besten schauen<br />
Sie sich die verschie<strong>de</strong>nen Vorlagen einfach mal in <strong>de</strong>r Praxis an und<br />
wählen die aus, die Ihnen am besten gefällt. Mithilfe <strong>de</strong>s Plugin-<br />
Managements <strong>de</strong>s Community Buil<strong>de</strong>rs können Sie eigene o<strong>de</strong>r Vorlagen<br />
an<strong>de</strong>rer Entwickler einbin<strong>de</strong>n.<br />
• 2 colums layout widths: Hier legen Sie die Breite (in Prozent) <strong>de</strong>r linken<br />
Spalte bei einem zweispaltigen Layout fest.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
228 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
• 3 colums layout widths: Hier legen Sie entsprechend die Breite (wie<strong>de</strong>r<br />
in Prozent) <strong>de</strong>r linken und <strong>de</strong>r rechten Spalte bei Verwendung eines dreispaltigen<br />
Layouts fest.<br />
• Nested Tabs: Wenn Sie eine Vielzahl benutzer<strong>de</strong>finierter Tabs verwen<strong>de</strong>n,<br />
so sollten Sie diese Option mit Yes aktivieren, damit sie verschachtelt<br />
präsentiert wer<strong>de</strong>n. Beachten Sie, dass Sie bei unterschiedlichen Templates<br />
unterschiedliche Verschachtelungsmöglichkeiten haben.<br />
• W3C XHTML 1.0 Trans Compliance: Hier können Sie die Kompatibilität<br />
zu XHTML aktivieren. In <strong>de</strong>r Regel ist das jedoch nicht erfor<strong>de</strong>rlich.<br />
Der Community Buil<strong>de</strong>r unterstützt fünf verschie<strong>de</strong>ne Tab-Templates. Sie fin<strong>de</strong>n<br />
diese im Verzeichnis Website-Struktur\components\com_installer\templates. Diese<br />
können Sie natürlich mit einem professionellen Editor wie Dreamweaver o<strong>de</strong>r<br />
KDE Web Dev unter Linux bearbeiten.<br />
Die Einstellungen für die Community-Bil<strong>de</strong>r.<br />
Kommen wir zum Register Images, über das Sie verschie<strong>de</strong>ne Bild-relevante Einstellungen<br />
bearbeiten. Zunächst führt das Formular die Pfa<strong>de</strong> zu <strong>de</strong>n Anwendungen<br />
www.brain-media.<strong>de</strong>
Weiter mit <strong>de</strong>r CB-Konfiguration 229<br />
ImageMagick und NetPBM. Bei<strong>de</strong>s sind Bildbearbeitungsprogramme, die allerdings<br />
nur unter Linux zum Einsatz kommen. Gleiches gilt für die im Auswahlmenü<br />
Image Software angebotene Software GD2 library. Wenn Sie <strong>Joomla</strong>! und <strong>de</strong>n<br />
Community Buil<strong>de</strong>r auf einem Windows-System ausführen, wird daher eine rot<br />
markierte Warnung ausgegeben, dass diese Tools nicht für Sie verfügbar sind. Alle<br />
weiteren Bildkonfigurationsmöglichkeiten sind allerdings auch unter Windows<br />
verfügbar:<br />
• Picture: Damit Ihre Benutzer Bil<strong>de</strong>r in <strong>de</strong>r Community veröffentlichen<br />
können, müssen Sie diese Option auf Yes setzen.<br />
• Allow Image Upload: Sie sollten außer<strong>de</strong>m über diesen Schalter <strong>de</strong>n Upload<br />
von Grafiken zulassen.<br />
• Use Image Gallery: Wenn Sie Ihren Benutzern <strong>de</strong>n Zugriff auf die Bil<strong>de</strong>rgalerie<br />
erlauben wollen, sollten Sie auch diese Option auf Yes setzen.<br />
• Max. Image/Thumbnail …: Mit <strong>de</strong>n fünf folgen<strong>de</strong>n Einstellungen <strong>de</strong>finieren<br />
Sie die maximale Größe <strong>de</strong>r Bil<strong>de</strong>r und Thumbnails.<br />
Wie bereits mehrfach erwähnt, erlaubt <strong>de</strong>r Community Buil<strong>de</strong>r das Delegieren von<br />
administrativen Aufgaben. Die hierfür notwendigen Einstellungen nehmen Sie<br />
über das Register Mo<strong>de</strong>ration vor. Bevor Sie sich an die Einstellungen machen, sei<br />
auf eine Einschränkung <strong>de</strong>r Mo<strong>de</strong>ratorfunktion hingewiesen: Sie können lediglich<br />
<strong>de</strong>n typischen <strong>Joomla</strong>!-Benutzergruppen wie Public Frontend und Public Backend<br />
und <strong>de</strong>ren Untergruppen Mo<strong>de</strong>rationsrechte zuweisen. Einzelnen Benutzern können<br />
Sie diese lei<strong>de</strong>r nicht zuweisen – außer Sie packen einen einzigen Benutzer in<br />
eine dieser Gruppen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
230 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Die Einstellungen für die Mo<strong>de</strong>ration bzw. das Delegieren von Aufgaben.<br />
Nach<strong>de</strong>m Sie die Gruppe bestimmt haben, <strong>de</strong>r Sie Mo<strong>de</strong>ratorenberechtigungen<br />
zuweisen wollen, können Sie fünf weitere Einstellungen bearbeiten. Die Einstellungen<br />
im Einzelnen:<br />
• Mo<strong>de</strong>rator Approve Users: Wenn Ihre Mo<strong>de</strong>ratoren neuen Benutzern<br />
<strong>de</strong>n Zugang zum System gewähren wollen, so belassen Sie es bei <strong>de</strong>r<br />
Standar<strong>de</strong>instellung Yes.<br />
• Send Mo<strong>de</strong>rators Email: Sorgt in <strong>de</strong>r Standar<strong>de</strong>instellung Yes dafür,<br />
dass die Mo<strong>de</strong>ratoren per Mail über relevante Ereignisse informiert wer<strong>de</strong>n.<br />
• Allow User Reports: Die Standar<strong>de</strong>instellung Yes erlaubt es Benutzern,<br />
an<strong>de</strong>re Benutzer, die sich unpassend verhalten, beim Admin zu verpetzen.<br />
• Require Upload Image Approval: Mit dieser Einstellung sorgen Sie dafür,<br />
dass hochgela<strong>de</strong>ne Bil<strong>de</strong>r erst von <strong>de</strong>r Mo<strong>de</strong>ratorengruppe freigegeben<br />
wer<strong>de</strong>n. So verhin<strong>de</strong>rn Sie, dass Benutzer unerwünschte o<strong>de</strong>r fragwürdige<br />
Bil<strong>de</strong>r veröffentlichen.<br />
• Allow Profile Banning: Mit <strong>de</strong>r Standar<strong>de</strong>instellung Yes ist sichergestellt,<br />
dass die Mo<strong>de</strong>ratoren auch unerwünschte Profile sperren.<br />
www.brain-media.<strong>de</strong>
Weiter mit <strong>de</strong>r CB-Konfiguration 231<br />
Die Verbindungseinstellungen <strong>de</strong>s Community Buil<strong>de</strong>rs.<br />
Was wäre eine Community-Lösung ohne die Möglichkeit, dass die Mitglie<strong>de</strong>r<br />
untereinan<strong>de</strong>r kommunizieren können! Auch diese Funktionalität ist im Community<br />
Buil<strong>de</strong>r gegeben. Wenn Sie Ihren Nutzern diese Möglichkeit eröffnen wollen, so<br />
müssen Sie zunächst im CB-Plugin-Management, das über das CB-Menü zugänglich<br />
ist, das Verbindungs-Plugin (CB Connection) aktivieren. Stellen Sie außer<strong>de</strong>m<br />
im Menü Tab Management sicher, dass auch hier die Verbindungsfunktion aktiviert<br />
ist. Erst dann sollten Sie sich mit <strong>de</strong>n unterschiedlichen Konfigurationsmöglichkeiten<br />
befassen.<br />
Die weiteren Einstellungen <strong>de</strong>s Registers Connection:<br />
• Enable Connections: Damit die Benutzer untereinan<strong>de</strong>r kommunizieren<br />
können, müssen Sie diesen Schalter auf Yes setzen.<br />
• Display Type: Hier haben Sie die Wahl zwischen <strong>de</strong>n Optionen Public<br />
und Private. Wenn Sie die Option Public wählen, so wer<strong>de</strong>n alle Verbindungen<br />
öffentlich gemacht. Je<strong>de</strong>r kann also sehen, wer mit wem kommuniziert.<br />
In <strong>de</strong>r Regel ist das natürlich nicht gewünscht. Sie sollten <strong>de</strong>n<br />
Schalter daher auf Private stellen.<br />
• Display Connection Path: Wenn Sie diese Option auf Yes setzen, so<br />
wer<strong>de</strong>n alle Verbindungen zwischen aktiven Benutzern und besuchten<br />
Profilen angezeigt. Schon aus Performancegrün<strong>de</strong>n sollten Sie diese Option<br />
mit No <strong>de</strong>aktivieren, da sie das System stark belastet.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
232 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
• Mutual Consent: Es empfiehlt sich, diesen Schalter auf Yes zu setzen,<br />
damit bei einem Verbindungsaufbau bei<strong>de</strong> Seiten <strong>de</strong>r Verbindung zustimmen<br />
müssen.<br />
• Notification Method: Dieses Drop-down-Menü stellt Ihnen vier Optionen<br />
zur Auswahl. Wenn Sie sich für die Option No entschei<strong>de</strong>n, so wird<br />
keine Hinweismeldungsmetho<strong>de</strong> verwen<strong>de</strong>t, um <strong>de</strong>n Gesprächspartner auf<br />
die Verbindungsaufnahme aufmerksam zu machen. Bei <strong>de</strong>r Option Email<br />
wird eine Mail verschickt. Die Option PMS greift auf das in <strong>de</strong>n Community<br />
Buil<strong>de</strong>r integrierte Messaging-System zurück. Es muss allerdings<br />
nach einer Standardinstallation erst über <strong>de</strong>n CB-Plugin-Mechanismus installiert<br />
wer<strong>de</strong>n.<br />
• Cross Connection: Wenn Sie diesen Schalter auf Yes setzen, so wird eine<br />
bidirektionale Verbindung aufgebaut. Mit No wird eine unidirektionale<br />
Verbindung erzeugt, das be<strong>de</strong>utet, dass User A zum User B eine Verbindung<br />
aufbauen kann, B aber nicht notwendigerweise mit A verbun<strong>de</strong>n ist.<br />
• Connection Types: Schließlich können Sie <strong>de</strong>n Verbindungstyp <strong>de</strong>finieren.<br />
Gängige Typen sind Friend, Co Worker, Same Language o<strong>de</strong>r Developer.<br />
Lei<strong>de</strong>r ist nirgends richtig dokumentiert, welche Begriffe außer<strong>de</strong>m<br />
zulässig sind.<br />
Die Community-Buil<strong>de</strong>r-Konfiguration hat ein letztes Register zu bieten: das Register<br />
Integration. Diesem sind wir bereits zu Anfang dieses Kapitels begegnet.<br />
Hier können Sie die automatische Prüfung nach neueren Versionen aktivieren bzw.<br />
<strong>de</strong>aktivieren. Es bleibt Ihnen überlassen, wie Sie mit dieser Funktion umgehen.<br />
Nützlich ist es sicherlich, wenn man weiß, welches die aktuellste Version ist –<br />
mehr aber auch nicht.<br />
8.5 Community Buil<strong>de</strong>r aus Benutzersicht<br />
Bevor wir uns anschauen, wie man die weiteren administrativen Anpassungen<br />
vornimmt, werfen wir noch einen Blick auf das Frontend. Wie Sie eine <strong>Joomla</strong>!-<br />
Komponente in eines Ihrer Menüs einbin<strong>de</strong>n ist Ihnen bekannt. Die dafür erfor<strong>de</strong>rlichen<br />
Schritte sparen wir uns an dieser Stelle.<br />
Nach <strong>de</strong>m Einbin<strong>de</strong>n wird beispielsweise Ihre Hauptnavigationsleiste um einen<br />
CB-Login-Dialog und gegebenenfalls um die Infofel<strong>de</strong>r Login und Workflow<br />
erweitert.<br />
www.brain-media.<strong>de</strong>
Community Buil<strong>de</strong>r aus Benutzersicht 233<br />
Über die CD-Funktionen Ihre Navigationsleiste<br />
loggen Sie sich ein o<strong>de</strong>r registrieren Sie sich.<br />
Der <strong>Joomla</strong>!-Administrator ist <strong>de</strong>r erste CB-Benutzer, <strong>de</strong>r das Community-Modul<br />
nutzen kann. Wenn Sie sich mit <strong>de</strong>ssen Kennung einloggen, so präsentiert Ihnen<br />
das System eine recht langweilige Seite: Ihr Admin-Profil.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
234 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Ein erster Blick auf das bislang noch schnö<strong>de</strong> Admin-Profil.<br />
Über die Schaltfläche Community erfahren Sie, welche CB-Version Sie installiert<br />
haben. Um Ihr Profil mit Leben zu füllen, klicken Sie auf Edit und führen eine<br />
Aktualisierung <strong>de</strong>r hinterlegten Daten durch und la<strong>de</strong>n eine Grafik hoch. Über die<br />
Schaltfläche Connections erfolgt die Verwaltung <strong>de</strong>r Verbindungen. Das soll vorerst<br />
genügen.<br />
8.6 Tabs erzeugen<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, ist das Standardprofil recht<br />
eintönig. Mithilfe <strong>de</strong>s so genannten Tab Managements können Sie die Profile um<br />
weitere Funktionen aufwerten. Sie greifen über das Menü Components> Community<br />
Buil<strong>de</strong>r> Tag Management auf die Tab-Verwaltung zu. Der so genannte Tab<br />
Manager führt dreizehn solcher Register auf, die Sie in die Profilfunktion einbin<strong>de</strong>n<br />
können. Es han<strong>de</strong>lt sich dabei übrigens nicht nur um Register, son<strong>de</strong>rn auch<br />
um HTML-basierte Inhalte. Diese Tabs wer<strong>de</strong>n bei <strong>de</strong>r Installation <strong>de</strong>s Community<br />
Buil<strong>de</strong>rs automatisch erzeugt. Diese vor<strong>de</strong>finierten Module integrieren insbeson<strong>de</strong>re<br />
von <strong>Joomla</strong>! zur Verfügung gestellte Funktionen.<br />
www.brain-media.<strong>de</strong>
Fel<strong>de</strong>r <strong>de</strong>finieren 235<br />
Im Tab Manager verwalten Sie vor<strong>de</strong>finierte wie neue Tabs.<br />
Die Tabs, die im Tab Manager aufgeführt wer<strong>de</strong>n, sind mit <strong>de</strong>n gleichnamigen<br />
Benutzer-Plugins verknüpft. So dient beispielsweise das Tab Connections dazu, die<br />
Verbindung zweier Benutzer anzuzeigen. Das Tab User Profile Page ist standardmäßig<br />
aktiviert und zeigt die oben beschriebenen Inhalte an.<br />
Wie<strong>de</strong>r an<strong>de</strong>re Tabs wie das Articles-Tab integriert <strong>Joomla</strong>!-Artikel in die Profilansicht.<br />
Sie können auch ein Forum integrieren, in<strong>de</strong>m Sie das Forum-Tab veröffentlichen.<br />
Es setzt allerdings die Installation von Simpleboard bzw. seinem Nachfolger<br />
<strong>Joomla</strong>board voraus. Ähnlich verhält es sich mit <strong>de</strong>m Blog-Tab: Seine Funktionalität<br />
ist nur dann gegeben, wenn Sie die Blog-Komponente installiert haben.<br />
Werfen wir noch einen Blick auf die Verbindungsfunktion. Sucht man <strong>de</strong>n direkten<br />
Draht zu einem an<strong>de</strong>ren Community-Mitglied, so muss man zunächst <strong>de</strong>ssen Profil<br />
aufsuchen. Zum Auffin<strong>de</strong>n eines Benutzers wechselt man einfach zur Benutzerliste<br />
und klickt auf einen Eintrag. Um die Verbindung herzustellen, klicken Sie auf <strong>de</strong>n<br />
Add-Connection-Link, worauf <strong>de</strong>r Einladungsvorgang eingeleitet wird. Haben Sie<br />
als Hinweismeldung die Variante PMS o<strong>de</strong>r E-Mail aktiviert, so wird ein kleines<br />
Pop-up-Fenster geöffnet, in <strong>de</strong>m Sie eine persönliche Einladung versen<strong>de</strong>n können.<br />
Nach<strong>de</strong>m die Einladung verschickt ist, kann <strong>de</strong>r Empfänger sie über die Connection-Schaltfläche<br />
annehmen und auch wie<strong>de</strong>r been<strong>de</strong>n.<br />
Wie Sie es von <strong>Joomla</strong>! kennen, können Sie durch Editieren eines Listeneintrags<br />
<strong>de</strong>ssen Eigenschaften bearbeiten. So können Sie beispielsweise eine Beschreibung<br />
einführen o<strong>de</strong>r die Position über das gleichnamige Auswahlmenü än<strong>de</strong>rn.<br />
8.7 Fel<strong>de</strong>r <strong>de</strong>finieren<br />
Der Community Buil<strong>de</strong>r erlaubt Ihnen auch das Erzeugen von neuen Fel<strong>de</strong>rn, die<br />
dann in Tabs zusammengefasst in <strong>de</strong>n Profilen angezeigt wer<strong>de</strong>n können. Auch die<br />
Aktualisierung von Inhalten in bestimmten Feldtypen ist möglich – solange es sich<br />
um Nicht-read-only-Fel<strong>de</strong>r han<strong>de</strong>lt. Sie können auch <strong>de</strong>n Registrierungsvorgang<br />
um weitere Fel<strong>de</strong>r erweitern, in<strong>de</strong>m Sie diese als Required for Registration kennzeichnen.<br />
Wenn Sie im Frontend <strong>de</strong>m Register-Link folgen, so stellen Sie fest, dass<br />
dort nur <strong>de</strong>r Benutzername, die E-Mail-Adresse, <strong>de</strong>r Name und das Passwort sowie<br />
<strong>de</strong>ssen Bestätigung gefor<strong>de</strong>rt sind. Sie können die Fel<strong>de</strong>r dazu nutzen, Ihre Community-Seiten<br />
um entsprechen<strong>de</strong> Informationen zu erweitern. Denkbar ist beispielsweise<br />
ein Tab mit persönlichen Informationen wie Alter, Beruf, Interessen,<br />
Hobbys etc.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
236 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Der Feldmanager <strong>de</strong>s Community Buil<strong>de</strong>rs.<br />
Für die Verwaltung von Fel<strong>de</strong>rnist <strong>de</strong>r so genannte Feld-Manager zuständig, auf<br />
<strong>de</strong>n Sie über Components> Community Buil<strong>de</strong>r> Field Management zugreifen. Sie<br />
erzeugen ein neues Feld, in<strong>de</strong>m Sie im Feldmanager auf die Schaltfläche New<br />
Field klicken. Je<strong>de</strong>s bestehen<strong>de</strong> wie neue Feld ist durch eine Vielzahl von Eigenschaften<br />
gekennzeichnet. Zunächst müssen Sie <strong>de</strong>n Feldtyp bestimmen. Ihnen<br />
stehen zwölf Typen zur Auswahl:<br />
• Check Box (single): Dieser Kontrollkästchentyp kennt lediglich die bei<strong>de</strong>n<br />
Zustän<strong>de</strong> an/aus o<strong>de</strong>r Ja/Nein. Weitere Anpassungsmöglichkeiten stehen<br />
für diesen Typ nicht zur Verfügung.<br />
• Check Box (multiple): Diese Fel<strong>de</strong>r können einen o<strong>de</strong>r mehrere Werte<br />
einer Liste vor<strong>de</strong>finierter Werte akzeptieren. Dieser Feldtyp wird als horizontale<br />
Liste von Checkboxen präsentiert. Sie können diese beispielsweise<br />
nutzen, damit <strong>de</strong>r Benutzer unter Sprachkenntnisse mehrere Sprachen<br />
angeben kann. Sie können bei diesem Typ die Anzahl <strong>de</strong>r Zeilen und<br />
Spalten <strong>de</strong>finieren. Das Formular erzeugt außer<strong>de</strong>n an seinem unteren En<strong>de</strong><br />
eine Liste von Eingabefel<strong>de</strong>rn, in <strong>de</strong>nen Sie die Werte bestimmen. Um<br />
weitere Kontrollkästchen zu erzeugen, klicken Sie auf die Schaltfläche<br />
Add a Value. Sie können außer<strong>de</strong>m über das Feld Size die Breite <strong>de</strong>r Fel<strong>de</strong>r<br />
bestimmen.<br />
www.brain-media.<strong>de</strong>
Fel<strong>de</strong>r <strong>de</strong>finieren 237<br />
Das Erzeugen von mehreren Kontrollkästchen<br />
ist mit <strong>de</strong>m Feldmanager ein Kin<strong>de</strong>rspiel.<br />
• Date: Dieser Feldtyp akzeptiert Datumseingaben. Dabei steht <strong>de</strong>m Benutzer<br />
ein typischer Pop-up-Kalen<strong>de</strong>r für die Auswahl <strong>de</strong>s Datums zur Verfügung.<br />
Wichtig: Das Format wird durch die Konfiguration bestimmt, die<br />
Sie im Community-Buil<strong>de</strong>r-Configuration-Manager <strong>de</strong>finiert haben. Weitere<br />
Anpassungen stehen für diesen Feldtyp nicht zur Verfügung.<br />
• Drop Down (Single Select): Mit diesem Feldtyp erzeugen Sie ein typisches<br />
Auswahlmenü. Hier können Sie beispielsweise <strong>de</strong>m Benutzer die<br />
Möglichkeit geben, seine Ausbildung anzugeben. Als mögliche Auswahlkriterien<br />
steen Sie Hauptschule, Realschule, Gesamtschule, Gymnasium<br />
o<strong>de</strong>r Universität zur Verfügung. Nach <strong>de</strong>r Auswahl <strong>de</strong>s Typs können Sie<br />
am unteren Formularen<strong>de</strong> wie<strong>de</strong>r verschie<strong>de</strong>ne Auswahlmöglichkeiten<br />
eintragen.<br />
• Drop Down (Multi Select): Bei diesem Typ stellen Sie <strong>de</strong>m Anwen<strong>de</strong>r<br />
eine o<strong>de</strong>r mehrere Auswahlmenüs zur Verfügung.<br />
• Email Address: Dieser Feldtyp ist für die Eingabe einer E-Mail-Adresse<br />
konzipiert. Es fin<strong>de</strong>t eine Gültigkeitsprüfung bei <strong>de</strong>r Eingabe statt. Als Parameter<br />
können Sie die Größe und die maximale Länge <strong>de</strong>r Eingaben bestimmen.<br />
• Editor Text Area: Mit diesem Typ erzeugen Sie ein einfaches Textfeld,<br />
das auch formatierten Text aufnimmt, <strong>de</strong>n Sie über <strong>de</strong>n integrierten<br />
<strong>Joomla</strong>!-Editor (siehe Einstellungen in <strong>de</strong>r <strong>Joomla</strong>!-Konfiguration) gestalten<br />
können. Sie können bei diesem Feldtyp folgen<strong>de</strong> Eigenschaften anpas-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
238 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
sen: Größe, maximal zulässige Eingabenlänge sowie die Anzahl <strong>de</strong>r Reihen<br />
und die Zeichenbreite.<br />
• Text Area: Dieser Feldtyp nimmt nur unformatierte Inhalte auf. Hier<br />
können Sie ebenfalls die Größe, die maximal zulässige Eingabenlänge<br />
und die Zeichenbreite und Anzahl an Zeilen bestimmen.<br />
• Radio Button: Mit diesem Typ erzeugen Sie eine so genannte Optionsschaltergruppe.<br />
Deren Funktionalität ist mit <strong>de</strong>r eines Drop-down-Menüs<br />
vergleichbar. Auch hier können Sie wie<strong>de</strong>r die Werte bestimmen.<br />
• Web Address: Dieser Typ ist für die Eingabe einer Web-Adresse konzipiert.<br />
So kann <strong>de</strong>nn ein Community-Mitglied beispielsweise seine Homepage<br />
im Profil angeben. Als mögliche Parameter können Sie die Größe<br />
anpassen und aus <strong>de</strong>m Drop-down-Menü Type <strong>de</strong>n zulässigen Typ bestimmen.<br />
Sie haben die Wahl zwischen URL only und Hypertext and<br />
URL. Im ersten Fall wird lediglich die Adresse angezeigt, im zweiten Fall<br />
ist <strong>de</strong>r direkte Zugriff auf die Seite über <strong>de</strong>n Link möglich.<br />
• Fields <strong>de</strong>limiter: Bei diesem Typ han<strong>de</strong>lt es sich um ein konstantes<br />
HTML-Feld. Es dient dazu, an<strong>de</strong>re Feldtypen zu gruppieren, die beispielsweise<br />
inhaltlich zusammengehören. Bei diesem Typ können Sie lediglich<br />
die Größe bestimmen.<br />
Nach <strong>de</strong>r Feldauswahl können Sie sich an die weiteren Fel<strong>de</strong>instellungen machen.<br />
Bestimmen Sie als Nächstes, auf welchem Tab die Informationen eingeführt wer<strong>de</strong>n<br />
sollen. Wir wählen in diesem Beispiel das Tab Contact Info und wollen <strong>de</strong>m<br />
Benutzer die Möglichkeit geben, dass er seine Ausbildung in seinem Profil vermerkt.<br />
Weisen Sie <strong>de</strong>m neuen Feld im Eingabefeld Name eine Bezeichnung zu.<br />
Das Formularfeld macht aus Ihrer Eingabe Ausbildung automatisch <strong>de</strong>n Eintrag<br />
cb_Ausbildung, damit das Feld ein<strong>de</strong>utig als CB-Feld i<strong>de</strong>ntifizierbar ist.<br />
Dann hinterlegen Sie unter Title die Bezeichnung <strong>de</strong>s neuen Felds. Diese wird bei<br />
<strong>de</strong>r Veröffentlichung im Frontend angezeigt. Das Description-Feld kann zwei Aufgaben<br />
übernehmen – abhängig vom jeweiligen Feldtyp. Bei <strong>de</strong>n meisten Feldtypen<br />
wird die hier hinterlegte Beschreibung als Tooltip angezeigt, wenn <strong>de</strong>r Benutzer<br />
<strong>de</strong>n Mauszeiger über <strong>de</strong>n Info-Button am En<strong>de</strong> eines Fel<strong>de</strong>s führt.<br />
Über das Required-Auswahlmenü legen Sie fest, ob dieses neue Feld von <strong>de</strong>m<br />
Mitglied ausgeführt wer<strong>de</strong>n muss. Bei welchen Fel<strong>de</strong>rn das sinnvoll ist und wann<br />
nicht, sollten Sie im Einzelfall prüfen. Wenn Sie wie in diesem Beispiel die Ausbildung<br />
in das Profil aufnehmen, so macht es kaum Sinn, diese Information zu<br />
erzwingen. Mit <strong>de</strong>m Schalter Show on Profile? bestimmen Sie, ob das neue Feld<br />
im Profil angezeigt wer<strong>de</strong>n soll o<strong>de</strong>r nicht. Mit <strong>de</strong>r folgen<strong>de</strong>n Einstellungen User<br />
Read Only? legen Sie fest, ob <strong>de</strong>r Benutzer die Feldinformation selbst än<strong>de</strong>rn kann<br />
o<strong>de</strong>r nicht. Meist fahren Sie mit <strong>de</strong>r Option Yes richtig.<br />
www.brain-media.<strong>de</strong>
Fel<strong>de</strong>r <strong>de</strong>finieren 239<br />
Sie können das neue Feld auch in <strong>de</strong>n Registrierungsvorgang einbin<strong>de</strong>n. Dazu<br />
setzen Sie <strong>de</strong>n Schalter Show at Registration auf Yes. Damit <strong>de</strong>r Benutzer es bei<br />
<strong>de</strong>r Registrierung ausfüllen muss, aktivieren Sie auch das Erzwingen mit <strong>de</strong>r oben<br />
beschriebenen Option Required.<br />
Schließlich erlaubt das Formular das Setzen <strong>de</strong>s Veröffentlichungsstatus. In <strong>de</strong>r<br />
Regel wollen Sie das neue Formularfeld auch direkt nutzen und schalten daher auf<br />
Yes. Bei <strong>de</strong>n meisten Feldtypen können Sie außer<strong>de</strong>m die bereits mehrfach erwähnte<br />
Größe bestimmen.<br />
Nach all <strong>de</strong>r Theorie schauen wir uns nun ein konkretes Beispiel an, wie man ein<br />
benutzer<strong>de</strong>finiertes Feld in einem eigenen Tab erzeugt. Das Ziel ist das Register<br />
Persönlich im Ihrem Profil, das verschie<strong>de</strong>ne selbsterzeugte Fel<strong>de</strong>r beinhaltet.<br />
Zunächst wechseln Sie zum Tab Manager und erzeugen mit New Tab ein neues<br />
Register. Das bezeichnen Sie mit Persönlich, hinterlegen eine Beschreibung und<br />
stellen sicher, dass es publiziert wird. Außer<strong>de</strong>m können Sie über das Auswahlmenü<br />
Position die Position bestimmen. Unter Display type wählen Sie Tabbed Pane.<br />
Speichern Sie dann das neue Register mit einem Klick auf Save.<br />
Das Auswahlmenü für das Register Persönlich in <strong>de</strong>r Entstehung.<br />
Hier wählen Sie dann als Feldtyp Drop Down (Single Select), unter Tab das zuvor<br />
erzeugte Register Persönlich und weisen <strong>de</strong>m Feld die Bezeichnung<br />
cb_Ausbildung zu. Sie können eine Beschreibung hinterlegen. Stellen Sie sicher,<br />
dass das Feld publiziert wird. Im unteren Bereich bestimmen Sie die möglichen<br />
Ausbildungseinträge. Mit einem Klick auf Save lan<strong>de</strong>n Sie in <strong>de</strong>r Feldliste, in <strong>de</strong>r<br />
nun auch an letzter Position das neu erzeugte Feld aufgeführt wird.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
240 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Wir erzeugen gleich noch einen zweiten Feldtyp, und zwar ein Auswahlmenü, über<br />
das <strong>de</strong>r Benutzer angibt, ob er bzw. sie männlich o<strong>de</strong>r weiblich ist. Dazu erzeugen<br />
Sie einen weiteren Feldtyp, wählen unter Type <strong>de</strong>n Eintrag Radio Button und hinterlegen<br />
die bei<strong>de</strong>n möglichen Werte männlich und weiblich. Sie können sich nun<br />
an das Einführen weiterer Fel<strong>de</strong>r machen, beispielsweise zu Sprachkenntnissen,<br />
Wohnort, Altersgruppe etc.<br />
Als Nächstes wechseln Sie nun in die Benutzerverwaltung und editieren dort <strong>de</strong>n<br />
Benutzereintrag, <strong>de</strong>n Sie um das neue Register erweitern wollen. Im Formular Edit<br />
User fin<strong>de</strong>n Sie das zuvor erzeugte Tab Persönlich. Nun können Sie dort aus <strong>de</strong>n<br />
zuvor erzeugten Fel<strong>de</strong>rn die Informationen bestimmen, die zu Ihrem Profil passen.<br />
Speichern Sie diese Einstellungen mit einem Klick auf Save. Wenn Sie nun ins<br />
Backend wechseln, so wer<strong>de</strong>n dort das neue Register und die ausgewählten Informationen<br />
angezeigt.<br />
Das Än<strong>de</strong>rn <strong>de</strong>r Benutzerdaten.<br />
Das (vorläufige) Ergebnis Ihrer Anpassungen zeigt nachstehen<strong>de</strong> Abbildung: Das<br />
Profil ist um das Register Persönlich erweitert und weist zwei Detailinformationen<br />
auf.<br />
www.brain-media.<strong>de</strong>
Fel<strong>de</strong>r <strong>de</strong>finieren 241<br />
Das neu erzeugte Register Persönlich und die Einstellungen<br />
<strong>de</strong>s Community-Mitglieds im Frontend.<br />
Die bisherigen Erweiterungen <strong>de</strong>s Standardprofils waren recht einfacher Natur.<br />
Was aber, wenn Sie eine Län<strong>de</strong>rliste als Drop-down-Menü in Ihre Community<br />
integrieren wollen? Hierzu müssen Sie manuell in die CB-Datenbank eingreifen.<br />
Das klingt schlimmer, als es wirklich ist, <strong>de</strong>nn mit phpMyAdmin gibt es ein hervorragen<strong>de</strong>s<br />
Werkzeug, das Ihnen dabei unter die Arme greift. Außer<strong>de</strong>m gehört es<br />
zur Grundausstattung einer XAMPP-Installation und steht Ihnen somit meist zur<br />
Verfügung. Bevor Sie sich allerdings an die Bearbeitung <strong>de</strong>r CB-Datenbank, genauer<br />
an die Comprofiler-relevanten Tabellen machen, sollten Sie die Datenbank<br />
sichern.<br />
Zunächst erzeugen Sie mit <strong>de</strong>n bekannten CB-Funktionen ein neues Feld, das Sie<br />
beispielsweise mit cb_laen<strong>de</strong>rliste bezeichnen. Wählen Sie als Typ Drop Down<br />
(Single Select). Außer<strong>de</strong>m müssen Sie min<strong>de</strong>stens einen Wert hinterlegen.<br />
Damit haben Sie eine weitere Spalte in zwei CB-Tabellen Ihrer <strong>Joomla</strong>!-Datenbank<br />
erzeugt, und zwar in folgen<strong>de</strong>n Tabellen: jos_comprofiler_fields und jos_comprofiler_field_values.<br />
Wenn Sie diese Tabellen mit phpMyAdmin öffnen, fin<strong>de</strong>n<br />
Sie die Tabellenerweiterung auf <strong>de</strong>m Register Anzeigen am En<strong>de</strong> <strong>de</strong>r Tabelle.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
242 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Die Tabelle jos_comprofiler_field_values gilt es zu bearbeiten.<br />
Nun wechseln Sie zur Tabelle jos_comprofiler_field_values. Diesen Eintrag löschen<br />
Sie, merken o<strong>de</strong>r besser notieren sich die Feld-ID (in diesem Fall 56). Als<br />
Nächstes erzeugen Sie eine durch Strichpunkte separierte Liste. Diese sollte wie<br />
folgt aussehen (für <strong>de</strong>n Anfang genügen die ersten fünf Einträge):<br />
56;Afghanistan;1<br />
56;Aland;2<br />
56;Albania;3<br />
56;Algeria;4<br />
56;American Samoa;5<br />
Wichtig ist, dass Sie <strong>de</strong>n Zahlenwert 56 gegebenenfalls durch Ihre Field-ID ersetzen.<br />
Bezeichnen Sie diese Liste als laen<strong>de</strong>rliste.txt und speichern Sie diese auf<br />
Ihrem System. Als Nächstes führen Sie einen Import <strong>de</strong>r Textdatei durch. Dazu<br />
wechseln Sie in phpMyAdmin zum Register Importieren, bestimmen die zu importieren<strong>de</strong><br />
Datei und wählen als Format CSV und importieren die Datei. Außer<strong>de</strong>m<br />
müssen Sie die Parameter fieldid, fieldtitle und or<strong>de</strong>ring anpassen. Nach <strong>de</strong>m Import<br />
sollte die Liste mit <strong>de</strong>n fünf Einträgen verfügbar sein.<br />
Sie können sich natürlich die Arbeit auch einfacher machen: Die Community-<br />
Buil<strong>de</strong>r-Entwickler stellen Ihnen eine vollständige Län<strong>de</strong>rliste zum Download<br />
bereit. Sie fin<strong>de</strong>n diese im Download-Bereich Add-ons.<br />
www.brain-media.<strong>de</strong>
Der Umgang mit Benutzerlisten 243<br />
8.8 Der Umgang mit Benutzerlisten<br />
Mit <strong>de</strong>m Community Buil<strong>de</strong>r können Sie auch Benutzerlisten erstellen. Das vereinfacht<br />
Ihnen die Arbeit bei <strong>de</strong>r Benutzerverwaltung. So können Sie beispielsweise<br />
eine Liste erstellen, die von autorisiereten Benutzern über die CB-Benutzerliste<br />
eingesehen wer<strong>de</strong>n kann. Die greifen auf die Listenfunktion zu, in<strong>de</strong>m Sie <strong>de</strong>n<br />
Befehl Components> Community Buil<strong>de</strong>r> List Management ausführen. Nach<br />
einer Standardinstallation fin<strong>de</strong>n Sie einen einzigen Listeneintrag vor: Members<br />
List.<br />
Um eine eigene Liste zu erzeugen, klicken Sie auf die Schaltfläche New List und<br />
füttern das zugehörige Formular mit folgen<strong>de</strong>n Informationen:<br />
• Title: Hier weisen Sie <strong>de</strong>r neuen Liste eine Bezeichnung zu. Achten Sie<br />
beim Praxiseinsatz auf eine aussagekräftige Benennung.<br />
• Description: In diesem Eingabefeld hinterlegen Sie eine Beschreibung<br />
<strong>de</strong>r Liste.<br />
• User Groups to allow access to: Dieses Auswahlmenü ist Ihnen als<br />
<strong>Joomla</strong>!-Admin hinlänglich bekannt. Hier legen Sie fest, welche Gruppen<br />
Zugriff auf Ihre Liste haben. Wenn Sie beispielsweise <strong>de</strong>n Eintrag<br />
Authors markieren, haben aller Autoren Zugriff auf die Liste.<br />
• User Groups to Inclu<strong>de</strong>: Hier legen Sie die Gruppen fest, die Sie in die<br />
Liste einschließen wollen. Sie können natürlich mehrere Gruppen einschließen.<br />
• Published: Hier legen Sie wie gewohnt fest, ob die Liste veröffentlicht<br />
wer<strong>de</strong>n soll o<strong>de</strong>r nicht.<br />
• Default: Mit diesem Auswahlmenü bestimmen Sie, ob die neue Gruppe<br />
Ihre Standardgruppe wird o<strong>de</strong>r nicht. Sie sollten darauf achten, dass Sie<br />
die Gruppe zum Standard machen, die die niedrigsten Zugriffsrechte besitzt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
244 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Eine neue Liste in <strong>de</strong>r Entstehung.<br />
• Sort by: Über dieses Auswahlmenü können Sie die Sortierung <strong>de</strong>r Listeneinträge<br />
än<strong>de</strong>rn. Standardmäßig ist die Liste alphabetisch nach Namen<br />
sortiert. Sie können diese Sortierung aber auch nach <strong>de</strong>m letzten Login,<br />
nach <strong>de</strong>m Wohnort o<strong>de</strong>r auch nach Län<strong>de</strong>rn än<strong>de</strong>rn. Das Interessante an<br />
<strong>de</strong>r Sortierung: Sie können mehrere Kriterien anwen<strong>de</strong>n. Um ein weiteres<br />
Kriterium heranzuziehen, wählen Sie dieses aus und klicken auf Add. Sie<br />
wer<strong>de</strong>n es wie<strong>de</strong>r los, in<strong>de</strong>m Sie einen Eintrag markieren und auf Remove<br />
klicken.<br />
• Filter: Mithilfe <strong>de</strong>r Filterfunktion können Sie gezielt Benutzer aus <strong>de</strong>r<br />
Liste herausfiltern. Die Filterfunktion kann in zwei Varianten verwen<strong>de</strong>t<br />
wer<strong>de</strong>n. In <strong>de</strong>r einfachen Form steht Ihnen ein Auswahlmenü zur Verfügung,<br />
mit <strong>de</strong>m Sie die Kondition bestimmen. Wenn Ihnen das nicht genügt,<br />
können Sie auch eine komplexe Filterung mithilfe eines SQL-<br />
Statements verwen<strong>de</strong>n. Aktivieren Sie dazu zunächst mit einem Klick auf<br />
Advanced die erweiterten Varianten und geben Sie Ihren Co<strong>de</strong> in <strong>de</strong>m da-<br />
www.brain-media.<strong>de</strong>
Der Umgang mit Benutzerlisten 245<br />
für vorgesehenen Textfeld ein. Hier ein Beispiel für einen Filter, <strong>de</strong>r alle<br />
<strong>de</strong>utsch- und englischsprechen<strong>de</strong>n Benutzer ausgibt:<br />
(cb_sprache LIKE '%englisch%' or cb_sprache LIKE<br />
'%french%') AND cb_geschlecht = 'Männlich'<br />
Nutzen Sie Spalten für die Benutzerliste.<br />
• Column 1,2,3 und 4: Anstelle einer schnö<strong>de</strong>n Liste können Sie Ihre Listen<br />
auch in Spaltenform präsentieren. Sie können bis zu vier Spalten erzeugen<br />
– und dabei in je<strong>de</strong>r Liste mit unterschiedlichen Kriterien anzeigen.<br />
Dazu muss die jeweilige Option Enalbe Column x aktiviert wer<strong>de</strong>n.<br />
Sie können außer<strong>de</strong>m durch Aktivieren <strong>de</strong>r Option Caption eine Beschriftung<br />
einfügen. Um nun einer Liste ein o<strong>de</strong>r mehrere Kriterien zuzuweisen,<br />
aktivieren Sie die gewünschte Spalten und wählen dann aus <strong>de</strong>r Feldlist<br />
die gewünschten Kriterien aus (z.B. Name, E-Mail-Adresse, Website<br />
etc.). Über die vier Add-Schaltflächen weisen Sie die Kriterien <strong>de</strong>n Spalten<br />
zu.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
246 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
8.9 Plugin-Verwaltung<br />
Mit <strong>de</strong>m Community Buil<strong>de</strong>r 1.0 wur<strong>de</strong> das Plugin-Framework eingeführt, das es<br />
<strong>de</strong>n Administrator erlaubt, die Grundfunktionalität zu erweitern. Das Framework<br />
erlaubt es Ihnen beispielsweise, zusätzliche Sprachen, weitere Register o<strong>de</strong>r an<strong>de</strong>re<br />
Komponenten in das System einzubetten.<br />
Die Verwaltung <strong>de</strong>r Plugins erfolgt mithilfe <strong>de</strong>s Plugin-Managers, <strong>de</strong>n Sie über das<br />
Menü Components> Community Buil<strong>de</strong>r> Plugin Management aufrufen können.<br />
Einigen dieser Plugins sind wir bereits begegnet, beispielsweise <strong>de</strong>m Verbindungs-<br />
Plugin.<br />
Der Plugin Manager listet die installierten Plugins.<br />
Je<strong>de</strong>r dieser Erweiterungen sind spezifische Parameter und Eigenschaften zugewiesen,<br />
die Sie mit einem Klick auf die jeweilige Plugin-Bezeichnung öffnen. Sie<br />
fin<strong>de</strong>n im Download-Bereich <strong>de</strong>r Community-Buil<strong>de</strong>r-Homepage verschie<strong>de</strong>ne<br />
Erweiterungen.<br />
www.brain-media.<strong>de</strong>
Typische Aktionen im Backend 247<br />
Community-Buil<strong>de</strong>r-Tools<br />
Es gibt einen weiteren Mechanismus, mit <strong>de</strong>m man die Grundfunktionalität <strong>de</strong>s<br />
Community Buil<strong>de</strong>rs erweitern kann. Und zwar sind das CB-Tools, die Sie im<br />
gleichnamigen Untermenü fin<strong>de</strong>n.<br />
In <strong>de</strong>r aktuellen Version stellt Ihnen <strong>de</strong>r Community Buil<strong>de</strong>r zwei Tools zur Verfügung:<br />
Zum einen können Sie Beispieldaten la<strong>de</strong>n, mit <strong>de</strong>nen Sie erste Erfahrungen<br />
mit <strong>de</strong>r Umgebung sammeln können, zum an<strong>de</strong>ren können Sie per Mausklick die<br />
<strong>Joomla</strong>!- und CB-Benutzer synchronisieren. Ein Klick auf <strong>de</strong>n jeweiligen Link im<br />
Tools-Manager genügt, um die Daten einzuspielen bzw. <strong>de</strong>n Abgleich durchzuführen.<br />
8.10 Typische Aktionen im Backend<br />
Nach<strong>de</strong>m Sie <strong>de</strong>n Community Buil<strong>de</strong>r so konfiguriert haben, wie es Ihnen fürs<br />
Erste sinnvoll scheint, wollen wir uns zum Abschluss dieses Kapitels noch einige<br />
typische Aktionen vorstellen, die auf Sie in <strong>de</strong>r Praxis zukommen. Diese Aufgaben<br />
wer<strong>de</strong>n vom CB-Administrator o<strong>de</strong>r von einem o<strong>de</strong>r auch mehreren Mo<strong>de</strong>ratoren<br />
erledigt, sofern Sie welche erstellt haben. Typische Aufgaben sind beispielsweise<br />
die folgen<strong>de</strong>n:<br />
• Das manuelle Hinzufügen o<strong>de</strong>r Bearbeiten von Benutzereinstellungen<br />
mithilfe <strong>de</strong>r CB-Benutzerverwaltung.<br />
• Das Sperren von Benutzern aus <strong>de</strong>m User-Management-Panel.<br />
• Das Bearbeiten von neuen Registrierungen.<br />
• Die Bearbeitung von Benutzerberichten.<br />
• Das Bearbeiten von freizugeben<strong>de</strong>n Benutzerbil<strong>de</strong>rn.<br />
• Der Abgleich von <strong>Joomla</strong>!- und CB-Benutzern.<br />
Auf die Benutzerverwaltung greifen Sie über Components> Community Buil<strong>de</strong>r><br />
User Management zu. Dort wer<strong>de</strong>n die bereits erzeugten User samt Detailinformationen<br />
aufgeführt und können neue Benutzer erzeugt wer<strong>de</strong>n. Wichtige Informationen<br />
bei <strong>de</strong>r Benutzerverwaltung liefern Ihnen die vier letzten Spalten <strong>de</strong>r User-<br />
Verwaltung, <strong>de</strong>nen Sie entnehmen können, wann ein User das letzte Mal eingeloggt<br />
war, ob sein Account aktiviert und bestätigt ist.<br />
Nachstehen<strong>de</strong> Abbildung zeigt ein typisches Bild beim Öffnen <strong>de</strong>r Benutzerverwaltung.<br />
Je nach<strong>de</strong>m, ob Sie bereits einen Abgleich mit <strong>de</strong>n <strong>Joomla</strong>!-Benutzern<br />
durchgeführt o<strong>de</strong>r manuell weitere Benutzer eingeführt haben, listet die Benutzer-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
248 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
verwaltung min<strong>de</strong>stens einen Benutzer, <strong>de</strong>n Admin, o<strong>de</strong>r aber eben mehrere User<br />
auf.<br />
Ein Blick auf die typische Benutzerverwaltung.<br />
Über die Benutzerliste können Sie verschie<strong>de</strong>ne wichtige Aufgaben ausführen. So<br />
können Sie beispielsweise überwachen, welche Anmeldungen <strong>de</strong>n E-Mail-<br />
Bestätigungsvorgang been<strong>de</strong>t haben. Werfen Sie dazu einfach einen Blick in die<br />
Spalte Confirmed. Bei allen Einträgen, die ein rotes Kreuz aufweisen, ist die Bestätigung<br />
über die zugestellte E-Mail noch nicht erfolgt. Das grüne Häkchen zeigt<br />
Ihnen an, dass die Bestätigung erfolgreich abgearbeitet wur<strong>de</strong>.<br />
Autorisierte Administratoren bzw. Mo<strong>de</strong>ratoren können die Bestätigung manuell<br />
durchführen, in<strong>de</strong>m sie auf <strong>de</strong>n jeweiligen Namenseintrag klicken und die Wert<br />
von Confirm User auf Yes schalten.<br />
Wenn Sie einen Benutzereintrag editieren, so können Sie eine Vielzahl weiterer<br />
Anpassungen vornehmen. Abhängig von Ihrer Tab-Konfiguration präsentiert Ihnen<br />
<strong>de</strong>r Edit-User drei o<strong>de</strong>r auch mehr Register. Bei einer Standardkonfiguration sind<br />
es die Register Contact Info, Additional Info und Newsletter. In nachstehen<strong>de</strong>r<br />
Abbildung wird außer<strong>de</strong>m das Register Persönlich angezeigt, das wir oben erzeugt<br />
haben.<br />
www.brain-media.<strong>de</strong>
Typische Aktionen im Backend 249<br />
In <strong>de</strong>n Benutzereinstellungen können Sie<br />
<strong>de</strong>n Benutzerzugriff manuell freigeben.<br />
Auf <strong>de</strong>m Register Contact Info wer<strong>de</strong>n die wichtigsten Benutzer-spezifischen Informationen<br />
hinterlegt bzw. geän<strong>de</strong>rt. Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen<br />
können, wer<strong>de</strong>n verschie<strong>de</strong>ne Eingabefel<strong>de</strong>r mit kleinen Icons versehen, die<br />
Ihnen wichtige Zusatzinformationen liefern. Die Be<strong>de</strong>utung <strong>de</strong>r verschie<strong>de</strong>nen<br />
Icons fasst nachfolgen<strong>de</strong> Tabelle zusammen:<br />
Icon<br />
Beschreibung<br />
Tooltip gibt weitere Informationen zu einer Einstellung bzw.<br />
einen Feld preis, wenn Sie <strong>de</strong>n Mauszeiger über das Icon<br />
führen.<br />
Eine Eingabe in dieses Feld ist erfor<strong>de</strong>rlich.<br />
Die Daten in diesem Feld sind im Profil sichtbar.<br />
Die Daten in diesem Feld sind im Profil nicht sichtbar.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
250 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Einigen Fel<strong>de</strong>rn, die das Formular zum Editieren eines Benutzereintrags zu bieten<br />
hat, sind wir noch nicht begegnet:<br />
• User Editor: Über dieses Auswahlmenü bestimmen Sie <strong>de</strong>n Editor, mit<br />
<strong>de</strong>m <strong>de</strong>r Benutzer seine Seite bearbeiten und erweitern kann. Je nach<strong>de</strong>m,<br />
welche Editoren Ihre <strong>Joomla</strong>!-Installation zur Verfügung stellt, können<br />
Sie beispielsweise <strong>de</strong>n TinyMCE WYSIWYG-Editor aktivieren.<br />
• Group: Hier wird die Gruppe angezeigt, zu <strong>de</strong>r <strong>de</strong>r Benutzer gehört.<br />
• Block User: Dieses Auswahlmenü erlaubt das Sperren <strong>de</strong>s Benutzers.<br />
• Receive Mo<strong>de</strong>rator Emails: Hier legen Sie fest, ob <strong>de</strong>r Benutzer Nachrichten<br />
von <strong>de</strong>m Mo<strong>de</strong>rator erhalten kann.<br />
Außer<strong>de</strong>m zeigt das Formular das Datum <strong>de</strong>r Registrierung und <strong>de</strong>s letzten Zugriffs<br />
an.<br />
Wenn Sie sich die CB-Komponente auf <strong>de</strong>r Frontend-Seite bereits angesehen haben,<br />
so fin<strong>de</strong>n Sie dort das CB-Workflow-Modul – vorausgesetzt, Sie haben es<br />
über <strong>de</strong>n <strong>Joomla</strong>!-Modulmanager aktiviert. In diesem Modul wer<strong>de</strong>n die Aktionen<br />
aufgeführt, um die sich ein Mo<strong>de</strong>rator kümmern muss. Dabei geht es meist um<br />
folgen<strong>de</strong> Aufgaben:<br />
• das Freigeben eines Accounts<br />
• das Entsperren eines gesperrten Profils<br />
• das Freigeben eines Profilbilds<br />
Nachstehen<strong>de</strong> Abbildung zeigt das Workflow-Modul mit typischen Aufgaben.<br />
Das Workflow-Modul und verschie<strong>de</strong>ne Aufgaben.<br />
www.brain-media.<strong>de</strong>
Typische Aktionen im Backend 251<br />
Das Erledigen einer Aufgabe ist recht einfach: Klicken Sie auf einen Link, um <strong>de</strong>n<br />
zugehörigen Nachrichtentext lesen zu können. Hier drei Beispiele, wie diese Meldungen<br />
aussehen:<br />
From: Registrar [registrar@yoursite.com] To: Mo<strong>de</strong>rator Group<br />
Subject: {Site Name} – Unban Request Pending Review<br />
A user has submitted a request to unban their profile. Please<br />
login and take the appropriate action.<br />
NOTE: This email was automatically generated from {Site Name}<br />
(http://www.yoursite.com).<br />
From: Registrar [registrar@yoursite.com] To: Mo<strong>de</strong>rator Group<br />
Subject: {Site Name} -- User Report Pending Review<br />
A user has submitted a report regarding a user that requires<br />
review. Please login and take the appropriate action.<br />
NOTE: This email was automatically generated from {Site Name}<br />
(http://www.yoursite.com).<br />
From: Registrar [registrar@yoursite.com] To: Mo<strong>de</strong>rator Group<br />
Subject: {Site Name} -- Image Pending Approval<br />
A user has submitted an image for approval. Please login and<br />
take the appropriate action.<br />
NOTE: This email was automatically generated from {Site Name}<br />
(http://www.yoursite.com).<br />
Das Bearbeiten von solchen Aufgaben ist recht einfach. Der Meldungsdialog präsentiert<br />
Ihnen die Schaltfläche Process, über die Sie dann zum Profil <strong>de</strong>s jeweiligen<br />
Benutzers gelangen. Dieses wird für <strong>de</strong>n Mo<strong>de</strong>rator um das Register Mo<strong>de</strong>ration<br />
erweitert.<br />
Das Freigeben eines Profils durch <strong>de</strong>n Mo<strong>de</strong>rator.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
252 Aufbau einer Community mit <strong>de</strong>m Community Buil<strong>de</strong>r<br />
Um ein gesperrtes Profil wie<strong>de</strong>r freizugeben, führen Sie einfach <strong>de</strong>n Befehl Mo<strong>de</strong>ration><br />
Unban Profile aus.<br />
Das Freigeben eines Benutzerbil<strong>de</strong>s ist ebenfalls recht einfach. Klicken Sie einfach<br />
auf <strong>de</strong>n Image-Link im Workflow-Modul und Sie lan<strong>de</strong>n in <strong>de</strong>r<br />
Mo<strong>de</strong>ratorbildansicht. Hier wird das Bild samt <strong>de</strong>n bei<strong>de</strong>n Schaltflächen Approve<br />
und Reject angezeigt. Um das Bild freizugeben, klicken Sie auf Approve. Wollen<br />
Sie das Bild nicht freigeben, so klicken Sie auf Reject. Der Community Buil<strong>de</strong>r<br />
verschickt in diesem Fall eine Hinweismeldung an <strong>de</strong>n Benutzer, die standardmäßig<br />
wie folgt aussieht:<br />
From: Registrar [registrar@yoursite.com] To:<br />
user@userdomain.com Subject: {Site Name} – Image Rejected<br />
Your image has been rejected by a mo<strong>de</strong>rator. Please login and<br />
submit a new image.<br />
NOTE: This email was automatically generated from {Site Name}<br />
(http://www.yoursite.com).<br />
8.11 Typische Frontend-Aktionen<br />
Bis auf wenige Ausnahmen haben wir überwiegend in <strong>de</strong>r Backend-Ansicht gearbeitet.<br />
Schauen wir uns noch kurz an, was die typischen Frontend-Aktionen sind,<br />
die Ihre Benutzer – und Sie selbst – ausführen können. Die gängigsten Aktivitäten<br />
sind:<br />
• Registrierung als CB-Benutzer<br />
• Betrachten <strong>de</strong>s eigene Benutzerprofils<br />
• Bearbeiten <strong>de</strong>s eigenen Profils<br />
• Upload einer Grafik<br />
• Betrachten von Drittprofilen<br />
• Suche nach bestimmten Benutzern<br />
• Kontaktaufnahme mit an<strong>de</strong>ren Benutzern<br />
Den meisten Aktionen sind wir im Laufe dieses Kapitels begegnet. Sofern sie nicht<br />
beschrieben sind, han<strong>de</strong>lt es sich um selbsterklären<strong>de</strong> Aktionen, die für je<strong>de</strong>rmann<br />
problemlos durchzuführen sind.<br />
www.brain-media.<strong>de</strong>
Fazit 253<br />
8.12 Fazit<br />
Der Community Buil<strong>de</strong>r zählt zu Recht zu <strong>de</strong>n besten <strong>Joomla</strong>!-Erweiterungen. Er<br />
bietet alles, was Sie für die Integration einer Community in Ihre CMS-Installation<br />
benötigen. Die Handhabung ist einfach, die Integration hervorragend gelöst. Hinzu<br />
kommt, dass auch <strong>de</strong>r Community Buil<strong>de</strong>r von einem aktiven Entwicklerteam<br />
weiterentwickelt wird. Sie dürfen davon ausgehen, dass dieses Add-on uns auch in<br />
Zukunft noch Freu<strong>de</strong> bereiten wird.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
254 Formularentwicklung mit FacileForms<br />
9 Formularentwicklung mit FacileForms<br />
Im Alltag stehen Sie immer wie<strong>de</strong>r vor <strong>de</strong>r Aufgabe, dass Sie Ihre Website um<br />
Funktionen erweitern müssen. Eine <strong>de</strong>r wichtigsten Aufgaben: das Erstellen von<br />
Formularen, mit <strong>de</strong>nen sich Ihre Benutzer beispielsweise für einen Workshop anmel<strong>de</strong>n,<br />
weitere Informationen anfor<strong>de</strong>rn o<strong>de</strong>r einfach nur Feedback abgeben können.<br />
Wenn Sie bei einer <strong>Joomla</strong>!-Standardinstallation <strong>de</strong>rartige Applikationen erstellen<br />
wollen, kommen Sie ohne fundierte HTML-, PHP- und MySQL-Kenntnisse nicht<br />
son<strong>de</strong>rlich weit. Die Lösung für dieses Problem ist in<strong>de</strong>s recht einfach: Mit <strong>de</strong>m<br />
<strong>Joomla</strong>!-Add-on FacileForms wird die Entwicklung von Formularen zum Kin<strong>de</strong>rspiel.<br />
Sie können mit dieser Erweiterung nicht nur „einfache“ Formulare erstellen,<br />
son<strong>de</strong>rn sie auch für die Entwicklung und das Testen von kleinen Datenbankgestützten<br />
Applikationen verwen<strong>de</strong>n. Die Entwicklungsarbeit gestaltet sich recht<br />
einfach, da FacileForms die Entwicklung im WYSIWYG-Modus erlaubt. Sie fin<strong>de</strong>n<br />
das Tool auf <strong>de</strong>r FacileForms-Website (http://www.facileforms.biz). Dieses<br />
Kapitel basiert auf FacileForms 1.4.7.<br />
9.1 Installation und Konfiguration<br />
Die Installation von FacileForms ist schnell über das Extensions-Menü erledigt.<br />
Wenn Sie die <strong>de</strong>utsche Sprachvariante für Ihre <strong>Joomla</strong>!-Installation installiert und<br />
aktiviert haben, kommen Sie bei Installation, Konfiguration und Bedienung <strong>de</strong>s<br />
Formularspezialisten in <strong>de</strong>n Genuss einer <strong>de</strong>utschsprachigen Menüführung.<br />
Nach <strong>de</strong>m Upload <strong>de</strong>r Komponente greifen Sie über Components> FacileForms><br />
Configuration auf die Erweiterung zu. Es mel<strong>de</strong>t sich automatisch <strong>de</strong>r zweite Installationsdialog,<br />
<strong>de</strong>r Ihnen verschie<strong>de</strong>ne Installationsvarianten anbietet: Sie können<br />
beispielsweise eine Neuinstallation o<strong>de</strong>r ein Update von bestehen<strong>de</strong>n<br />
FacileForms-Versionen durchführen.<br />
Standardmäßig bietet Ihnen FacileForms unter Auswahl von optionalen Paketen<br />
die Installation von Beispieldateien an. Wenn Sie das erste Mal mit FacileForms<br />
arbeiten, sollten Sie diese installieren, damit Sie anhand <strong>de</strong>r Beispiele lernen können,<br />
was sich alles mit <strong>de</strong>m Spezialisten anstellen lässt.<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 255<br />
Der zweite Installationsschritt von FacileForms.<br />
Mit einem Klick auf Weiter gelangen Sie zum dritten Schritt <strong>de</strong>r Installation. Hier<br />
wird Ihnen lediglich angezeigt, dass die notwendigen Datenbankoperationen<br />
durchgeführt sind. Mit einem weiteren Klick auf die Schaltfläche lan<strong>de</strong>n Sie dann<br />
in <strong>de</strong>r eigentlichen Konfiguration <strong>de</strong>r Formularkomponente.<br />
Die Einstellungen <strong>de</strong>r FacileForms-Konfiguration im Einzelnen:<br />
• „Live site“ in configuration.php verwen<strong>de</strong>n: Verwen<strong>de</strong>n Sie die Option<br />
Nein für relative und die Option Ja für absolute URL-Adressierung. An<br />
<strong>de</strong>r Standar<strong>de</strong>instellung Nein sollten Sie in <strong>de</strong>r Regel keine Än<strong>de</strong>rung<br />
vornehmen, da ansonsten die absoluten Pfa<strong>de</strong> in Ihrer Anwendungsumgebung<br />
für Dritte zu sehen sind. Das kann keiner wollen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
256 Formularentwicklung mit FacileForms<br />
• Vorschau in einem iframe: Die Vorschau in einem eingebetteten Rahmen<br />
(Inline Frame) erlaubt echtes WYSIWYG mit <strong>de</strong>m Frontend-<br />
Stylesheet.<br />
• Vorschau Raster Grösse: Hier legen Sie die Rastergröße für die Formularvorschau<br />
fest. Sie können außer<strong>de</strong>m die Farben än<strong>de</strong>rn.<br />
• Benütze WYSIWYG Editor für Text Elemente: Sie können <strong>de</strong>n<br />
<strong>Joomla</strong>!-Editor für das Erstellen von Textbausteinen verwen<strong>de</strong>n. In <strong>de</strong>r<br />
Regel kommen Sie in FacileForms ohne diesen aus.<br />
• JavaScript und HTML komprimieren: Die Standar<strong>de</strong>instellung Ja<br />
sorgt für die Komprimierung <strong>de</strong>s JavaScript- und HTML-Co<strong>de</strong>s. Das<br />
sorgt für kleinere Datenmengen, die zwischen <strong>de</strong>m Server und <strong>de</strong>m Client<br />
übermittelt wer<strong>de</strong>n müssen. Sie können diese Option für die Fehlersuche<br />
<strong>de</strong>aktivieren.<br />
• Provi<strong>de</strong>r mit GetHostByAddr ermitteln: Die PHP-Funktion<br />
GetHostByAddr erlaubt das Ermitteln von Internet-Hostnamen wie beispielsweise<br />
bomots.<strong>de</strong> passend zur angegebenen IP-Adresse. Wenn Sie<br />
diesen Schalter auf Ja setzen, so kann das zu Verzögerungen bei <strong>de</strong>r Formularübermittlung<br />
führen.<br />
• Anzahl Zeilen für Textbereiche: Hier legen Sie die Zeilenzahl für kleine,<br />
mittlere und große Textbereiche fest.<br />
• Limite für Beschreibungen in Listenansicht: Hier beschränken Sie die<br />
Zeichenzahl, die in <strong>de</strong>r Listenansicht verwen<strong>de</strong>t wer<strong>de</strong>n kann. So schützen<br />
Sie sich vor überlangen Listeneinträgen.<br />
• Voreinstellung Email Benachrichtigungs-Adresse: In diesem<br />
Eingabenfeld hinterlegen Sie Ihre E-Mail-Adresse.<br />
• Pfad für {ff_images} Ersetzungen: In diesem Eingabefeld bestimmen<br />
Sie <strong>de</strong>n Pfad für die Grafiken.<br />
• Pfad für {ff_upload} Ersetzungen: In diesem Eingabefeld bestimmen<br />
Sie <strong>de</strong>n Pfad für die Uploads.<br />
Am Fuße <strong>de</strong>r FacileForms-Konfiguration fin<strong>de</strong>n Sie die Schaltfläche Speichern,<br />
über die Sie Ihre Einstellungen übernehmen. Außer<strong>de</strong>m können Sie – abhängig von<br />
Ihrer Installation – weitere Pakete installieren bzw. selbst Pakete erzeugen. Nach<br />
<strong>de</strong>m Speichern <strong>de</strong>r Konfiguration greifen Sie wie gewohnt über das Menü Components<br />
auf die FacileForms-Funktionen zu. Wenn Sie sich beim zweiten Installati-<br />
www.brain-media.<strong>de</strong>
Ein erstes Formular erstellen 257<br />
onsschritt für das Einrichten <strong>de</strong>r Beispieldaten entschie<strong>de</strong>n haben, können Sie auf<br />
diese über Components> FacileForms Sample Menu zugreifen.<br />
Das FacileForms-Menü besitzt neben <strong>de</strong>r oben beschriebenen Konfiguration fünf<br />
weitere Untermenüs:<br />
• Manage Records: Dient <strong>de</strong>r Verwaltung und <strong>de</strong>m Weiterverarbeiten von<br />
Formulareingaben.<br />
• Manage Backend Menus: Dieses ist die Menüverwaltung, mit <strong>de</strong>r Sie Ihre<br />
Formulare in Backend-Menüs einbin<strong>de</strong>n.<br />
• Manage Forms: Hier erzeugen und gestalten Sie Ihre Formulare.<br />
• Manage Scripts: Hier erzeugen Sie Skripts für Ihre Formularelemente.<br />
• Manage Pieces: Mit diesem Befehl lan<strong>de</strong>n Sie in <strong>de</strong>r so genannten Teileverwaltung,<br />
in <strong>de</strong>r Sie Skripts für <strong>de</strong>n Formularablauf erzeugen und verwalten.<br />
Gleich, welchen Befehl Sie auch ausführen: FacileForms präsentiert Ihnen immer<br />
sechs Register, über die Sie auf die verschie<strong>de</strong>nen Bereiche zugreifen können.<br />
Der Zugriff auf die Datensatzverwaltung.<br />
Nun ist es an Ihnen, sich Gedanken über das zu erstellen<strong>de</strong> Formular zu machen.<br />
Am besten nehmen Sie sich ein Blatt und einen Stift zur Hand und beginnen mit<br />
Ihrem Entwurf.<br />
9.2 Ein erstes Formular erstellen<br />
Wir wollen im Folgen<strong>de</strong>n ein recht einfaches Formular erstellen, mit <strong>de</strong>m <strong>de</strong>r Benutzer<br />
sein Feedback zu einem Produkt übermitteln kann. Um ein erstes Formular<br />
zu erstellen, wechseln Sie in die Formularverwaltung und klicken dort auf Neu.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
258 Formularentwicklung mit FacileForms<br />
Der Dialog zum Erstellen eines neuen Formulars.<br />
FacileForms präsentiert Ihnen <strong>de</strong>n Dialog Neues Formular, <strong>de</strong>r über vier Register<br />
verfügt. Zunächst weisen Sie Ihrer ersten Entwicklung eine Bezeichnung zu. Diese<br />
taucht später auch in <strong>de</strong>r Formularadministration auf. Weisen Sie Ihrem Formular<br />
außer<strong>de</strong>m im Textfeld Name einen Bezeichner zu, damit <strong>Joomla</strong>!-Komponenten<br />
und -Module das Formular nutzen können. Sie können weitere Eigenschaften wie<br />
die Größe, <strong>de</strong>n Vorschaumodus und eine Beschreibung hinterlegen. Wir belassen<br />
es vorerst bei <strong>de</strong>n Standar<strong>de</strong>instellungen. Speichern Sie nun das Formular mit<br />
einem Klick auf Save. Sie lan<strong>de</strong>n dann in <strong>de</strong>r Formularansicht, die Ihnen die<br />
FacileForms-typische Entwurfsansicht präsentiert.<br />
Wenn Sie nachstehen<strong>de</strong> Abbildung genau betrachten, stellen Sie fest, dass Ihnen<br />
die Entwurfsansicht die Navigation in mehrere Seiten anbietet. Sie können mithilfe<br />
von FacileForms also auch mehrseitige Formulare erstellen. Diese verschie<strong>de</strong>nen<br />
Seiten können Sie dann über eine Navigationsleiste miteinan<strong>de</strong>r verknüpfen. So<br />
bleiben auch umfangreiche Formulare übersichtlich und damit benutzerfreundlich.<br />
www.brain-media.<strong>de</strong>
Ein erstes Formular erstellen 259<br />
Das Seitenlayout Ihres ersten Formulars.<br />
Als Nächstes gilt es, <strong>de</strong>m noch leeren Formular Leben einzuhauchen. Dazu klicken<br />
Sie in <strong>de</strong>r Symbolleiste auf Neu. Es öffnet sich <strong>de</strong>r übersichtliche Auswahldialog<br />
für die gängigen Formularelemente wie Textfeld, Radio-Button, Auswahlmenü etc.<br />
Nun gilt es, das Formular <strong>de</strong>r Reihe nach mit <strong>de</strong>n gewünschten Inhalten und Formularfel<strong>de</strong>rn<br />
zu füllen. Der Dialog zum Einfügen von Elementen bietet Ihnen drei<br />
Elementtypen an:<br />
• Statische Elemente: Statischer Text/HTML, Rechteck, Grafik, Hinweis<br />
• Knöpfe: Normaler Knopf, Grafikknopf, Piktogramm<br />
• Eingabefel<strong>de</strong>r: Ankreuzfeld, Radioknopf, Text, Textbereich, Auswahlliste,<br />
Abfrageliste, Datei Upload und Versteckte Eingaben<br />
Beginnen wir mit einem ersten Textelement. Dazu wählen Sie in <strong>de</strong>r Gruppe Statische<br />
<strong>de</strong>n Eintrag Statischer Text/HTML aus und klicken auf Weiter.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
260 Formularentwicklung mit FacileForms<br />
Die Auswahl <strong>de</strong>s Elementtyps.<br />
Nach <strong>de</strong>r Auswahl <strong>de</strong>s Typs präsentiert Ihnen FacileForms einen weiteren Dialog,<br />
mit <strong>de</strong>m Sie die Details bestimmen. Es liegt in <strong>de</strong>r Natur <strong>de</strong>r Sache, dass für unterschiedliche<br />
Elementtypen verschie<strong>de</strong>ne Detaildialoge verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
Hier bestimmen Sie die Elementeigenschaften.<br />
www.brain-media.<strong>de</strong>
Ein erstes Formular erstellen 261<br />
Im Formular Neues Element Statischer Text/HTML weisen Sie <strong>de</strong>m Element eine<br />
Bezeichnung zu, die Sie später in <strong>de</strong>r Elementverwaltung wie<strong>de</strong>r fin<strong>de</strong>n. Diese<br />
Bezeichnung wird auch beim Versand von E-Mail-Benachrichtigungen verwen<strong>de</strong>t.<br />
Unter Name geben Sie einen Bezeichner für Ihr Element an. Über diesen Namen<br />
wird das Element in <strong>de</strong>r <strong>Joomla</strong>!-Umgebung angesprochen. Sie sollten daher darauf<br />
achten, dass diese Bezeichnung keine Son<strong>de</strong>rzeichen enthält, die <strong>Joomla</strong>!<br />
womöglich falsch interpretiert. Sie können weitere Eigenschaften wie die Reihenfolge<br />
und die Position bestimmen. Für <strong>de</strong>n Einstieg ist das Textfeld Text/HTML<br />
zunächst einmal wichtiger. Hier hinterlegen wir die Infos, die das erste Eingabefeld<br />
beschreibt, das wir im zweiten Schritt einfügen. Innerhalb <strong>de</strong>s Eingabefelds können<br />
Sie auch HTML-Co<strong>de</strong> für die Formatierung verwen<strong>de</strong>n. Mit einem Klick auf Speichern<br />
sichern Sie das erste Element. Nachstehen<strong>de</strong> Abbildung zeigt das erste Zwischenergebnis.<br />
Das erste Element ist erstellt und wird<br />
in <strong>de</strong>r WYSIWYG-Ansicht dargestellt.<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, ist das erste Textelement<br />
auf <strong>de</strong>m Formularfeld gelan<strong>de</strong>t. Im linken Bereich wird das Element samt seinen<br />
Eigenschaften aufgeführt. In dieser Liste können Sie später beispielsweise die<br />
Sortierung än<strong>de</strong>rn o<strong>de</strong>r die Elementeinstellungen öffnen und bearbeiten.<br />
Eine weitere Beson<strong>de</strong>rheit von FacileForms ist Ihnen sicherlich bereits aufgefallen:<br />
Im linken Editorbereich fin<strong>de</strong>n Sie das Verschiebewerkzeug, mit <strong>de</strong>m Sie Ihre<br />
Elemente quasi beliebig verschieben können. Die Handhabung ist wie<strong>de</strong>r kin<strong>de</strong>rleicht:<br />
Aktivieren Sie das gewünschte Element in <strong>de</strong>r Elementliste und verschieben<br />
Sie es mithilfe <strong>de</strong>r grünen Pfeile auf die gewünschte Position. Über das Textfeld<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
262 Formularentwicklung mit FacileForms<br />
Schrittweise Pixel bestimmen Sie die Schrittgröße. Um die neue Position zu sichern,<br />
klicken Sie auf die Schaltfläche Sichern. Mit Rückgängig können Sie das<br />
Verschieben wie<strong>de</strong>r rückgängig machen. Natürlich können Sie auch mehrere Elemente<br />
gleichzeitig verschieben. Markieren Sie dazu einfach die Elemente und<br />
greifen Sie dann zum Schieber.<br />
Rechts neben die Feldbezeichnung Vorname soll nun ein einzeiliges Eingabefeld<br />
gesetzt wer<strong>de</strong>n, das die Vornameneingaben entgegennimmt. Dazu erstellen wir ein<br />
neues Element, wählen dieses Mal allerdings <strong>de</strong>n Typ Eingabe/Text. Bezeichnen<br />
Sie das Feld wie<strong>de</strong>r. Am besten entfernen Sie ein einheitliches Schema für die<br />
Elementbenennung. Das vereinfacht das nachträgliche I<strong>de</strong>ntifizieren und Bearbeiten<br />
von Elementen.<br />
Die bei<strong>de</strong>n zuvor beschriebenen Schritte wie<strong>de</strong>rholen Sie für all die Fel<strong>de</strong>r, die Ihr<br />
Feedbackformular besitzen soll. Sie sollten natürlich auch <strong>de</strong>n Nachnamen, die E-<br />
Mail-Adresse, eventuell auch die Anschrift und Kun<strong>de</strong>nnummer abfragen. In nachstehen<strong>de</strong>m<br />
Beispiel haben wir <strong>de</strong>n ersten Formularentwurf im eine Überschrift, die<br />
mit H1 formatiert ist, und zwei weitere Textfel<strong>de</strong>r samt Feldinfo erweitert.<br />
Das vorläufige Zwischenergebnis.<br />
www.brain-media.<strong>de</strong>
Ein erstes Formular erstellen 263<br />
Im nächsten Schritt fragen wir ab, ob <strong>de</strong>r Nutzer bereits Kun<strong>de</strong> ist o<strong>de</strong>r nicht. Dazu<br />
verwen<strong>de</strong>n wir Radio-Buttons, bei <strong>de</strong>nen <strong>de</strong>r Anwen<strong>de</strong>r die Wahl zwischen Ja und<br />
Nein hat. Zunächst fügen Sie wie<strong>de</strong>r <strong>de</strong>n erläutern<strong>de</strong>n Text ein. Bei unserem Beispiel<br />
genügt Kun<strong>de</strong>. Positionieren Sie das Element an <strong>de</strong>r gewünschten Position.<br />
Wenn Sie ein wenig Erfahrung mit FacileForms gesammelt haben, können Sie<br />
bereits in <strong>de</strong>n Elementeigenschaften die Positionierung grob setzen.<br />
Das Erstellen eines Radio-Buttons.<br />
Beim Erzeugen von Radio-Buttons, die wie in diesem Fall zusammengehören,<br />
müssen Sie darauf achten, dass Sie im Feld Name i<strong>de</strong>ntische Werte verwen<strong>de</strong>n.<br />
Ansonsten können Sie bei <strong>de</strong>n Radiobuttons noch die Anfangswerte setzen, in<strong>de</strong>m<br />
Sie <strong>de</strong>n Schalter Angekreuzt auf Ja setzen.<br />
Als Nächstes wollen wir ein Auswahlmenü erstellen, bei <strong>de</strong>m <strong>de</strong>r Kun<strong>de</strong> entschei<strong>de</strong>n<br />
kann, ob es sich um Lob, Kritik o<strong>de</strong>r ein technisches Problem han<strong>de</strong>lt. Dazu<br />
erzeugen wir wie<strong>de</strong>r ein neues Element und wählen als Typ Auswahlliste. Nehmen<br />
Sie wie<strong>de</strong>r die bereits bekannten Einstellungen vor. Wichtig sind die Eingaben <strong>de</strong>s<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
264 Formularentwicklung mit FacileForms<br />
Felds Optionen. Hier <strong>de</strong>finieren Sie, welche Auswahlmöglichkeiten das Menü zu<br />
bieten hat. Eine typische Eingabe sieht wie folgt aus:<br />
1; Bitte wählen Sie:; 0<br />
0; Kritik; 1<br />
0; Lob; 2<br />
0; Problem; 3<br />
Was hat es nun mit dieser Konfiguration auf sich? Je<strong>de</strong>r Eintrag besitzt zumin<strong>de</strong>st<br />
zwei, optional auch drei Teile. Mit <strong>de</strong>r 1 <strong>de</strong>finieren Sie <strong>de</strong>n Standar<strong>de</strong>intrag, <strong>de</strong>r<br />
beim Zugriff auf das Formular geöffnet wird. Durch einen Strichpunkt getrennt<br />
folgt <strong>de</strong>r eigentliche Eintrag, <strong>de</strong>n Sie wie<strong>de</strong>r mit einem Strichpunkt been<strong>de</strong>n. Der<br />
dritte Teil bestimmt die interne Reihenfolge <strong>de</strong>r Elemente. Diese können Sie aber<br />
auch weglassen. Achten Sie bei <strong>de</strong>r ersten Zeile darauf, dass <strong>de</strong>r Benutzer direkt<br />
weiß, worum es hier geht.<br />
Das Formular besitzt jetzt auch ein Auswahlmenü.<br />
www.brain-media.<strong>de</strong>
Ein erstes Formular erstellen 265<br />
Um <strong>de</strong>n Benutzern, insbeson<strong>de</strong>re <strong>de</strong>n weniger Erfahrenen, das Ausfüllen Ihres<br />
Feedbackformulars so einfach wie möglich zu machen, können Sie so genannte<br />
Tooltips einführen, <strong>de</strong>nen die Benutzer weitere Informationen entnehmen, wenn<br />
diese <strong>de</strong>n Mauszeiger über das zugehörigen Icon führen.<br />
Auch dieses Formularelement ist mit wenig Aufwand realisiert. Erzeugen Sie wie<strong>de</strong>r<br />
ein neues Formularelement und wählen Sie als Typ Statisch/Hinweis. Neu ist in<br />
diesem Dialog für das Erstellen bzw. Bearbeiten <strong>de</strong>s Hinweises eigentlich nur die<br />
Zeile Typ. Hier legen Sie fest, ob es sich um eine Info, eine Warnung o<strong>de</strong>r einen<br />
sonstigen speziellen Hinweis han<strong>de</strong>lt. Im Textfeld hinterlegen Sie wie<strong>de</strong>r die gewünschten<br />
Inhalte.<br />
Die Eigenschaften Ihres ersten Tooltips …<br />
…und die Darstellung im Entwurfsmodus.<br />
Die wichtigsten Elemente eines typischen Formulars haben Sie bisher kennengelernt.<br />
Nun ist das Formular ja nicht zum Selbstzweck entstan<strong>de</strong>n, son<strong>de</strong>rn die Eingaben<br />
sollen auch irgendwo lan<strong>de</strong>n, wo sie verarbeitet o<strong>de</strong>r ausgewertet wer<strong>de</strong>n.<br />
Also muss zumin<strong>de</strong>st noch ein Abschicken-Button her, <strong>de</strong>r für die Datenübermittlung<br />
sorgt. Die Vorgehensweise ist Ihnen inzwischen vertraut. Aus <strong>de</strong>r<br />
Elementeauswahl wählen Sie einen <strong>de</strong>r drei angebotenen Knöpfe, bezeichnen ihn<br />
im nächsten Dialog und positionieren ihn an <strong>de</strong>r gewünschten Stelle. Was noch<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
266 Formularentwicklung mit FacileForms<br />
fehlt, ist die interaktive Komponente, die für die Übermittlung <strong>de</strong>r Formulareingaben<br />
sorgt. Dazu gleich mehr.<br />
9.3 Funktionalität für Ihre Formulare<br />
Bis hierher verlief die Formularentwicklung wenig spektakulär. So richtig spannend<br />
wird die Sache erst, wenn Sie Ihrem Formular Funktionen und damit Leben<br />
einhauchen. Beim Erstellen <strong>de</strong>r verschie<strong>de</strong>nen Formularelemente ist Ihnen sicherlich<br />
nicht entgangen, dass alle Knopf- und Eingabefel<strong>de</strong>r ein weiteres Register<br />
besitzen: Skripte. Über dieses können Sie Ihren Elementen unterschiedliche Funktionen<br />
zuweisen, die abhängig von Ereignissen bestimmte Aktionen ausführen.<br />
Wenn Sie die Eigenschaften eines Eingabefelds (keines statischen) öffnen und zum<br />
Register Skripte wechseln, so bietet Ihnen dieses Register das Einbin<strong>de</strong>n von drei<br />
Skript-Varianten an:<br />
• Initialisierungsskript: Damit legen Sie fest, was beim La<strong>de</strong>n <strong>de</strong>r Elemente<br />
passiert.<br />
• Aktionsskript: Hiermit legen Sie fest, was bei bestimmten Aktionen wie<br />
einem Mausklick passiert.<br />
• Validierungsskript: Dieser Typ prüft die Dateneingaben auf ihre Korrektheit.<br />
Bei einem Textfeld können Sie verschie<strong>de</strong>ne Skripttypen aktivieren.<br />
www.brain-media.<strong>de</strong>
Funktionalität für Ihre Formulare 267<br />
Es liegt in <strong>de</strong>r Natur <strong>de</strong>r Sache, dass bei an<strong>de</strong>ren Formularelementen nicht alle<br />
diese Skriptvarianten verfügbar sind. So erlaubt ein Button lediglich die Ausführung<br />
von Aktionsskripts.<br />
Bei einem normalen Button sind Initialisierungs- und<br />
Validierungsfunktionen natürlich nicht gefor<strong>de</strong>rt.<br />
Um Ihnen einen ersten Eindruck von <strong>de</strong>n vielfältigen Möglichkeiten zu vermitteln,<br />
die Ihnen die Skriptfunktionen bieten, öffnen Sie das Register Skripte eines erzeugten<br />
Eingabetextfelds. Zu je<strong>de</strong>m Skript stehen Ihnen drei Auswahlmöglichkeiten zur<br />
Verfügung:<br />
• Kein: Dies ist die Standar<strong>de</strong>instellung, bei <strong>de</strong>r kein Skript ausgeführt<br />
wird.<br />
• Bibliothek: Hier können Sie aus einer Sammlung von vor<strong>de</strong>finierten Aktionen<br />
auswählen. Die Auswahl ist wie<strong>de</strong>rum von <strong>de</strong>n jeweiligen Formularelementen<br />
abhängig.<br />
• Spezial: Bei dieser Variante können Sie ein eigenes Skript erstellen. Ein<br />
Klick auf Rahmenco<strong>de</strong> erzeugen ist dabei hilfreich, <strong>de</strong>nn er erzeugt ein<br />
vor<strong>de</strong>finiertes PHP-Skript, das Sie „nur“ noch um eigene Funktionen erweitern<br />
müssen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
268 Formularentwicklung mit FacileForms<br />
Das Register Skripte erlaubt die Einführung unterschiedlichster Funktionen.<br />
Kehren wir zum oben erzeugten Feedback-Formular mit seinen Eingabefel<strong>de</strong>rn<br />
und <strong>de</strong>m Absen<strong>de</strong>-Button zurück. Typische Aktionen, die ein Formular bieten<br />
sollte, sind die Validierung von Eingaben und das Versen<strong>de</strong>n <strong>de</strong>r Eingaben. Schauen<br />
wir uns zunächst an, wie Sie die Eingabe in <strong>de</strong>m E-Mail-Adressfeld überprüfen,<br />
damit Ihre Benutzer Ihnen nicht durch fehlerhafte Einträge unnötig Arbeit bereiten.<br />
Sie wer<strong>de</strong>n staunen, wie einfach das Einführen einer typischen<br />
Eingabenüberprüfung ist. Die Vorgehensweise:<br />
1. Öffnen Sie die Eigenschaften <strong>de</strong>s E-Mail-Eingabefelds und wechseln Sie<br />
zum Register Skripte.<br />
2. Unter Validierungsskript aktivieren Sie <strong>de</strong>n Typ Bibliothek.<br />
3. Dann geben Sie in das Feld Meldung <strong>de</strong>n Text an, <strong>de</strong>r ausgegeben wird,<br />
wenn <strong>de</strong>r Benutzer eine fehlerhafte Eingabe vornimmt.<br />
4. Unter Skript wählen Sie <strong>de</strong>n Eintrag FF::ff_vali<strong>de</strong>mail aus.<br />
www.brain-media.<strong>de</strong>
Funktionalität für Ihre Formulare 269<br />
5. Speichern Sie die Einstellungen mit einem Klick auf Speichern.<br />
Wie Sie <strong>de</strong>m Auswahlmenü entnehmen können, bietet Ihnen die Validierungsfunktion<br />
eine Vielzahl an Validierungsmöglichkeiten an. Mit <strong>de</strong>r Option ff_integer<br />
können Sie beispielsweise festlegen, dass es sich bei <strong>de</strong>r Eingabe um einen Integer-<br />
Wert han<strong>de</strong>ln muss.<br />
Unser Formular hat bis auf eine simple Eingabenüberprüfung noch nicht so viel zu<br />
bieten. Sorgen wir also dafür, dass die Formulareingaben übermittelt wer<strong>de</strong>n können.<br />
Auch hierfür greifen Sie auf die Skript-Bibliothek zurück. Öffnen Sie wie<strong>de</strong>r<br />
die Eigenschaften <strong>de</strong>s Buttons und wechseln Sie zum Skripte-Register. Unter Aktionsskript<br />
wählen Sie zuerst Bibliothek und wählen dann das Skript<br />
ff_validate_submit aus. Wenn Sie sich die Einträge <strong>de</strong>s Auswahlmenüs genauer<br />
anschauen, stellen Sie fest, dass Sie bei einer Schaltfläche die unterschiedlichsten<br />
Aktionen ausführen können. So können Sie beispielsweise zur nächsten Seite<br />
springen (ff_nextpage) o<strong>de</strong>r einen Reset <strong>de</strong>r Eingaben (ff_resetForm) ausführen.<br />
Die Skriptauswahl erlaubt <strong>de</strong>n Versand Ihrer Eingaben.<br />
Sie können weitere interaktive Komponenten in das Formular einführen und <strong>de</strong>n<br />
Benutzer beispielsweise nach <strong>de</strong>m Versand darüber informieren, dass die Daten<br />
zuverlässig übertragen wur<strong>de</strong>n. Um eine solche Ausgabe nach <strong>de</strong>r Übermittlung zu<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
270 Formularentwicklung mit FacileForms<br />
erzeugen, wechseln Sie in die Formularverwaltung und klicken dort auf <strong>de</strong>n Formularnamen.<br />
Es öffnet sich <strong>de</strong>r Dialog Formularbearbeitung. Hier wechseln Sie<br />
ebenfalls zum Register Skripte und aktivieren unter Übermittelt-Skript die Bibliothek<br />
und wählen dann das Skript ff_showsubmitted aus. Der Versand funktioniert<br />
natürlich nur, wenn Sie die Mail-Konfiguration korrekt vorgenommen haben.<br />
Die Konfiguration <strong>de</strong>r Übermittelt-Meldung.<br />
9.4 Eingaben sichten<br />
Nun fragen Sie sich natürlich, wo die Eingaben gelan<strong>de</strong>t sind, die Ihre Benutzer<br />
übermittelt haben. Die Antwort ist recht einfach: Sie lan<strong>de</strong>n in <strong>de</strong>r Datenverwaltung.<br />
Um auf die Daten zuzugreifen, klicken Sie auf das Register Datensatzverwaltung.<br />
Hier wer<strong>de</strong>n alle Formulareingaben samt verschie<strong>de</strong>nen Details gesammelt:<br />
• Eingaben-ID<br />
• Absen<strong>de</strong>datum<br />
• IP-Adresse <strong>de</strong>s Benutzers<br />
• Provi<strong>de</strong>r<br />
• Formulartitel und -name<br />
Für das Einsehen und die weitere Behandlung sind die drei letzten Spalten wichtig,<br />
<strong>de</strong>nn hier zeigt Ihnen FacileForms an, welche Eingaben Sie bereits gesichtet, exportiert<br />
o<strong>de</strong>r archiviert haben.<br />
www.brain-media.<strong>de</strong>
Eingaben sichten 271<br />
Hier greifen Sie auf die Formulareingaben zu.<br />
Im Kopfbereich <strong>de</strong>r Datensatzverwaltung fin<strong>de</strong>n Sie verschie<strong>de</strong>ne Funktionen, mit<br />
<strong>de</strong>nen Sie die Ansicht <strong>de</strong>r Datensätze gezielt einschränken können. Standardmäßig<br />
wer<strong>de</strong>n nur ungesichtete, nur nicht-exportierte und nur nicht archivierte Datensätze<br />
angezeigt. Sie können außer<strong>de</strong>m über das Eingabefeld Formular Name gezielt<br />
nach einem Datensatz suchen. Wichtig: Wenn Sie Än<strong>de</strong>rungen an <strong>de</strong>r Ansicht<br />
vornehmen, wird die Ansicht lei<strong>de</strong>r noch nicht automatisch aktualisiert.<br />
In voranstehen<strong>de</strong>r Abbildung nicht sichtbar sind verschie<strong>de</strong>ne weitere nützliche<br />
Funktionen. Über die Schaltfläche Export XML können Sie einen o<strong>de</strong>r mehrere<br />
Datensätze nach XML exportieren. Das Exportformat erleichtert <strong>de</strong>n Import und<br />
die Weiterverarbeitung in Drittanwendungen. Außer<strong>de</strong>m sind das Löschen und das<br />
bequeme Archivieren von mehreren Datensätzen über die entsprechen<strong>de</strong>n Schaltflächen<br />
möglich.<br />
Um einen Eintrag zu sichten, klicken Sie auf <strong>de</strong>n entsprechen<strong>de</strong>n Listeneintrag.<br />
Die FacileForms-Seite Datensatz sichten präsentiert Ihnen vier Infobereiche:<br />
• Absen<strong>de</strong>rinformationen: Hier fin<strong>de</strong>n Sie Informationen wie <strong>de</strong>n<br />
Absen<strong>de</strong>zeitpunkt, die IP-Adresse, <strong>de</strong>n Provi<strong>de</strong>r, das verwen<strong>de</strong>te Betriebssystem<br />
und <strong>de</strong>n Browser.<br />
• Datensatzinformationen: Hier zeigt Ihnen FacileForms die ID an und ob <strong>de</strong>r<br />
Datensatz bereits gesichtet, exportiert o<strong>de</strong>r archiviert wur<strong>de</strong>.<br />
• Formularinformationen: In diesem Bereich wer<strong>de</strong>n die Formular-ID sowie<br />
<strong>de</strong>r Titel und Formularname angezeigt.<br />
• Gesen<strong>de</strong>te Werte: Hier fin<strong>de</strong>n Sie die Datensatz-ID, die Element-ID, Titel<br />
und Name <strong>de</strong>r Fel<strong>de</strong>r, <strong>de</strong>n Elementtyp und die Werte, also die tatsächlichen<br />
Eingaben.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
272 Formularentwicklung mit FacileForms<br />
Ein typischer Datensatz.<br />
9.5 Formular einbin<strong>de</strong>n<br />
Natürlich eignet sich FacileForms nicht nur zum Erstellen von Formularen, die auf<br />
Seiten <strong>de</strong>s Benutzers verfügbar sind, son<strong>de</strong>rn Sie können Formulare auch auf Seiten<br />
<strong>de</strong>s Backends gut gebrauchen. Unterschie<strong>de</strong> bei <strong>de</strong>r Vorgehensweise beim<br />
Erstellen gibt es nicht, wohl aber beim Einbin<strong>de</strong>n.<br />
Zunächst wollen wir – weil es so einfach ist – das erste Formular in das Backend<br />
integrieren. Öffnen Sie zunächst die FacileForms-Menüverwaltung. Wenn Sie die<br />
Beispieldateien installiert haben, fin<strong>de</strong>n Sie dort bereits einen Eintrag: Contact<br />
form. Klicken Sie in <strong>de</strong>r Menüverwaltung auf Neu, um einen neuen Eintrag zu<br />
erstellen. Bei dieser Vorgehensweise wird das Formular in das <strong>Joomla</strong>!-Menü<br />
Components eingefügt.<br />
FacileForms präsentiert Ihnen <strong>de</strong>n Dialog Menüposition hinzufügen. Über das<br />
Auswahlmenü Übergeordnete Position bestimmen Sie die Position <strong>de</strong>s einzufü-<br />
www.brain-media.<strong>de</strong>
Formular einbin<strong>de</strong>n 273<br />
gen<strong>de</strong>n Menüs. Im darunterliegen<strong>de</strong>n Auswahlfeld fin<strong>de</strong>n Sie auch das oben erzeugte<br />
Feedbackformular. Markieren Sie <strong>de</strong>n Eintrag und klicken Sie auf Weiter.<br />
Die Auswahl <strong>de</strong>s erzeugten Formulars, das<br />
in das Backend integriert wer<strong>de</strong>n soll.<br />
Es folgt ein weiteres Formular, auf <strong>de</strong>m Sie beispielsweise ein Bild für <strong>de</strong>n Menüeintrag<br />
auswählen, die Position und einige weitere Einstellungen bearbeiten.<br />
Bestimmen Sie weitere Eigenschaften <strong>de</strong>s Menüeintrags.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
274 Formularentwicklung mit FacileForms<br />
Mit einem Klick auf Speichern ist <strong>de</strong>r Menüeintrag erzeugt. Sie können nun über<br />
Components> Feedback-Formular auf das Formular zugreifen.<br />
Das integrierte Menü.<br />
Die Integration in das Frontend ist ebenfalls recht einfach. Hier bietet es sich zunächst<br />
an, die Komponente wie gewohnt als Menüpunkt zu integrieren. Außer<strong>de</strong>m<br />
können Sie FacileForms als Modul integrieren. Es gibt eine dritte Möglichkeit, bei<br />
<strong>de</strong>r Sie auf das FacileForms-Mambot zurückgreifen. Stellen Sie zunächst sicher,<br />
dass Sie das FacileForms-Mambot installiert haben. Um ein Formular in ein bestehen<strong>de</strong>s<br />
Content-Element einzubin<strong>de</strong>n, öffnen Sie das gewünschte Dokument im<br />
Bearbeiten-Modus und tragen folgen<strong>de</strong>s Mambot-Tag ein:<br />
{FacileForms : Names_Ihres_Formulars, 1, 0}<br />
Ersetzen Sie Names_Ihres_Formulars durch <strong>de</strong>n Formularnamen, nicht <strong>de</strong>n Titel.<br />
Mit <strong>de</strong>n bei<strong>de</strong>n weiteren Parametern bestimmen Sie, welche Formularseite angezeigt<br />
und ob <strong>de</strong>r Rahmen aktiviert bzw. <strong>de</strong>aktiviert wird.<br />
9.6 Import und Export von Formularen<br />
FacileForms hat neben <strong>de</strong>m einfachen Erstellen von Formularen eine weitere Beson<strong>de</strong>rheit<br />
zu bieten: Sie können, wie Sie bereits bei <strong>de</strong>r Komponentenkonfigurati-<br />
www.brain-media.<strong>de</strong>
Import und Export von Formularen 275<br />
on gesehen haben, Pakete importieren und exportieren. Hinter einem Paket verbergen<br />
sich die zu einem Formular gehören<strong>de</strong>n Dateien. Diese Funktion vereinfacht<br />
<strong>de</strong>n Formularaustausch zwischen mehreren <strong>Joomla</strong>!-Installationen. So können Sie<br />
beispielsweise auf einem Entwicklungssystem Ihre Formulare entwickeln und<br />
testen, um sie dann später auf das Produktionssystem aufzuspielen. Die Exportfunktion<br />
schnürt übrigens ein XML-basiertes Paket, in <strong>de</strong>m die verschie<strong>de</strong>nen<br />
Elemente wie Skripts, Menüeinträge, Grafiken etc. hinterlegt sind.<br />
Exportieren wir zunächst das oben erzeugte Feedbackformular. Dazu wechseln Sie<br />
in die FacileForms-Konfiguration und klicken auf Paket erstellen. Das<br />
FacileForms-Formular Kreiere Paket wird geöffnet. Hier bestimmen Sie Paketnamen,<br />
Titel, Autor, E-Mail-Adresse, eventuell Autoren-URL, hinterlegen eine Beschreibung<br />
und die Lizenzinfo.<br />
Das Erstellen eines eigenen Formularpakets.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
276 Formularentwicklung mit FacileForms<br />
Unter Formular Auswahl und Menüposition Auswahl bestimmen Sie, welches<br />
Formular mit welcher Menüposition exportiert wer<strong>de</strong>n soll. Unterhalb dieser bei<strong>de</strong>n<br />
Auswahlmenüs erfolgt die Skript- und Teileauswahl. Achten Sie darauf, dass<br />
Sie alle Komponenten Ihres Formulars einbin<strong>de</strong>n, da es ansonsten auf <strong>de</strong>r Gegenseite<br />
nicht ausgeführt wer<strong>de</strong>n kann. Mit einem Klick auf Weiter wird <strong>de</strong>r Öffnen-<br />
Dialog Ihres Browsers geöffnet, mit <strong>de</strong>m Sie die XML-Datei speichern.<br />
Hier <strong>de</strong>r Kopf einer solchen XML-Datei:<br />
<br />
<br />
feedback_export_paket<br />
Feedback_Formular_Paket<br />
1.0<br />
2006-11-22 10:00:00<br />
Dr. Holger Reibold<br />
holger@reibold.<strong>de</strong><br />
http://www.reibold.<strong>de</strong><br />
Dies ist ein einfaches Feedback-<br />
Formular.<br />
…<br />
GNU/GPL Lizenz<br />
In <strong>de</strong>r Paketverwaltung fin<strong>de</strong>n Sie installierte<br />
Pakete und können neue importieren.<br />
www.brain-media.<strong>de</strong>
Import und Export von Formularen 277<br />
Der Import von Paketen ist ebenfalls recht einfach durchzuführen. Klicken Sie<br />
dazu in <strong>de</strong>r FacileForms-Konfiguration auf die Schaltfläche Paketinstallation. Sie<br />
lan<strong>de</strong>n in <strong>de</strong>r Paketverwaltung, die bereits installierte Pakete wie die Beispieldateien<br />
und die Standardteile und Skriptbibliotheken samt Detailinformationen aufführt.<br />
Um ein neues Paket zu installieren, können Sie einen Upload und die anschließen<strong>de</strong><br />
Installation bzw. eine Installation von einer auf <strong>de</strong>m Server abgelegten Datei<br />
erstellen. Geben Sie in <strong>de</strong>m Eingabefeld <strong>de</strong>n (Netzwerk-)Pfad ein o<strong>de</strong>r klicken Sie<br />
auf Durchsuchen, um die XML-Datei auszuwählen.<br />
Klicken Sie anschließend auf die Schaltfläche Paket installieren. FacileForms gibt<br />
einen Installationsbericht aus, in <strong>de</strong>m Sie Details zu <strong>de</strong>m Paket, <strong>de</strong>n importierten<br />
Skripts, Elementen und Menüpositionen entnehmen können. Mit einem weiteren<br />
Klick auf Weiter ist <strong>de</strong>r Import abgeschlossen.<br />
FacileForms gibt einen Installationsbericht mit Detailinformationen<br />
zum importierten Paket aus.<br />
Anschließend fin<strong>de</strong>n Sie das installierte Paket in <strong>de</strong>r FacileForms-<br />
Paketverwaltung. Einfacher kann <strong>de</strong>r Austausch von Paketen kaum sein.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
278 Formularentwicklung mit FacileForms<br />
9.7 Fazit<br />
Mit FacileForms gibt es einen hervorragen<strong>de</strong>n Formularspezialisten, <strong>de</strong>r aller typischen<br />
Anfor<strong>de</strong>rungen ab<strong>de</strong>ckt, die Sie beim Ausbau Ihrer <strong>Joomla</strong>!-Site benötigen.<br />
Einzig die kommerzielle <strong>Joomla</strong>!-Erweiterung Phil-A-Form (http://www.philtaylor.com/<strong>Joomla</strong>/Components/Phil-A-Form/)<br />
kann sich mit diesem Add-on messen.<br />
Auf <strong>de</strong>r FacileForms-Website fin<strong>de</strong>n ambitionierte Anwen<strong>de</strong>r zu<strong>de</strong>m je<strong>de</strong><br />
Menge Infos, wie sich auch aufwändige Formularanwendungen realisieren lassen.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! <strong>kompakt</strong><br />
Fazit 279
280 Forum mit <strong>Joomla</strong>board<br />
10 Forum mit <strong>Joomla</strong>board<br />
Wenn Sie Ihre Website in ein schlagkräftiges Marketingwerkzeug verwan<strong>de</strong>ln<br />
wollen – das ist meist das Ziel, Stichwort Kun<strong>de</strong>nbindung –, dann kommen Sie<br />
nicht umhin, Ihre <strong>Joomla</strong>!-Site mit einem Diskussionsforum aufzuwerten. Mit<br />
einer solchen Komponente schlagen Sie gleich mehrere Fliegen mit einer Klappe.<br />
Sie sorgen dafür, zumin<strong>de</strong>st wenn es interessante Diskussionen sind, dass Ihre<br />
Benutzer immer wie<strong>de</strong>rkehren, Ihre Site im besten Fall per Mund-zu-Mund- o<strong>de</strong>r<br />
Mail-zu-Mail-Propaganda weiterempfehlen, Sie erhalten Feedback und erfahren<br />
schnell, wo Ihre Kun<strong>de</strong>n Probleme mit Produkten haben. All diese Informationen<br />
müssen Sie nur filtern, um dann daraus zielgerichtet die richtigen Entscheidungen<br />
für die Optimierung Ihrer Produkte bzw. Dienstleistungen ziehen zu können.<br />
Der Quasi-Standard unter <strong>de</strong>n Diskussionsformen ist <strong>Joomla</strong>board<br />
(http://www.tsmf.net), <strong>de</strong>r Nachfolger von Simpleboard. Neben dieser Lösung gibt<br />
es eine Reihe weiterer interessanter Lösungen. So lässt sich beispielsweise<br />
Simpleboard (http://www.simplemachines.org) mit einer speziellen Brücke in<br />
<strong>Joomla</strong>! integrieren. Beliebt ist auch das LoudMouth Discussion Board<br />
(http://alexlab.blog-life.org).<br />
10.1 Installation und Konfiguration<br />
Machen wir uns an die Inbetriebnahme von <strong>Joomla</strong>board. Dieses Kapitel basiert<br />
auf <strong>Joomla</strong>board 1.1.3. Die Installation ist schnell über das Menü Components<br />
erledigt. Stören Sie sich nicht daran, dass die Komponente die Dateierweiterung<br />
tgz besitzt. Das ist das Standardpackformat unter Linux. Die Installation bereitet<br />
aber auch bei <strong>de</strong>r Ausführung von <strong>Joomla</strong>! unter Windows keinerlei Probleme.<br />
Es existiert außer<strong>de</strong>m eine <strong>de</strong>utsche Sprachdatei, mit <strong>de</strong>r Sie die <strong>Joomla</strong>board-<br />
Admin-Schnittstelle ein<strong>de</strong>utschen. Das vereinfacht die Handhabung natürlich erheblich.<br />
Kopieren Sie diese einfach ins Verzeichnis language Ihrer <strong>Joomla</strong>board-<br />
Installation. Lei<strong>de</strong>r ist auch sie teilweise mangelhaft lokalisiert und lei<strong>de</strong>r nicht<br />
durchgängig einge<strong>de</strong>utscht.<br />
Nach <strong>de</strong>r Installation greifen Sie wie gewohnt über das Components-Menü auf die<br />
Komponente. <strong>Joomla</strong>board präsentiert Ihnen eine komfortable Schnittstelle, über<br />
die Sie die Komponenten konfigurieren, Foren erstellen und bearbeiten, Benutzer<br />
einrichten, hochgela<strong>de</strong>ne Dateien und Bil<strong>de</strong>r verwalten, die CSS-Datei verwalten<br />
und Foren und Benutzer bereinigen. Außer<strong>de</strong>m ist das La<strong>de</strong>n von Beispieldaten<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 281<br />
möglich. Das <strong>Joomla</strong>board-Control-Panel erlaubt außer<strong>de</strong>m die Aktualisierung <strong>de</strong>r<br />
Datenbank auf Version 1.1.3 und über die Support-Website <strong>de</strong>n bequemen Zugriff<br />
auf die Entwickler-Site.<br />
Ein erster Blick auf die Systemsteuerung von <strong>Joomla</strong>board.<br />
Nach <strong>de</strong>r Installation und <strong>de</strong>m ersten Zugriff auf die Komponente steht als Nächstes<br />
die Konfiguration von <strong>Joomla</strong>board an. Dazu klicken Sie im <strong>Joomla</strong>board-<br />
Control-Panel auf <strong>Joomla</strong>board Konfiguration. Die <strong>Joomla</strong>board-Konfiguration<br />
präsentiert Ihnen auf sieben Registern seine umfangreichen Anpassungsmöglichkeiten.<br />
10.1.1 Allgemeine <strong>Joomla</strong>board-Konfiguration<br />
Auf <strong>de</strong>m Register Grundlagen passen Sie allgemeine Einstellungen wie <strong>de</strong>n<br />
Forennamen, die Foren-Mail-Adresse und die Offline-Meldung an. Die Einstellungen<br />
im Einzelnen:<br />
• Name <strong>de</strong>s Boards: In diesem Eingabefeld bestimmen Sie <strong>de</strong>n Namen <strong>de</strong>s<br />
Forums.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
282 Forum mit <strong>Joomla</strong>board<br />
• Board E-Mail Adresse: Hier geben Sie die E-Mail-Adresse an, an die<br />
sich Benutzer wen<strong>de</strong>n, wenn Sie Fragen o<strong>de</strong>r Probleme mit <strong>de</strong>m Forum<br />
haben.<br />
• Forum Offline: Mit diesem Schalter können Sie Ihr Forum offline setzen,<br />
um beispielsweise Wartungsarbeiten durchzuführen. (Super-)Administratoren<br />
haben allerdings weiterhin Zugriff auf das Forum.<br />
• Forum-Zeitverschiebung: Wenn Sie Ihren <strong>Joomla</strong>!-Server in einer an<strong>de</strong>ren<br />
Zeitzone betreiben, so haben Sie hier die Möglichkeit, die Zeitverschiebung<br />
für Ihr Forum, genauer die Zeitangabe im Frontend im Verhältnis<br />
zur Server-Zeit in Stun<strong>de</strong>n zu <strong>de</strong>finieren. Sie können positive und<br />
negative Werte verwen<strong>de</strong>n – entsprechend <strong>de</strong>n typischen Zeitverschiebungsangaben.<br />
• Forum Offline Nachricht: In diesem Textfeld hinterlegen Sie die Offline-Meldung,<br />
die an <strong>de</strong>n Benutzer ausgegeben wird, wenn das Forum in<br />
<strong>de</strong>n Offline-Modus versetzt wur<strong>de</strong>. Sie können innerhalb <strong>de</strong>s Eingabefelds<br />
auch HTML-Tags für die Ausgabeformatierung bzw. für das Einfügen<br />
von Hyperlinks verwen<strong>de</strong>n. Ein Beispiel: Das Forum ist vorübergehend<br />
nicht erreichbar. Versuchen Sie es später noch einmal.<br />
Die Einstellungen <strong>de</strong>s <strong>Joomla</strong>board-Registers Grundlagen.<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 283<br />
• Standardansicht: Hier wählen Sie, ob Sie die Direkt - o<strong>de</strong>r die Kompaktansicht<br />
verwen<strong>de</strong>n wollen.<br />
• Aktiviere RSS Feed: Mithilfe von RSS-Feed können Ihre User Threads<br />
und Postings direkt auf ihren Desktop la<strong>de</strong>n – vorausgesetzt, sie besitzen<br />
einen RSS-Rea<strong>de</strong>r wie Thun<strong>de</strong>rbird.<br />
• PDF-Erstellung ermöglichen: Wenn Sie diesen Schalter auf Ja setzen,<br />
können Ihre Benutzer ein einfaches PDF-Dokument mit <strong>de</strong>m Inhalt eines<br />
Threads erstellen. Sie fin<strong>de</strong>n dann das typische PDF-Icon im Forum, über<br />
das das Erstellen <strong>de</strong>r PDF-Datei möglich ist.<br />
• Kopf: Im letzten Eingabefeld können Sie <strong>de</strong>n Kopf Ihres Forums erstellen.<br />
Auch hier ist wie<strong>de</strong>r die Verwendung von HTML-Co<strong>de</strong> für die Kopfgestaltung<br />
möglich. Wenn Sie kein HTML-Kenner sind, verwen<strong>de</strong>n Sie<br />
einfach einen HTML-Editor, erstellen Sie <strong>de</strong>n Kopfbereich und kopieren<br />
Sie <strong>de</strong>n relevanten Co<strong>de</strong>-Bereich in das Textfeld.<br />
Ein Blick auf die umfangreiche Frontend-Konfiguration.<br />
10.1.2 Frontend-Einstellungen<br />
Auf <strong>de</strong>m Register Frontend bestimmen Sie das Look&Feel <strong>de</strong>r Benutzerschnittstellen.<br />
Sie können außer<strong>de</strong>m verschie<strong>de</strong>ne benutzerbezogene Einstellungen und<br />
Längenanpassungen vornehmen. Zunächst die Look&Feel-Einstellungen:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
284 Forum mit <strong>Joomla</strong>board<br />
• Threads pro Seite: Hier legen Sie fest, wie viele Threads pro Seite zu sehen<br />
sein sollen. Hier gilt es einfach ein wenig zu spielen, ob die Standar<strong>de</strong>instellung<br />
von 15 eine brauchbare Ansicht liefert o<strong>de</strong>r nicht.<br />
• Beiträge pro Seite: Entsprechend können Sie anpassen, wie viele Nachrichten<br />
pro Seite angezeigt wer<strong>de</strong>n. Wie bei <strong>de</strong>r voranstehen<strong>de</strong>n Konfiguration<br />
zeigt sich im Praxiseinsatz schnell, ob die Standar<strong>de</strong>instellung<br />
brauchbar ist o<strong>de</strong>r nach unten bzw. oben angepasst wer<strong>de</strong>n sollte.<br />
• Zeige Historie: Wenn Sie diesen Schalter auf Ja setzen, wird die Historie<br />
während <strong>de</strong>s Postings angezeigt. Es empfiehlt sich, diese Einstellung beizubehalten.<br />
• History Limit: Hier legen Sie die maximale Anzahl von Postings fest, die<br />
in <strong>de</strong>r History angezeigt wer<strong>de</strong>n. Mit <strong>de</strong>m Standardwert 6 sind Sie meist<br />
gut bedient.<br />
• Zeige neue Posts: Setzen Sie diesen Schalter auf Ja, so zeigt das Forum<br />
<strong>de</strong>m User durch eine Kennzeichnung an, in welchem Forum es seit seinem<br />
letzten Besuch Neuigkeiten gibt. Auch diesen Schalter sollten Sie auf<br />
Ja belassen, einfach weil es <strong>de</strong>m Benutzer erleichtert zu erkennen, wo es<br />
interessante Neuigkeiten geben könnte.<br />
• "Neu" Kennzeichnung: Hier legen Sie fest, durch welche Kennzeichnung<br />
neue Beiträge gekennzeichnet wer<strong>de</strong>n. Wenn Ihnen das Ausrufungszeichen<br />
nicht zusagt, können Sie auch eine an<strong>de</strong>re Kennzeichnung wie<br />
beispielsweise Neu verwen<strong>de</strong>n. Auch die Verwendung von Icons ist möglich.<br />
• Deaktiviere Smileys: Wenn Sie die Verwendung von Smileys <strong>de</strong>aktivieren<br />
wollen, än<strong>de</strong>rn Sie die Einstellung auf Ja.<br />
• Template: Über dieses Auswahlmenü bestimmen Sie, welches Template<br />
in Ihrem Forum verwen<strong>de</strong>t wird. Auch hier gilt: Schauen Sie sich die verschie<strong>de</strong>nen<br />
Vorlagen einfach einmal an. Vielleicht ist eines dabei, das Ihnen<br />
besser gefällt als die Standardvorlage. Ihnen stehen vier Vorlagen zur<br />
Auswahl. Die Forumvorlage ist übrigens in <strong>de</strong>m Verzeichnis /components/com_joomlaboard/template/<br />
abgelegt. Sie könnten beispielsweise bestehen<strong>de</strong><br />
Vorlagen anpassen o<strong>de</strong>r eigene erstellen.<br />
• Textarea Breite: Hier können Sie die Breite <strong>de</strong>s Textbereichs än<strong>de</strong>rn, um<br />
sie an Ihr Template anzupassen.<br />
• Textarea Höhe: Hier können Sie entsprechend die Höhe <strong>de</strong>s Textfelds<br />
anpassen.<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 285<br />
• Regelwerk veröffentlichen? Wenn Sie die Standardkonfiguration Ja beibehalten,<br />
so erscheint in <strong>de</strong>r Forumnavigation ein Link zum Regelwerk, in<br />
<strong>de</strong>m Sie allgemeine Dinge wie die Forumregeln etc. hinterlegen. Sie können<br />
das Regelwerk einfach anpassen, in<strong>de</strong>m Sie die Datei rules.php im<br />
Verzeichnis com_joomlaboard anpassen. Der relevante Bereich, <strong>de</strong>n Sie<br />
bearbeiten sollten, wird durch folgen<strong>de</strong> Kennzeichnung markiert:<br />
<br />
• Forensprung einschalten: Mit <strong>de</strong>r Standardkonfiguration Ja wird im Forum<br />
ein Selektor angezeigt, mit <strong>de</strong>ssen Hilfe Ihre User schnell in eine an<strong>de</strong>re<br />
Kategorie springen können.<br />
Es folgen zehn benutzerbezogene Einstellungen, mit <strong>de</strong>nen Sie insbeson<strong>de</strong>re die<br />
benutzerbezogene Ansicht bestimmen:<br />
• Username: Wählen Sie hier die Option Ja, wenn Sie wollen, dass <strong>de</strong>r<br />
Loginname <strong>de</strong>s Users anstelle <strong>de</strong>s richtigen Namens verwen<strong>de</strong>t wird.<br />
• Verlange E-Mail: Hier können Sie vorgeben, dass die E-Mail-Adresse erfor<strong>de</strong>rlich<br />
ist, wenn ein User einen Beitrag postet. In <strong>de</strong>r Standar<strong>de</strong>instellung<br />
Nein ist diese Eigenschaft im Frontend abgestellt und Ihre<br />
Forenmitglie<strong>de</strong>r wer<strong>de</strong>n vor <strong>de</strong>m Schreiben nicht nach <strong>de</strong>ren E-Mail-<br />
Adresse gefragt.<br />
• Zeige E-Mail: In <strong>de</strong>r Standar<strong>de</strong>instellung Nein wird die E-Mail-Adresse<br />
nicht im Forum angezeigt, auch nicht <strong>de</strong>n registrierten Mitglie<strong>de</strong>rn.<br />
• Zeige User Status: Wählen Sie in diesem Auswahlmenü Ja, damit Benutzerstatistiken<br />
wie die Anzahl <strong>de</strong>r Postings, <strong>de</strong>r Forenrang etc. angezeigt<br />
wer<strong>de</strong>n.<br />
• Benutze die Thread-Statistik: In <strong>de</strong>r Standar<strong>de</strong>instellung Ja wird die<br />
Anzahl <strong>de</strong>r Beiträge <strong>de</strong>s Mitglieds grafisch in einem Statistik-Balken dargestellt.<br />
• Farbnummer <strong>de</strong>s Statistik-Balkens: Hier tragen Sie die Farbnummer<br />
ein, um die Farbe für <strong>de</strong>n Statistik-Balken festzulegen. Mit <strong>de</strong>r Nummer 1<br />
erzeugen Sie beispielsweise einen roten, mit 4 einen blauen Balken.<br />
• Zeige Karma Indicator: Mit <strong>de</strong>r Einstellung Ja wer<strong>de</strong>n das so genannte<br />
Userkarma und die Bewertungs-Buttons (Applaudieren / Peinigen) angezeigt,<br />
vorausgesetzt, Sie haben die User-Statistiken aktiviert.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
286 Forum mit <strong>Joomla</strong>board<br />
• User Rechte: Mit <strong>de</strong>r Einstellung Ja ermöglichen Sie es registrierten<br />
Usern, dass sie ihre eigenen Postings nachträglich bearbeiten können. Die<br />
Übersetzung <strong>de</strong>s Menüs ist etwas unglücklich gewählt. Man hätte es besser<br />
mit Post-Bearbeitung o.Ä. bezeichnet.<br />
• Än<strong>de</strong>rungen in Post anzeigen: Wenn Sie hier die Einstellung Ja wählen,<br />
wer<strong>de</strong>n die Än<strong>de</strong>rungen an Postings angezeigt.<br />
• Allow Subscriptions: Wählen Sie hier die Option Ja, damit registrierte<br />
Mitglie<strong>de</strong>r Themen abonnieren und eine Mailbenachrichtigung bei neuen<br />
Postings erhalten.<br />
Auf <strong>de</strong>m Register Frontend folgen drei letzte Längeneinstellungen:<br />
• Teile Wörter die länger sind als: Hier legen Sie fest, wie viele Buchstaben<br />
ein Wort maximal haben darf. Das ermöglicht Ihnen die Anpassung<br />
<strong>de</strong>r Ausgabe. Siebzig Buchstaben sind <strong>de</strong>r maximal zulässige Wert, <strong>de</strong>r<br />
von <strong>de</strong>n integrierten Templates akzeptiert wird. URLs, egal wie lang sie<br />
sind, sind von <strong>de</strong>r Trennung nicht betroffen.<br />
• Max. Überschriftenlänge: Hier legen Sie die maximale Überschriftenlänge<br />
fest. Die Datenbank erlaubt maximal 255 Buchstaben. Falls Ihre<br />
Seite mit Zeichensätzen wie Unico<strong>de</strong>, UTF-8 o<strong>de</strong>r Nicht-ISO-8599-x arbeitet,<br />
sollten Sie das Maximum durch die Verwendung folgen<strong>de</strong>r Formel<br />
verringern: Abrun<strong>de</strong>n von 255. Wenn Sie beispielsweise UTF-8 mit einer<br />
Zeichensatzgröße von 4 Bytes verwen<strong>de</strong>n, ergibt sich 255/4=63.<br />
• Max. Signatur-Länge: Hier legen Sie fest, wie lang die Signatur <strong>de</strong>r Benutzer<br />
maximal sein darf. Mit <strong>de</strong>m Standardwert von 300 sind Sie in <strong>de</strong>r<br />
Regel gut bedient.<br />
10.1.3 Mehr Sicherheit für Ihr Forum<br />
Die <strong>Joomla</strong>board-Konfiguration kennt auch verschie<strong>de</strong>ne sicherheitstechnische<br />
Einstellungen, mit <strong>de</strong>nen Sie die Sicherheit Ihrer Foruminstallation optimieren<br />
können. Konkret sind es fünf Anpassungen, die das Register Sicherheit vorsieht:<br />
• Nur für registrierte Mitglie<strong>de</strong>r: Anstelle <strong>de</strong>r Standar<strong>de</strong>instellung Nein<br />
sollten Sie diesen Schalter auf Ja setzen, damit nur registrierte Mitglie<strong>de</strong>r<br />
dieses Forum sehen und benutzen dürfen. Mit Nein können auch nichtregistrierte<br />
Besucher dieses Forum sehen und in ihm posten.<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 287<br />
• Erlaube Namensän<strong>de</strong>rung: Setzen Sie diesen Schalter auf Ja, damit nur<br />
registrierte User ihren Namen für ein Posting än<strong>de</strong>rn können.<br />
• Öffentlich Lesen/Schreiben: Wählen Sie hier Ja, um das öffentliche<br />
Schreibrecht zu aktivieren. Mit Nein darf je<strong>de</strong>r das Forum sehen, aber nur<br />
registrierte Mitglie<strong>de</strong>r dürfen schreiben<br />
• Anti-Flooding: Mit diesem Schalter schützen Sie sich vor <strong>de</strong>m so genannten<br />
Flooding, <strong>de</strong>m Überflutetwer<strong>de</strong>n mit Nachrichten. Konkret legen<br />
Sie hier die Zeitspanne fest, die zwischen zwei User-Postings vergehen<br />
muss. Beim Standardwert 0 ist das Anti-Flooding ausgeschaltet. Bachten<br />
Sie allerdings beim Setzen eines Werts, dass Anti-Flooding auch negative<br />
Auswirkungen wie beispielsweise Performance-Probleme verursachen<br />
kann.<br />
• E-Mail Mo<strong>de</strong>rator: Setzen Sie diesen Schalter auf Ja, falls <strong>de</strong>r Mo<strong>de</strong>rator<br />
bei Antworten in <strong>de</strong>n von ihm mo<strong>de</strong>rierten Boards per E-Mail informiert<br />
wer<strong>de</strong>n soll. Die Kehrseite dieser Funktion: Ist sie aktiviert, bekommt<br />
<strong>de</strong>r Superadmin auch alle diese Mails.<br />
Sorgen Sie in <strong>de</strong>r <strong>Joomla</strong>board-Konfiguration<br />
für ein Höchstmaß an Sicherheit.<br />
10.1.4 Avatar-Konfiguration<br />
Ihre User können auch so genannte Avatar verwen<strong>de</strong>n. Das sind künstliche Personen<br />
bzw. grafische Stellvertreter echter Personen in <strong>de</strong>r virtuellen Welt. Für die<br />
Konfiguration stehen Ihnen folgen<strong>de</strong> Einstellungen zur Verfügung:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
288 Forum mit <strong>Joomla</strong>board<br />
• Erlaube Avatars: Standardmäßig ist die Avatarfunktion aktiviert, also<br />
auf Ja gesetzt. Das be<strong>de</strong>utet, dass registrierte Mitglie<strong>de</strong>r Avatare verwen<strong>de</strong>n<br />
können. Die Verwaltung erfolgt in Deinem Profil.<br />
• Avatar hochla<strong>de</strong>n: Wenn Sie diesen Schalter auf Ja setzen, können Ihre<br />
Benutzer auch eigene Avatare hochla<strong>de</strong>n<br />
• Benutzung <strong>de</strong>r Avatar Gallerie: Dieser Schalter erlaubt die Verwendung<br />
<strong>de</strong>r Avatar-Galerie. Allerdings dürfen nur registrierte Mitglie<strong>de</strong>r auf die<br />
Galerie zugreifen. Sie fin<strong>de</strong>n die Avatare im Verzeichnis components/<br />
com_joomlaboard/avatars/gallery/.<br />
• Max. Avatar-Höhe/Breite: Mit diesen bei<strong>de</strong>n Einstellungen bestimmen<br />
Sie die Höhe und Breite in Pixeln.<br />
• Max. Avatar-Dateigröße: Hier beschränken Sie die maximal zulässige<br />
Dateigröße <strong>de</strong>r Avatare in Kilobyte.<br />
Standardmäßig sind die Avatar-Funktionen aktiviert.<br />
10.1.5 Upload steuern<br />
Wenn Sie Ihren Benutzern erlauben, Dateien in das Forum zu la<strong>de</strong>n, so ist das<br />
immer auch mit Sicherheitsrisiken verbun<strong>de</strong>n, schließlich können Sie ja nie sicher<br />
sein, dass es <strong>de</strong>r Benutzer gut meint – o<strong>de</strong>r es nicht besser weiß. Mit <strong>de</strong>n Upload-<br />
Einstellungen können Sie genau steuern, welche Dateien Ihre Benutzer uploa<strong>de</strong>n<br />
dürfen und welche nicht. Die Einstellungen teilen sich in Bil<strong>de</strong>r- und Dateienspezifische<br />
Konfigurationen ein. Die Bil<strong>de</strong>reinstellungen:<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 289<br />
• Je<strong>de</strong>m erlauben, Bil<strong>de</strong>r hochzula<strong>de</strong>n: Standardmäßig erlaubt <strong>Joomla</strong>board<br />
<strong>de</strong>n Upload nur registrierten Benutzern. Behalten Sie die Voreinstellung<br />
Nein am besten bei.<br />
• Erlaube registrierten Usern, Bil<strong>de</strong>r hochzula<strong>de</strong>n: Stellen Sie sicher,<br />
dass diese Option auf Ja steht, damit nur registrierte und eingeloggte User<br />
Bil<strong>de</strong>r hochla<strong>de</strong>n können. Beachten Sie, dass (Super-)Administratoren<br />
und Mo<strong>de</strong>ratoren immer Bil<strong>de</strong>r hochla<strong>de</strong>n können.<br />
• Max. Bild Höhe/Breite: In diesen bei<strong>de</strong>n Eingabefel<strong>de</strong>rn bestimmen Sie<br />
die maximal zulässige Höhe und Breite von Bil<strong>de</strong>rn.<br />
• Max. Bil<strong>de</strong>r Größe: Außer<strong>de</strong>m können Sie die maximal zulässige Dateigröße<br />
für Ihre Bil<strong>de</strong>r in Kilobyte bestimmen.<br />
Die Upload-Einstellungen für Bil<strong>de</strong>r und sonstige Dateien.<br />
Und die Datei-spezifischen Einstellungen:<br />
• Erlaube je<strong>de</strong>m, Dateien hochzula<strong>de</strong>n: Diesen Schalter sollten Sie in je<strong>de</strong>m<br />
Fall auf Nein setzen, damit nicht beliebige Benutzer Dateien auf Ihr<br />
System hochla<strong>de</strong>n können.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
290 Forum mit <strong>Joomla</strong>board<br />
• Erlaube registrierten Usern Dateien hochzula<strong>de</strong>n: Standardmäßig ist in<br />
<strong>Joomla</strong>board das Hochla<strong>de</strong>n nur für registrierte und eingeloggte User<br />
möglich. Mit dieser Einstellung sind Sie in je<strong>de</strong>m Fall gut bedient. Auch<br />
hier gilt: (Super-)Administratoren und Mo<strong>de</strong>ratoren können immer Dateien<br />
hochla<strong>de</strong>n.<br />
• Erlaubte Datei-Typen: In diesem Eingabefeld können Sie die zulässigen<br />
Dateitypen bestimmen. Mehrere Einträge sind durch Komma ohne Leerzeichen<br />
voneinan<strong>de</strong>r zu trennen. Verwen<strong>de</strong>n Sie Kleinschreibung. Ein<br />
Beispiel: zip,txt,exe,htm,html.<br />
• Max. Größe: Schließlich können Sie auch hier die maximale Dateigröße<br />
in Kilobyte festlegen.<br />
Die Ranking-Einstellungen von <strong>Joomla</strong>board.<br />
10.1.6 Die Ranking-Einstellungen<br />
Die Ranking-Funktion dürfte Ihnen von Besuchen an<strong>de</strong>rer Web-basierter Diskussionsforen<br />
bekannt sein. Sie bewertet die User auf Grundlage <strong>de</strong>r verschickten<br />
Postings. Wenn Sie <strong>de</strong>rlei Bewertungsmechanismen ebenfalls nutzen wollen, müssen<br />
Sie zunächst <strong>de</strong>n Schalter Zeige Ranking mit Ja aktivieren. Damit die Bewer-<br />
www.brain-media.<strong>de</strong>
Installation und Konfiguration 291<br />
tung funktioniert, muss auf <strong>de</strong>m Register Advanced <strong>de</strong>s jeweiligen Forums die<br />
Statistikfunktion aktiviert sein.<br />
Mit <strong>de</strong>r Option Nutze Rank Bil<strong>de</strong>r bestimmen Sie, ob <strong>de</strong>r Userrang per Grafik<br />
angezeigt wer<strong>de</strong>n soll o<strong>de</strong>r nicht. Sie fin<strong>de</strong>n die zugehörigen Abbildungen im Verzeichnis<br />
/components/com_joomla/ranks/. Ist diese Option ausgeschaltet, wird <strong>de</strong>r<br />
Rang als Text angezeigt. Außer<strong>de</strong>m können Sie für die verschie<strong>de</strong>nen Ränge Limits<br />
und die zugehörigren Bezeichnungen setzen. Mit <strong>de</strong>n Limitwerten legen Sie<br />
fest, wie viele Postings ein Benutzer verschickt haben muss, bevor er in <strong>de</strong>n nächsten<br />
Rang gelangt.<br />
Ein weiteres Highlight von <strong>Joomla</strong>board: die Integration<br />
und das Zusammenspiel mit Drittanwendungen.<br />
10.1.7 Zusammenspiel mit Drittanwendungen<br />
Eine weitere Beson<strong>de</strong>rheit von <strong>Joomla</strong>board ist das Zusammenspiel mit Drittanwendungen.<br />
So können Sie beispielsweise myPMS für <strong>de</strong>n Mailversand o<strong>de</strong>r <strong>de</strong>n<br />
oben beschriebenen Community Buil<strong>de</strong>r integrieren. Damit die Integration gelingen<br />
kann, muss natürlich die entsprechen<strong>de</strong> Komponente auf Ihrem System installiert<br />
sein. Nur dann ist ein Zusammenspiel möglich. Die erste Einstellung:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
292 Forum mit <strong>Joomla</strong>board<br />
• Von wo soll das Avatar verwen<strong>de</strong>t wer<strong>de</strong>n? Vorausgesetzt, myPMS<br />
Professional o<strong>de</strong>r <strong>de</strong>r Community Buil<strong>de</strong>r ist installiert, können Sie<br />
<strong>Joomla</strong>board so konfigurieren, dass das Avatar von myPMS Pro o<strong>de</strong>r <strong>de</strong>m<br />
CB-Benutzerprofil verwen<strong>de</strong>t wird.<br />
Es folgt eine Einstellung zu myPMS II & myPMS Professional:<br />
• myPMS2 Private Nachrichten: Wenn Sie diesen Schalter auf Ja setzen,<br />
können Ihre Mitglie<strong>de</strong>r an<strong>de</strong>ren Mitglie<strong>de</strong>rn private Nachrichten schreiben.<br />
Das Zusammenspiel mit <strong>de</strong>m Community Buil<strong>de</strong>r setzt voraus, dass Sie mit Version<br />
1.0 o<strong>de</strong>r höher arbeiten. Für <strong>de</strong>n Community Buil<strong>de</strong>r stehen Ihnen zwei Einstellungen<br />
zur Verfügung:<br />
• Community Buil<strong>de</strong>r integrieren? Um <strong>de</strong>n Community Buil<strong>de</strong>r zu integrieren,<br />
setzen Sie diese Einstellungen zunächst auf Ja. Alle <strong>Joomla</strong>board-<br />
Benutzerprofilfunktionen wer<strong>de</strong>n vom Community Buil<strong>de</strong>r verwaltet und<br />
die Profil-Links verweisen auf das CB-Profil. Diese Einstellung überschreibt<br />
alle myPMS-Pro-Profileinstellungen, wenn bei<strong>de</strong> Tools mit Ja integriert<br />
sind.<br />
• Community Buil<strong>de</strong>r Forumprofil erstellen: Klicken Sie auf <strong>de</strong>n Link<br />
Hier klicken, um die notwendigen Forumeinträge im Community-Buil<strong>de</strong>r-<br />
Benutzerprofil zu erstellen. Nach<strong>de</strong>m sie erstellt wur<strong>de</strong>n, steht es Ihnen<br />
frei, sie mithilfe <strong>de</strong>s Community-Buil<strong>de</strong>r-Admin-Systems zu verschieben.<br />
Es folgt eine Einstellung für <strong>de</strong>n Badword-Filter:<br />
• Badword-Filter verwen<strong>de</strong>n: Wenn Sie diesen Filter aktivieren, wer<strong>de</strong>n<br />
unerwünschte Wörter auf <strong>de</strong>n Foren herausgefiltert. Auch hier ist die Installation<br />
<strong>de</strong>r Erweiterung erfor<strong>de</strong>rlich. Sie fin<strong>de</strong>n <strong>de</strong>n Filter unter<br />
http://mamboxchange.com/frs/?group_id=251. Diese kleine, aber feine<br />
Komponente erlaubt das Erstellen einer Liste unerwünschter Begriffe.<br />
Außer<strong>de</strong>m können Sie reguläre Ausdrücke für das Filtern und spezielle<br />
Benutzeraccounts erstellen, für die an<strong>de</strong>re Regeln gelten.<br />
www.brain-media.<strong>de</strong>
Foren erstellen und verwalten 293<br />
Die Badwords-Komponente lässt sich<br />
einfach in <strong>Joomla</strong>board integrieren.<br />
Schließlich können Sie das Discussbot in Ihrem Forum integrieren. Hier steht Ihnen<br />
lediglich die Option Aktiviere <strong>de</strong>n Discuss Mosbot zur Verfügung. Der<br />
Discuss-Mosbot ermöglicht es Ihren Benutzern, Artikel im Forum zu diskutieren.<br />
10.2 Foren erstellen und verwalten<br />
<strong>Joomla</strong>board erlaubt Ihnen das Erstellen mehrerer Foren, in <strong>de</strong>nen sich die Benutzer<br />
unterschiedlichen Themen widmen können. So können Sie beispielsweise ein<br />
Forum Allgemeines einführen, in <strong>de</strong>m allgemeine Fragen zu Ihrem Unternehmen<br />
und/o<strong>de</strong>r Ihren Produkten im Mittelpunkt stehen. Sie könnten ein weiteres Forum<br />
zu Produktneuigkeiten und noch ein weiteres zu Produkt A und eines zu Produkt B<br />
einführen.<br />
Für das Erstellen eines Forums ist die Forenverwaltung zuständig, die sich hinter<br />
<strong>de</strong>m Link Forum Administration verbirgt. Haben Sie über das <strong>Joomla</strong>board-<br />
Control-Panel die Beispieldateien installiert, so fin<strong>de</strong>n Sie in <strong>de</strong>r Forenverwaltung<br />
bereits zwei Einträge:<br />
• Forum Category<br />
• Forum Category/ Forum 1<br />
Zu je<strong>de</strong>m Listeneintrag wer<strong>de</strong>n Ihnen folgen<strong>de</strong> Informationen angezeigt:<br />
• Locked: Hier erfahren Sie, ob das Forum gesperrt ist o<strong>de</strong>r nicht.<br />
• Mo<strong>de</strong>rated: Zeigt, ob es einen Forenmo<strong>de</strong>rator gibt.<br />
• Review: Hier erfahren Sie, ob die Forenbeiträge vom Mo<strong>de</strong>rator auf ihren<br />
Inhalt hin überprüft wer<strong>de</strong>n, bevor sie freigegeben wer<strong>de</strong>n.<br />
• Published: Zeigt an, ob das Forum veröffentlicht ist o<strong>de</strong>r nicht.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
294 Forum mit <strong>Joomla</strong>board<br />
• Public Access: Zeigt an, wer Zugriff zu <strong>de</strong>m Forum hat.<br />
• Admin Acces: Zeigt an, wer Admin-Zugriff hat.<br />
• Checked out: Hier wird <strong>de</strong>r Check-out-Status angezeigt.<br />
• Reor<strong>de</strong>r: Erlaubt das Än<strong>de</strong>rn <strong>de</strong>r Reihenfolge.<br />
Um ein erstes neues Forum zu erstellen, klicken Sie auf New. Im zugehörigen<br />
Dialog stehen Ihnen drei Register zur Verfügung, über die Sie allgemeine und<br />
erweiterte Eigenschaften bestimmen und außer<strong>de</strong>m festlegen, ob das Forum mo<strong>de</strong>riert<br />
wird.<br />
Eine Kategorie entsteht.<br />
Das Formular Add Category/Forum erlaubt das Erstellen von Kategorien und Foren.<br />
An dieser Stelle muss darauf hingewiesen wer<strong>de</strong>n, dass bei <strong>Joomla</strong>board <strong>de</strong>r<br />
Begriff „Forum“ doppelt belegt ist. Zum einen sind damit das gesamte Diskussionsforum,<br />
zum an<strong>de</strong>ren die einzelnen Diskussionsstränge gemeint. Beachten Sie,<br />
dass es sich bei dieser Doppel<strong>de</strong>utigkeit um eine <strong>Joomla</strong>board-spezifische Benennung<br />
han<strong>de</strong>lt. Bei an<strong>de</strong>ren Lösungen ist die Trennung klarer.<br />
Beim Erzeugen eines neuen Diskussionsforums müssen Sie zunächst eine Kategorie<br />
erzeugen. Dazu wählen Sie aus <strong>de</strong>m Auswahlmenü Parent <strong>de</strong>n Eintrag Top<br />
Level Category. Eine Kategorie dient als Container für Ihre Foren. In das Textfeld<br />
www.brain-media.<strong>de</strong>
Foren erstellen und verwalten 295<br />
geben Sie die Kategorienbezeichnung ein und hinterlegen gegebenenfalls eine<br />
Beschreibung. Mit einem Klick auf Save speichern Sie die Forenkategorie.<br />
Nach<strong>de</strong>m Sie die Forenkategorie erstellt haben, können Sie einen ersten Diskussionsstrang<br />
erzeugen. Beachten Sie, dass ein Diskussionsforum nur innerhalb einer<br />
Kategorie erzeugt wer<strong>de</strong>n kann.<br />
Als Nächstes kann ein erstes Forum, genauer<br />
ein Diskussionsstrang <strong>de</strong>finiert wer<strong>de</strong>n.<br />
Um Ihren ersten Diskussionsstrang zu erstellen, klicken Sie in <strong>de</strong>r<br />
Forenverwaltung wie<strong>de</strong>r auf New und wählen dieses Mal unter Parent die oben<br />
erzeugte Kategorie aus, bestimmen <strong>de</strong>n Forentitel und geben auch hier wie<strong>de</strong>r<br />
unter Description eine Beschreibung an. Mit einem Klick auf Save speichern Sie<br />
das erste Forum.<br />
So o<strong>de</strong>r so ähnlich könnte Ihre Forenverwaltung<br />
nach <strong>de</strong>n ersten Schritten aussehen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
296 Forum mit <strong>Joomla</strong>board<br />
Als Nächstes machen Sie sich an die Konfiguration <strong>de</strong>s ersten Forums. Dazu öffnen<br />
Sie <strong>de</strong>n Eintrag Firmenforum/Allgemeines. Hier wechseln Sie zum Register<br />
und passen verschie<strong>de</strong>ne Foreneinstellungen an. Konkret können Sie folgen<strong>de</strong><br />
Anpassungen vornehmen:<br />
• Locked: Wenn Sie diesen Schalter auf Yes setzen, ist das Forum gesperrt<br />
und niemand außer <strong>de</strong>n Mo<strong>de</strong>ratoren und Administratoren kann neue Beiträge<br />
o<strong>de</strong>r Replies verfassen.<br />
• Public Access Level: Mit diesem Auswahlmenü bestimmen Sie, wer Zugriff<br />
auf das Forum hat. Standardmäßig wird je<strong>de</strong>m (Everybody) Zugriff<br />
gewährt. Um ein nicht öffentliches Forum zu erstellen, bestimmen Sie <strong>de</strong>n<br />
minimalen Benutzerlevel, <strong>de</strong>m Sie Zugriff gewähren wollen. Beachten Sie<br />
Folgen<strong>de</strong>s: Wenn Sie <strong>de</strong>n Zugriff auf eine Kategorie beschränken, so<br />
können Sie damit automatisch auch <strong>de</strong>n Zugriff auf alle <strong>de</strong>r Kategorie untergeordneten<br />
Stränge einschränken – abhängig von <strong>de</strong>r folgen<strong>de</strong>n Option.<br />
Die erweiterten Einstellungen Ihres ersten Forums.<br />
www.brain-media.<strong>de</strong>
Benutzeradministration und Sonstiges 297<br />
• Inclu<strong>de</strong> Child Groups: Mit dieser Einstellung legen Sie fest, ob <strong>de</strong>r Zugriffslevel<br />
für untergeordnete Gruppen gilt. Wenn Sie <strong>de</strong>n Standardwert<br />
No beibehalten, so wird <strong>de</strong>r Zugriff nur auf die gewählte Gruppe begrenzt.<br />
• Admin Access Level: Wenn Sie ein Forum mit Zugriffsbeschränkungen<br />
erstellen, so können Sie hier einen zusätzlichen Administrationslevel <strong>de</strong>finieren.<br />
• Inclu<strong>de</strong> Child Groups: Mit diesem Schalter können Sie die Zugriffsbeschränkungen<br />
auf untergeordnete Gruppen vererben.<br />
• Review Posts: Setzen Sie diesen Schalter auf Yes, damit die<br />
Forenbeiträge durch einen Mo<strong>de</strong>rator geprüft und freigegeben wer<strong>de</strong>n<br />
müssen. Wenn Sie keinen Mo<strong>de</strong>rator erstellt haben, ist <strong>de</strong>r Site-Admin für<br />
die Freigabe verantwortlich.<br />
Um die Mo<strong>de</strong>ration für Ihr Forum zu aktivieren, wechseln Sie zum Register Mo<strong>de</strong>ration<br />
und schalten Sie auf Yes um. Erst dann können Sie <strong>de</strong>m Forum über New<br />
Mo<strong>de</strong>rator einen Mo<strong>de</strong>rator zuweisen. Das be<strong>de</strong>utet aber noch nicht, dass <strong>de</strong>r Mo<strong>de</strong>rator<br />
auch alle Beiträge prüfen muss. Hierzu müssen Sie die Review-Option auf<br />
<strong>de</strong>m Register Advanced aktivieren.<br />
Beachten Sie außer<strong>de</strong>m, dass Sie nach <strong>de</strong>r Aktivierung <strong>de</strong>r Mo<strong>de</strong>ration erst die<br />
Einstellung speichern müssen, bevor Sie <strong>de</strong>m Forum einen Mo<strong>de</strong>rator hinzufügen<br />
können.<br />
10.3 Benutzeradministration und Sonstiges<br />
Der Umgang mit <strong>de</strong>r Benutzeradministration von <strong>Joomla</strong>board ist etwas gewöhnungsbedürftig.<br />
<strong>Joomla</strong>board greift bei <strong>de</strong>r Benutzerverwaltung auf die <strong>Joomla</strong>!-<br />
Datenbank zurück. Wenn Sie einen Blick auf die <strong>Joomla</strong>board-Benutzerverwaltung<br />
werfen, stellen Sie allerdings fest, dass diese leer ist. Ein <strong>Joomla</strong>!-Benutzer ist erst<br />
dann auch <strong>Joomla</strong>board-Benutzer, wenn er über das Frontend auf das Forum zugreift.<br />
Erst wenn <strong>de</strong>r eingeloggte Benutzer auf das Forum zugreift, können Sie<br />
seine Einstellungen bearbeiten und ihn beispielsweise zu einem Forenadmin machen.<br />
So richtig komfortabel ist das Ganze nicht. Bleibt zu hoffen, dass sich das bei<br />
kommen<strong>de</strong>n <strong>Joomla</strong>board-Versionen vereinfacht.<br />
Das <strong>Joomla</strong>board-Control-Panel stellt Ihnen weitere nützliche Funktionen zur<br />
Verfügung. So können Sie beispielsweise die hochgela<strong>de</strong>nen Bil<strong>de</strong>r bzw. Dateien<br />
über die gleichnamigen Links einsehen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
298 Forum mit <strong>Joomla</strong>board<br />
Die Bereinigungsfunktion.<br />
Eine weitere Funktion erleichtert Ihnen die Pflege <strong>de</strong>r Forum-Installation. Mit <strong>de</strong>r<br />
Bereinigungsfunktion, die sich hinter <strong>de</strong>m Link Bereinigen <strong>de</strong>r Foren verbirgt,<br />
legen Sie <strong>de</strong>n Zeitraum fest, wann Postings entfernt wer<strong>de</strong>n, zu <strong>de</strong>nen keine neuen<br />
Beiträge mehr verfasst wur<strong>de</strong>n.<br />
Der <strong>Joomla</strong>board-Template-Editor.<br />
www.brain-media.<strong>de</strong>
Benutzeradministration und Sonstiges 299<br />
Wenn Sie <strong>de</strong>m Link Bearbeite CSS Datei folgen, gelangen Sie zum Template-<br />
Editor. Über das textbasierte Eingabefeld können Sie Än<strong>de</strong>rungen an <strong>de</strong>r aktuell<br />
installierten Vorlage vornehmen. Der Editor zeigt auch <strong>de</strong>n Pfad zur aktuellen<br />
Vorlage an.<br />
Werfen wir noch einen kurzen Blick auf das Frontend. Am einfachsten ist es, wenn<br />
Sie Ihr Forum über das Hauptmenü in Ihre <strong>Joomla</strong>!-Site integrieren. Beim Zugriff<br />
auf das Forum präsentiert Ihnen <strong>Joomla</strong>board die von Ihnen erzeugten Kategorien<br />
und Foren.<br />
Der Dialog zum Verfassen von Beiträgen.<br />
Die Forenübersicht zeigt Ihnen außer<strong>de</strong>m an, wie viele Themen in einem Forum<br />
diskutiert wur<strong>de</strong>n, wie viele Antworten es gab und wann die letzte Nachricht gepostet<br />
wur<strong>de</strong>.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
300 Forum mit <strong>Joomla</strong>board<br />
Das Verfassen eines Beitrags ist ebenfalls recht einfach. Greifen Sie auf einen<br />
Diskussionsfa<strong>de</strong>n zu und eröffnen Sie mit einem Klick auf Neues Thema eine neue<br />
Diskussion. Alternativ öffnen Sie einen Beitrag und klicken auf Antworten.<br />
Im Verfassen-Dialog erstellen Sie Ihren Beitrag, fügen Smileys, Links o<strong>de</strong>r auch<br />
Bil<strong>de</strong>r ein. Über <strong>de</strong>n Vorschau-Button prüfen Sie, ob Ihr Beitrag Ihren Vorstellungen<br />
entspricht, bis Sie ihn mit einem Klick auf Weiter veröffentlichen.<br />
10.4 Fazit<br />
Mit <strong>Joomla</strong>board steht Ihnen eine leistungsfähige und benutzerfreundliche Komponente<br />
zur Verfügung. Die Integration in <strong>Joomla</strong>! ist sehr gut gelungen. Man darf<br />
sich schon jetzt auf die kommen<strong>de</strong> Version freuen, die dann beispielsweise ein<br />
vereinfachtes Smiley-Management im Backend, die Unterstützt alle wichtigen<br />
privaten Messaging-System und mehr Flexibilität bei <strong>de</strong>r Bearbeitung von Templates<br />
wird soll. <strong>Joomla</strong>board 1.2 wird vermutlich auch eine Abstimmungsfunktion<br />
erhalten.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! <strong>kompakt</strong><br />
Fazit 301
302 Online-Shop mit VirtueMart<br />
11 Online-Shop mit VirtueMart<br />
<strong>Joomla</strong>! kann mittels Add-ons nicht nur um typische Content-spezifische Funktionen<br />
erweitert wer<strong>de</strong>n, son<strong>de</strong>rn auch um Shopping-Funktionalität. Inzwischen gibt<br />
es sogar nicht nur eine Shopping-Erweiterung für <strong>Joomla</strong>!, son<strong>de</strong>rn gar mehrere.<br />
Die ausgereifteste ist sicherlich VirtueMart (http://www.virtuemart.org), das ehemalige<br />
mambo-phpShop. Funktional hat das Shoppingsystem eine ganze Menge zu<br />
bieten. Wie Sie <strong>de</strong>r VirtueMart-Website entnehmen können, gibt es sogar eine<br />
ganze Menge Online-Shops, die mit <strong>de</strong>m System realisiert wur<strong>de</strong>n. Sie belegen,<br />
dass das Shopping-System bestens typischen Anfor<strong>de</strong>rungen genügt. Wichtig:<br />
Auch das Shopping-System ist frei verfügbar. In diesem Kapitel steigen wir in das<br />
Erstellen und die Administration eines Online-Shops für das <strong>Joomla</strong>!-Content-<br />
Managementsystem ein.<br />
11.1 VirtueMart-Basics<br />
Bevor wir uns <strong>de</strong>r Praxis zuwen<strong>de</strong>n, wollen wir noch einen Blick auf die vielen<br />
Funktionen werfen, die VirtueMart zu bieten hat. Die wichtigsten sind sicherlich:<br />
• unbegrenzte Produkte und Produktkategorien<br />
• Verkauf von Download-fähigen Produkten<br />
• typische Warenkorbfunktion<br />
• Verwendung kleiner und großer Grafiken<br />
• beliebige Produkteigenschaften<br />
• Kun<strong>de</strong>nmanager<br />
• Konfiguration und Anpassung über eine <strong>Joomla</strong>!-ähnliche Schnittstelle<br />
• Shop-Erweiterung durch weitere Module und Komponenten<br />
• <strong>de</strong>taillierte Statistiken<br />
• Bestellverwaltung<br />
• benutzer<strong>de</strong>finierte Steuersätze<br />
• benutzer<strong>de</strong>finierte Versandkosten<br />
www.brain-media.<strong>de</strong>
VirtueMart-Basics 303<br />
• Versandverfolgung<br />
• Unterstützung wichtiger Zahlungssysteme und, und, und<br />
Einen <strong>de</strong>taillierten Überblick fin<strong>de</strong>n Sie auf <strong>de</strong>r Produkt-Website.<br />
Die Inbetriebnahme von VirtueMart ist <strong>de</strong>nkbar einfach. La<strong>de</strong>n Sie einfach das<br />
VirtueMart-Paket herunter, das die Bezeichnung VirtueMart 1.06 Complete<br />
Package.zip hat. In diesem Paket sind neben <strong>de</strong>m eigentlichen Shopping-System<br />
mehrere optionale Zusatzkomponenten enthalten. Dazu später mehr.<br />
Entpacken Sie das ZIP-Archiv in einen Ordner Ihrer Wahl und führen Sie dann die<br />
Installation <strong>de</strong>s Pakets aus. Die Installation führen Sie wie gewohnt über das<br />
Installers-Menü aus. Wählen Sie die Datei com_virtuemart_1.0.6.tar.gz aus und<br />
klicken Sie dann auf Upload File & Install. Der Upload dauert kurze Zeit. Gelingt<br />
die Installation, gibt VirtueMart eine Erfolgsmeldung aus, wie sie nachstehen<strong>de</strong><br />
Abbildung zeigt.<br />
Die Installation von VirtueMart ist erfolgreich abgeschlossen.<br />
Alternativ können Sie die Komponenten auch von Hand installieren. Dazu entpacken<br />
Sie das ZIP-Archiv <strong>de</strong>r Datei und führen beispielsweise einen Upload <strong>de</strong>s<br />
VirtueMart-Ordners mit einem FTP-Client durch. Nach <strong>de</strong>r erfolgreichen Installation<br />
bietet Ihnen VirtueMart <strong>de</strong>n direkten Weg zum Shop und die Installation von<br />
Beispieldaten an. Wenn Sie das erste Mal mit <strong>de</strong>m Shopping-System arbeiten,<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
304 Online-Shop mit VirtueMart<br />
sollten Sie die Beispieldaten installieren und mit diesen die ersten Gehversuche in<br />
<strong>de</strong>r Umgebung unternehmen.<br />
Wenn Sie sich für die Installation <strong>de</strong>r Beispieldaten entschei<strong>de</strong>n, beansprucht auch<br />
dieser Vorgang ein wenig Zeit. Sie müssen sich erneut einloggen und VirtueMart<br />
präsentiert Ihnen eine weitere Meldung, dass die Beispieldaten erfolgreich installiert<br />
sind. Nun haben Sie auch die Gelegenheit, einen ersten Blick auf die<br />
VirtueMart-Administration zu werfen.<br />
Bevor Sie allerdings fortfahren, müssen Sie das VirtueMart-Modul installieren.<br />
Dazu wechseln Sie zum Modul-Installationsdialog, wählen die Datei<br />
mod_virtuemart_1.6.0.tar.gz aus und führen die Installation mit einem Klick auf<br />
Upload & Install durch. Auch hier sollte zum Abschluss eine Erfolgsmeldung<br />
ausgegeben wer<strong>de</strong>n.<br />
Wichtig ist, dass Sie das Modul über die <strong>Joomla</strong>!-Modulverwaltung publizieren.<br />
Das gilt natürlich auch für alle weiteren Module, die im VirtueMart-Paket enthalten<br />
sind.<br />
Tipp<br />
Über die VirtueMart-Website ist auch ein E-Commerce-Bundle verfügbar, das die<br />
Bezeichnung <strong>Joomla</strong> 1.x eCommerce Edition hat. Neben <strong>Joomla</strong>! und VirtueMart<br />
sind darin <strong>de</strong>r joomlaXplorer und Letterman enthalten. Damit vereinfacht sich <strong>de</strong>r<br />
Aufbau einer E-Commerce-Site. Sie fin<strong>de</strong>n das Paket im Download-Bereich <strong>de</strong>r<br />
VirtueMart-Site.<br />
Sie sollten außer<strong>de</strong>m das VirtueMart-Mambot installieren. Dazu greifen Sie wie<strong>de</strong>r<br />
zum Installers-Menü und installieren die Dateien virtuemart.searchbot_1.0.6.tar.gz<br />
und mosproductsnap_1.0.6.tar.gz. Der Bot Searchbot stellt die Suchfunktion in<br />
Ihrem Online-Shop zur Verfügung, <strong>de</strong>r Snapshot-Bot ist für <strong>de</strong>n Abbildungs-<br />
/Preis- und Bestell-Link in <strong>de</strong>r <strong>Joomla</strong>!-Site zuständig.<br />
Auch hier ist es wichtig, dass die Bots publiziert wer<strong>de</strong>n, bevor sie in <strong>de</strong>n Content<br />
eingebun<strong>de</strong>n und genutzt wer<strong>de</strong>n. Damit ist die Installation <strong>de</strong>s Shopping-Systems<br />
erledigt. Nun können Sie sich an das Kennenlernen <strong>de</strong>r VirtueMart-Schnittstelle<br />
machen.<br />
Bevor wir uns mit <strong>de</strong>r VirtueMart-Administration befassen, werfen wir noch einen<br />
Blick auf die weiteren Module. Nachstehen<strong>de</strong> Übersicht fasst die Module und<br />
<strong>de</strong>ren Funktionen zusammen:<br />
www.brain-media.<strong>de</strong>
VirtueMart-Basics 305<br />
Modul<br />
mod_product_categories<br />
mod_productscroller<br />
mod_virtuemart_allinone<br />
mod_virtuemart_cart<br />
Kurzbeschreibung<br />
Das Produktkategorie-Modul zeigt die Produktkategorien<br />
an, die Sie erzeugt haben.<br />
Das Produkt-Scroller-Modul erlaubt das Scrollen<br />
in <strong>de</strong>r Produktliste.<br />
Das All-in-one-Modul fasst die Informationen<br />
<strong>de</strong>r Module Neuste Produkte, Feature-<br />
Produkt, Top Ten o<strong>de</strong>r Zufallsprodukt in einem<br />
Modul zusammen.<br />
Das Mini-Cart-Modul stellt einen Verweis zum<br />
Warenkorb dar, <strong>de</strong>r problemlos in je<strong>de</strong> Seite<br />
eingefügt wer<strong>de</strong>n kann und <strong>de</strong>n Kun<strong>de</strong>n zu<br />
seinem Einkaufswagen führt.<br />
mod_virtuemart_featuredprod Das Featured-Products-Modul präsentiert<br />
Produkte, die Sie beson<strong>de</strong>rs hervorheben<br />
wollen, beispielsweise weil sie gera<strong>de</strong> in einer<br />
Rabattaktion günstiger angeboten wer<strong>de</strong>n.<br />
mod_virtuemart_latestprod<br />
mod_virtuemart_manufacturers<br />
mod_virtuemart_randomprod<br />
mod_virtuemart_search<br />
mod_virtuemart_topten<br />
Im Latest-Products-Modul wer<strong>de</strong>n die neuesten<br />
Produkte in Ihrem Shop angezeigt. So<br />
erfährt <strong>de</strong>r Kun<strong>de</strong> schnell, welches die neuesten<br />
Waren sind.<br />
Im Manufacturer-Modul wer<strong>de</strong>n die Hersteller<br />
<strong>de</strong>r Produkte Ihres Online-Shops aufgeführt.<br />
Der Kun<strong>de</strong> kann sich über <strong>de</strong>n entsprechen<strong>de</strong>n<br />
Link einen Überblick verschaffen, was<br />
noch alles von einem bestimmten Hersteller<br />
stammt.<br />
Mit diesem Random-Products-Modul wer<strong>de</strong>n<br />
die Produkte <strong>de</strong>s Shops o<strong>de</strong>r einer Kategorie<br />
nach <strong>de</strong>m Zufallsprinzip angezeigt.<br />
Dieses Modul ist eine weitere Suchfunktion,<br />
mit <strong>de</strong>r die Kun<strong>de</strong>n Ihren Shop durchsuchen<br />
können.<br />
Das Modul Top-Ten-Products listet die Bestseller<br />
Ihres Online-Shops auf.<br />
Natürlich sind die Funktionen <strong>de</strong>r einzelnen Module konfigurierbar.<br />
Nun können Sie sich <strong>de</strong>n ersten administrativen Aufgaben widmen. Bevor Sie sich<br />
mit <strong>de</strong>r Shop-Administration befassen, sollten Sie allerdings mit einigen Dingen<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
306 Online-Shop mit VirtueMart<br />
vertraut sein, die die Integration und das Zusammenspiel mit <strong>de</strong>m Content-<br />
Managementsystem betreffen.<br />
Zunächst ist anzumerken, dass VirtueMart auf verschie<strong>de</strong>ne Einstellungen <strong>de</strong>r<br />
globalen CMS-Konfiguration zurückgreift. Konkret sind das die folgen<strong>de</strong>n:<br />
• Allow User Registration: Sie sollte auf Yes stehen. Je<strong>de</strong>r Benutzer bzw.<br />
Kun<strong>de</strong> muss ein registrierter Benutzer Ihrer Site sein, damit er <strong>de</strong>n Checkout-Vorgang<br />
ausführen kann. VirtueMart stellt Ihnen ein erweitertes Registrierungsformular<br />
zur Verfügung, über das Kun<strong>de</strong>n ihre Kontaktdaten<br />
und Lieferadressen hinterlegen können. Füllt ein Benutzer dieses Formular<br />
aus, so wird er automatisch in die <strong>Joomla</strong>!-Benutzerverwaltung eingetragen.<br />
• Use New Account Activation: Diese Einstellung steht auf No. Bei dieser<br />
Konfiguration steht für Benutzer ein optimierter Checkout-Prozess zur<br />
Verfügung, <strong>de</strong>r <strong>de</strong>n Abschluss <strong>de</strong>s Kaufvorgangs vereinfacht. Benutzer<br />
müssen nicht erst ihren Account aktivieren, um dann <strong>de</strong>n Checkout-<br />
Vorgang abschließen zu können.<br />
Ein erster Blick auf die VirtueMart-Komponente.<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 307<br />
• Mail Configuration: VirtueMart greift auf die Mail-Konfiguration <strong>de</strong>s<br />
Systems zurück, um beispielsweise Bestellbestätigungen zu versen<strong>de</strong>n.<br />
Hier sollten Sie die <strong>Joomla</strong>!-Mail-Konfiguration überprüfen. Beachten Sie<br />
Folgen<strong>de</strong>s: Wenn Sie die Shop-Einstellungen und die E-Mail-Adresse<br />
nicht än<strong>de</strong>rn, wer<strong>de</strong>n die Bestellbestätigungen an <strong>de</strong>mo_or<strong>de</strong>r@virtuemart.org<br />
verschickt. Da das nicht in Ihrem Interesse sein kann, sollten Sie<br />
diese Einstellungen än<strong>de</strong>rn. Dazu später mehr.<br />
• Localization/ Language: VirtueMart greift auf die Standardsprache Ihrer<br />
<strong>Joomla</strong>!-Installation zurück. Wird das gewählte Sprachmodul nicht gefun<strong>de</strong>n,<br />
verwen<strong>de</strong>t VirtueMart die englische Variante.<br />
• Search Engine Friendly URLs: Diese Einstellung sollte auf Off stehen,<br />
<strong>de</strong>nn die Verwendung von SEF kann zu URL-redirection-limit-excee<strong>de</strong>d-<br />
Fehlern führen.<br />
11.2 VirtueMart-Administration<br />
Nach <strong>de</strong>r erfolgreichen Installation und nach<strong>de</strong>m Sie die <strong>Joomla</strong>!-Konfiguration<br />
auf ihre VirtueMart-konformen Einstellungen überprüft haben, können Sie sich <strong>de</strong>r<br />
Shop-Administration widmen. Zunächst sollten Sie allgemeinen Einstellungen<br />
vornehmen und sich dann beispielsweise im nächsten Schritt <strong>de</strong>n Produkten widmen.<br />
VirtueMart verfügt über eine Systemsteuerung, die mit <strong>de</strong>r <strong>de</strong>s Content-<br />
Managementsystems vergleichbar ist. Sie greifen über das <strong>Joomla</strong>!-Menü Components><br />
VirtueMart auf das Shopping-System zu. VirtueMart präsentiert Ihnen eine<br />
eigene Navigationsleiste, Icons für <strong>de</strong>n schnellen Zugriff auf die wichtigsten Funktionen<br />
und ein typisches Infofeld. Die Shop-Administration erfolgt über Admin><br />
Configuration. Der Zugriff auf diese Einstellungen ist standardmäßig nur für Benutzer<br />
mit <strong>de</strong>r Berechtigung admin möglich.<br />
11.2.1 Allgemeine Shop-Konfiguration<br />
Für die Shop-Konfiguration stehen Ihnen sechs Register zur Verfügung, über die<br />
Sie allgemeine wie auch sehr spezifische Einstellungen vornehmen. Am umfangreichsten<br />
sind die Einstellungen <strong>de</strong>s Registers Global, auf <strong>de</strong>m zusammengehörige<br />
Einstellungen in mehreren Bereichen gruppiert sind.<br />
Die Einstellungen von Global:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
308 Online-Shop mit VirtueMart<br />
• Shop is offline? Wenn Sie diese Option aktivieren, geht <strong>de</strong>r Shop offline.<br />
Sie können also zwischen <strong>de</strong>m Online- und Offline-Modus hin- und herschalten.<br />
Mit dieser Funktion können Sie <strong>de</strong>n Shop bequem „vom Netz“<br />
nehmen, um beispielsweise Wartungsarbeiten durchzuführen.<br />
• Offline Message: Hier hinterlegen Sie die Meldung, die eingeblen<strong>de</strong>t<br />
wird, wenn Sie <strong>de</strong>n Shop in <strong>de</strong>n Offline-Modus geschaltet haben. Innerhalb<br />
<strong>de</strong>s Textfelds können Sie wie gewohnt HTML-Formatierungen verwen<strong>de</strong>n.<br />
• Use only as catalogue: Sie können VirtueMart auch als reinen Katalog<br />
nutzen. Dazu aktivieren Sie diese Option und <strong>de</strong>aktivieren damit gleichzeitig<br />
die Einkaufsfunktion.<br />
Die ersten Einstellungen <strong>de</strong>r Shop-Konfiguration.<br />
Es folgt die Preiskonfiguration (Price Configuration):<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 309<br />
• Show Prices: Mit diesem Schalter können Sie die Ansicht <strong>de</strong>r Preise<br />
<strong>de</strong>aktivieren. Das ist beispielsweise dann sinnvoll, wenn Sie Ihr System<br />
als Katalog verwen<strong>de</strong>n und lediglich die Produkte präsentieren wollen.<br />
• Membergroup to show prices to: Hier legen Sie fest, welche Benutzergruppe<br />
die Preise zu sehen bekommt. Diese Funktion ist standardmäßig<br />
aktiviert und so konfiguriert, dass für alle Benutzer (Public Frontend) die<br />
Preisinformationen angezeigt wer<strong>de</strong>n. Alle Benutzer mit höheren Berechtigungen<br />
als <strong>de</strong>r gewählten bekommen die Preise zu Gesicht.<br />
• Show „(including xx % tax)” when appicable? Hier legen Sie fest, ob<br />
<strong>de</strong>r Text „including xx % tax” bei <strong>de</strong>r Preisanzeige eingeblen<strong>de</strong>t wird.<br />
Diesen Text können Sie natürlich ein<strong>de</strong>utschen.<br />
• Show price label for packaging? Hier legen Sie fest, ob <strong>de</strong>r Link zu <strong>de</strong>n<br />
Preisen für die Verpackung angezeigt wird.<br />
11.2.2 Benutzerregistrierung<br />
Es folgen die Einstellungen für die Benutzerregistrierung (User Registration Settings):<br />
• Use silent (hid<strong>de</strong>n) user registration? Wenn Sie diesen Schalter aktivieren,<br />
müssen die Benutzer keinen Benutzernamen und kein Passwort für<br />
einen neuen Account angeben. Statt<strong>de</strong>ssen wird die E-Mail-Adresse als<br />
Kennung verwen<strong>de</strong>t und ein Passwort mit <strong>de</strong>m Zufallsgenerator erzeugt.<br />
Die Details zur Registrierung wer<strong>de</strong>n an <strong>de</strong>n Kun<strong>de</strong>n gemailt.<br />
• <strong>Joomla</strong>! User registration allowed? Hier zeigt Ihnen VirtueMart die entsprechen<strong>de</strong><br />
Konfiguration von <strong>Joomla</strong>! an. Diese soll wie bereits oben<br />
erwähnt aktiviert sein.<br />
• <strong>Joomla</strong>! New account activation nessessary? Hier zeigt Ihnen<br />
VirtueMart an, dass die <strong>Joomla</strong>!-Option New Account Registration aktiviert<br />
sein muss.<br />
11.2.3 Steuerliche Belange<br />
Als Nächstes ist die Konfiguration <strong>de</strong>r Steuereinstellungen dran (Tax Configuration):<br />
• Virtual Tax: Hier legen Sie fest, ob auch Produkten ohne Gewicht, also<br />
beispielsweise Downloads, eine Steuer zugewiesen wird. Sie können diese<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
310 Online-Shop mit VirtueMart<br />
Einstellung durch einen manuellen Eingriff in ps_checkout.php än<strong>de</strong>rn.<br />
Sie fin<strong>de</strong>n die Datei im Ordner<br />
/<strong>Joomla</strong>/administrator/components/com_virtuemart/classes/. Dort bearbeiten<br />
Sie calc_or<strong>de</strong>r_taxable().<br />
• Tax mo<strong>de</strong>: Über dieses Auswahlmenü bestimmen Sie <strong>de</strong>n Steuermodus.<br />
Sie haben die Wahl, ob die Adresse <strong>de</strong>s Verkäufers o<strong>de</strong>r die <strong>de</strong>s Kun<strong>de</strong>n<br />
für die Berechnung <strong>de</strong>s Steuersatzes ist. In <strong>de</strong>r Regel ist es die Adresse<br />
<strong>de</strong>s Shop-Betreibers.<br />
• Enable multiple tax rates? Aktivieren Sie diese Option, wenn Sie Waren<br />
mit unterschiedlichen Steuersätzen über Ihren Online-Shop anbieten. Das<br />
ist beispielsweise <strong>de</strong>r Fall, wenn Sie Bücher und CDs anbieten. Für die<br />
einen gilt ein reduzierter Steuersatz von 7, für die an<strong>de</strong>ren einer von 19<br />
Prozent.<br />
• Subtract payment discount beforetax/shipping? Wenn Sie die Option<br />
aktivieren, wird ein Rabatt vor <strong>de</strong>r Berechnung <strong>de</strong>r Steuer abgezogen.<br />
Standardmäßig erfolgt die Rabattberechnung nach <strong>de</strong>r Addition von Waren,<br />
Steuer und Versandkosten.<br />
Die umfangreichen Frontend-Einstellungen.<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 311<br />
11.2.4 Die Frontend-Konfiguration<br />
Es folgen die Einstellungen für das Frontend (Frontend Features):<br />
• Enable Coupon Usage: Wenn Sie Ihren Kun<strong>de</strong>n, in welcher Form auch<br />
immer, Gutscheine für Rabatte anbieten, so können Sie <strong>de</strong>ren Einlösung<br />
mit diesem Schalter erlauben.<br />
• Enable Customer Review/Rating System: Hier legen Sie fest, ob Ihre<br />
Benutzer prinzipiell Ihre Produkte bewerten können. Die Beurteilung<br />
kann dann in <strong>de</strong>r Produktliste samt Anzahl <strong>de</strong>r Bewertungen angezeigt<br />
wer<strong>de</strong>n – so wie Sie es von Amazon & Co. kennen.<br />
• Customers can leave bank account data? Wenn Sie <strong>de</strong>n Bestellbetrag<br />
vom Konto <strong>de</strong>s Kun<strong>de</strong>n einziehen können/wollen, so aktivieren Sie diese<br />
Option. Der Kun<strong>de</strong> kann dann bei <strong>de</strong>r Zahlungsmetho<strong>de</strong> seine Bankverbindung<br />
angeben.<br />
• Customer can select state/region: Ist diese Option aktiv, so stellt<br />
VirtueMart <strong>de</strong>m Kun<strong>de</strong>n ein Auswahlmenü zur Verfügung, über das er<br />
sein Land bestimmen kann.<br />
• Must agree to Terms of Service? Hier legen Sie fest, ob <strong>de</strong>r Kun<strong>de</strong> Ihren<br />
Geschäftsbedingungen zustimmen muss. Behalten Sie die Standar<strong>de</strong>instellung<br />
bei, die diese Option aktiviert.<br />
• Must agree Terms of Service on EVERY ORDER? Aktivieren Sie diese<br />
Option, so müssen wie<strong>de</strong>rkehren<strong>de</strong> Kun<strong>de</strong>n bei je<strong>de</strong>m Einkauf <strong>de</strong>n Geschäftsbedingungen<br />
zustimmen.<br />
• Show a short note about your “Return Policy” … : Aktivieren Sie diese<br />
Option, damit Sie Ihre Kun<strong>de</strong>n über Ihre Rücknahmebedingungen informieren<br />
können. Diese Bedingungen sind in Deutschland durch das<br />
Fernabsatzgesetz geregelt, das das Wi<strong>de</strong>rrufs- und Rückgaberecht für bestellte<br />
Waren von zwei Wochen ab Erhalt <strong>de</strong>r Lieferung vorsieht.<br />
• Legal information text (short version): Hier hinterlegen Sie die kurze<br />
Variante <strong>de</strong>r Return Policy. Diese wird auf <strong>de</strong>r letzten Seite angezeigt,<br />
und zwar oberhalb <strong>de</strong>s Buttons für die Bestätigung <strong>de</strong>r Bestellung.<br />
• Long version of the return policy: Hier legen Sie das Dokument fest, in<br />
<strong>de</strong>m die Wi<strong>de</strong>rspruchs- und Rückgabeinformationen enthalten sind. Sie<br />
müssen dazu ein neues Content-Item erstellen und die Informationen dort<br />
ablegen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
312 Online-Shop mit VirtueMart<br />
Den Abschluss bil<strong>de</strong>n die Core-Settings:<br />
• Check Stock? Wenn Sie diesen Schalter aktivieren, fragt VirtueMart <strong>de</strong>n<br />
Lagerbestand ab, ob die bestellte Ware auch verfügbar ist, bevor sie <strong>de</strong>m<br />
Warenkorb <strong>de</strong>s Kun<strong>de</strong>n hinzugefügt wird. Ist <strong>de</strong>r Schalter aktiviert, kann<br />
<strong>de</strong>r Kun<strong>de</strong> nicht mehr als verfügbare Einheiten eines Produkts or<strong>de</strong>rn.<br />
• Enable Affiliate Program? Mit diesem Schalter können Sie das Tracking<br />
eines Partner-Programms im Shop-Frontend aktivieren. Das setzt voraus,<br />
dass die Affiliate-Unterstützung im Backend aktiviert ist.<br />
• Or<strong>de</strong>r-mail format: Über dieses Auswahlmenü legen Sie fest, ob die Bestellbestätigung<br />
als reine Textdatei o<strong>de</strong>r als HTML-Mail versen<strong>de</strong>t wird.<br />
Prinzipiell sollten Sie die Textvariante vorziehen.<br />
• ENCODE KEY: Hier legen Sie <strong>de</strong>n Schlüssel fest, <strong>de</strong>r die Account-<br />
Daten wie Kontaktdaten, Kreditkartennummer etc. in <strong>de</strong>r Datenbank verschlüsselt.<br />
So sind diese Daten vor Dritten gesichert.<br />
• Allow Frontend-Administrator for non-Backend Users? Mit diesem<br />
Schalter können Sie die Shop-Administration an spezielle Shop-Admins<br />
<strong>de</strong>legieren, die dann aber keinen Zugriff auf das <strong>Joomla</strong>!-Backend haben.<br />
Den Abschluss <strong>de</strong>s Global-Registers bil<strong>de</strong>n die Core Settings.<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 313<br />
11.2.5 Pfad und URL<br />
Die Einstellungen <strong>de</strong>s Registers Path & URL fallen weit weniger umfangreich aus.<br />
Um genau zu sein, sind es gera<strong>de</strong> einmal eine Handvoll Einstellungen:<br />
• SECUREURL: Wenn Sie <strong>de</strong>n Zugriff auf Ihren Shop per SSL sichern<br />
(was Sie auf je<strong>de</strong>n Fall machen sollten), geben Sie hier <strong>de</strong>n Pfad zur gesicherten<br />
Site an. Der Pfad lautet dann beispielsweise<br />
https://server.<strong>de</strong>/joomla/. Wichtig ist <strong>de</strong>r abschließen<strong>de</strong> Schrägstrich.<br />
• Table Prefix for Shop Tables: Hier bestimmen Sie das Präfix Ihrer<br />
Shop-Tabellen, die dann in <strong>de</strong>r MySQL-Datenbank abgelegt wer<strong>de</strong>n. Der<br />
Standard lautet vm. Sie können aber auch je<strong>de</strong> an<strong>de</strong>re Bezeichnung verwen<strong>de</strong>n,<br />
auch shop. Sie fin<strong>de</strong>n die Tabellen bei einer Standardkonfiguration<br />
im data-Verzeichnis von MySQL. Mithilfe von phpMyAdmin können<br />
Sie die Daten einsehen.<br />
Die Pfad- und URL-Einstellungen <strong>de</strong>s Shopping-Systems.<br />
• HOMEPAGE: Hier legen Sie die Startseite Ihres Shops fest. Diese ist<br />
standardmäßig shop.in<strong>de</strong>x. Damit bestimmen Sie, welche Seite im Frontend,<br />
also auf Kun<strong>de</strong>nseite beim Zugriff auf <strong>de</strong>n Shop geöffnet wird.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
314 Online-Shop mit VirtueMart<br />
• ERRORPAGE: Hier legen Sie die Seite fest, die beim Auftreten von<br />
Fehlern angezeigt wird.<br />
• DEBUG?: Schließlich können Sie die Ausgabe von Debug-Meldungen<br />
am Seitenen<strong>de</strong> aktivieren. Diese Funktion kann Ihnen insbeson<strong>de</strong>re bei<br />
<strong>de</strong>r Shop-Entwicklung nützlich sein, um Fehlern auf <strong>de</strong>n Grund zu gehen.<br />
11.2.6 Design und Layout<br />
Beim Design und Layout greift VirtueMart auf die Funktionen <strong>de</strong>s Content-<br />
Managementsystems zurück. Konkret greift es auf die Stylesheets zurück.<br />
VirtueMart nutzt Standard-CSS-Klassen wie sectiontablehea<strong>de</strong>r,<br />
sectiontableentry1, sectiontableentry2 etc. Sie fin<strong>de</strong>n aber auch Reihen, die nicht<br />
durch CSS formatiert sind. Diese lassen sich beispielsweise durch die Site-<br />
Einstellungen, genauer über das Register Layout anpassen. Dazu weiter unten<br />
mehr.<br />
Die Darstellungseinstellung für Ihren Shop.<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 315<br />
Wenn Sie das Register Site öffnen, so präsentiert Ihnen VirtueMart zwei Register:<br />
Display und Layout. Über die Display-Einstellungen legen Sie beispielsweise das<br />
Kategorie-Template fest, über die Layout-Seite können Sie <strong>de</strong>n Warenkorbstil<br />
anpassen.<br />
Schauen wir uns zunächst die Einstellungen <strong>de</strong>s Registers Display an:<br />
• PDF-Button: Hier legen Sie fest, ob die typische Exportfunktion auf Ihren<br />
Shop-Seiten angezeigt wird, über die Ihre Kun<strong>de</strong>n Inhalte ins PDF-<br />
Format exportieren können. Ob das sinnvoll ist o<strong>de</strong>r nicht, muss im Einzelfall<br />
entschie<strong>de</strong>n wer<strong>de</strong>n. Einen Nutzen bringt es sicherlich bei Produktdatenblättern.<br />
• FLYPAGE: Dies ist die Standardseite für die Produkt<strong>de</strong>tails. Der Standar<strong>de</strong>intrag<br />
lautet shop.flypage. Sie können aber natürlich je<strong>de</strong> an<strong>de</strong>re Seite<br />
verwen<strong>de</strong>n.<br />
• Category Template: Hiermit bestimmen Sie das Standard-Template, das<br />
für die Präsentation <strong>de</strong>r Kategorien verwen<strong>de</strong>t wird. Sie können diese<br />
Vorlage natürlich anpassen. Sie fin<strong>de</strong>n Sie im Templates-Ordner.<br />
• Show Page Navigation at the Top of the Product: Mit diesem Schalter<br />
aktivieren Sie die Navigation oberhalb <strong>de</strong>r Produkte.<br />
• Default product sort or<strong>de</strong>r: Hier legen Sie die Reihenfolge <strong>de</strong>r Produkte<br />
fest. Standardmäßig erfolgt die Sortierung alphabetisch.<br />
• Available „Sort-by“ field: Ist Ihre Produktpalette umfangreich, so sollten<br />
Sie Ihren Benutzern die Möglichkeit geben, die Reihenfolge <strong>de</strong>r präsentierten<br />
Produkte zu än<strong>de</strong>rn. Über diese Schalter legen Sie die Kriterien<br />
fest, nach <strong>de</strong>nen die Ausgabe sortiert wer<strong>de</strong>n kann, also beispielsweise<br />
nach <strong>de</strong>m Preis.<br />
• Show number of products in a row: Hier bestimmen Sie die maximale<br />
Anzahl an Produkten in einer Reihe. Standardmäßig ist <strong>de</strong>r Wert 1. Sie<br />
sollten ihn nicht höher als 1 setzen, da die Seiten sonst unüberschaubar<br />
wer<strong>de</strong>n.<br />
• „no image“ image: Hier bestimmen Sie <strong>de</strong>n Pfad zu <strong>de</strong>r Grafik, die angezeigt<br />
wird, wenn für ein Produkt keine Abbildung verfügbar ist. Ersetzen<br />
Sie gegebenenfalls die Standard-No-Image-Grafik durch eine an<strong>de</strong>re.<br />
• Show footer: Standardmäßig zeigt ein mit VirtueMart realisierter Shop<br />
die Powered-by-VirtueMart-Grafik. Mit diesem Schalter können Sie die<br />
Ansicht auch <strong>de</strong>aktivieren.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
316 Online-Shop mit VirtueMart<br />
Schauen wir uns als Nächstes die Layout-Einstellungen an. Hier können Sie fünf<br />
Anpassungen vornehmen:<br />
• Add-to-Cart Button Style: Hier legen Sie fest, welchen Stil <strong>de</strong>r Einkaufswagen-Button<br />
besitzen soll. Sie können die Liste um eigene Stile<br />
erweitern, in<strong>de</strong>m Sie die Grafiken, die mit add-to-cart beginnen, in das<br />
Verzeichnis /components/com_virtuemart/shop/image/ps_image kopieren.<br />
• Enable Dynamic Thumbnail Resizing: Wenn Sie diese Option aktivieren,<br />
was standardmäßig nicht <strong>de</strong>r Fall ist, so wer<strong>de</strong>n die Grafiken auf die<br />
Größe angepasst, die durch die GD2-Funktion bestimmt wird (siehe System><br />
System Info> PHP Info).<br />
• Thumbnail Image Wight, Hight: Hier legen Sie die Breite und Höhe <strong>de</strong>r<br />
neuformatierten Thumbnails fest.<br />
• SEARCH COLOR 1/2: Mit Color 1 legen Sie die Farbe für die ungera<strong>de</strong>n<br />
und mit Color 2 die Farbe <strong>de</strong>r gera<strong>de</strong>n Reihen in <strong>de</strong>r Ergebnisliste<br />
fest.<br />
11.2.7 Zustelleigenschaften<br />
Es folgt die Konfiguration <strong>de</strong>r Zustelleigenschaften (Shipping). Hier legen Sie fest,<br />
welche Zustellmetho<strong>de</strong> Sie verwen<strong>de</strong>n wollen. Dabei wer<strong>de</strong>n Ihnen insbeson<strong>de</strong>re<br />
auch Metho<strong>de</strong>n von internationalen und nationalen Anbietern angeboten. Sie haben<br />
die Wahl zwischen folgen<strong>de</strong>n Metho<strong>de</strong>n, wobei Sie natürlich auch mehrere Anbieter<br />
nutzen können – je nach<strong>de</strong>m, wo Sie <strong>de</strong>n Shop betreiben und wo Ihre Kun<strong>de</strong>n<br />
sitzen:<br />
• Australia Post Shipping Module<br />
• Sell Online Shipping Module from Canada Post<br />
• Flex Shipping<br />
• InterShipper Module<br />
• Standard Shipping module<br />
• UPS Online Tools Shipping calculation<br />
• USPS Shipping module<br />
• Zone Shipping Module Country Version 1.0<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 317<br />
Wenn Sie über Ihren Shop reine Download-Produkte wie Software, Bil<strong>de</strong>r, Musik<br />
o<strong>de</strong>r Vergleichbares anbieten, können Sie die Shipping-Auswahl über <strong>de</strong>n Schalter<br />
Disable Shipping method selection auch vollständig <strong>de</strong>aktivieren. In diesem Fall<br />
wird <strong>de</strong>m Kun<strong>de</strong>n erst gar keine Zustellauswahl angeboten.<br />
Wenn Sie einen Shop in Deutschland betreiben und Ihre Produkte überwiegend<br />
über die Deutsche Post, <strong>de</strong>ren Tochter DHL o<strong>de</strong>r an<strong>de</strong>re Paketdienste verschicken,<br />
so sollten Sie sicherstellen, dass zumin<strong>de</strong>st das Standard-Shipping-Modul aktiviert<br />
ist. In diesem können Sie individuelle Kosten für die Zustellung Ihrer Produkte<br />
<strong>de</strong>finieren. Die Konfiguration erfolgt über das Menü Store> Shipping Module List<br />
(dazu später mehr).<br />
In <strong>de</strong>n Shipping-Einstellungen sollten Sie sicherstellen,<br />
dass zumin<strong>de</strong>st das Standardmodul aktiviert ist.<br />
11.2.8 Der Checkout-Vorgang<br />
Über das Register Checkout passen Sie <strong>de</strong>n Checkout-Vorgang an, also die Schritte,<br />
die Ihr Kun<strong>de</strong> ausführen muss, bis <strong>de</strong>r Verkaufsvorgang abgeschlossen ist.<br />
Zunächst legen Sie mit Check this, if you want the checkout-bar to be displayed …<br />
fest, ob eine Grafik <strong>de</strong>m Benutzer <strong>de</strong>n aktuellen und die bevorstehen<strong>de</strong>n Schritte<br />
anzeigt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
318 Online-Shop mit VirtueMart<br />
Über die Checkout-Einstellungen können Sie die Reihenfolge <strong>de</strong>r Schritte anpassen.<br />
Wenn Sie die Grafiken einblen<strong>de</strong>n lassen, wird <strong>de</strong>ren Anzahl und Reihenfolge<br />
entsprechend Ihrer Wahl angepasst.<br />
VirtueMart zeigt Ihnen standardmäßig an, welche Schritte<br />
für <strong>de</strong>n Abschluss <strong>de</strong>s Einkaufs noch anstehen.<br />
Der Standard-Checkout-Vorgang umfasst vier Schritte:<br />
1. Das Abfragen <strong>de</strong>r Adresse.<br />
2. Das Abfragen <strong>de</strong>r Versandmetho<strong>de</strong>.<br />
3. Das Abfragen <strong>de</strong>r Zahlungsmetho<strong>de</strong>.<br />
4. Den Abschluss <strong>de</strong>s Bestellvorgangs.<br />
Mit <strong>de</strong>n Alternativen Process 2, 3 und 4, die Ihnen das Checkout-Formular anbietet,<br />
können Sie die Anzahl <strong>de</strong>r Schritte auf zwei und drei herabsetzen. Mit Variante<br />
4 ist es beispielsweise mit <strong>de</strong>r Angabe <strong>de</strong>r Zahlungsmetho<strong>de</strong> und <strong>de</strong>m Abschluss<br />
<strong>de</strong>r Bestellung getan. Wichtig: Die hier gewählte Metho<strong>de</strong> wirkt Shopübergreifend,<br />
also für alle Bestellungen.<br />
11.2.9 Downloads über VirtueMart verkaufen<br />
Wie bereits oben erwähnt, können Sie mit VirtueMart auch reine Download-<br />
Produkte anbieten. Die dafür relevanten Funktionen fin<strong>de</strong>n Sie auf <strong>de</strong>m Register<br />
Downloads.<br />
www.brain-media.<strong>de</strong>
VirtueMart-Administration 319<br />
Die Einstellungen für Download-Angebote.<br />
Damit Sie die Download-Einstellungen nutzen können, müssen Sie die Unterstützung<br />
für Downloadangebote zunächst aktivieren. Dazu aktivieren Sie die Option<br />
Enable Downloads. Ihnen stehen fünf weitere Einstellungen zur Verfügung:<br />
• Or<strong>de</strong>r Status which enables download: Über dieses Auswahlmenü bestimmen<br />
Sie <strong>de</strong>n Bestellstatus, bei <strong>de</strong>m <strong>de</strong>r Kun<strong>de</strong> per E-Mail über <strong>de</strong>n<br />
bereitstehen<strong>de</strong>n Download aktiviert wird. Standardmäßig wird <strong>de</strong>r Download<br />
freigegeben, wenn die Bestellung bestätigt wur<strong>de</strong>.<br />
• Or<strong>de</strong>r Status which disables downloads: Entsprechend können Sie die<br />
Verfügbarkeit eines Download-Angebots auch wie<strong>de</strong>r <strong>de</strong>aktivieren. Dies<br />
ist in <strong>de</strong>r Regel bei Bestellungen gewünscht, die storniert (cancelled)<br />
wur<strong>de</strong>n.<br />
• DOWNLOADROOT: Hier legen Sie <strong>de</strong>n Pfad zum Download-<br />
Verzeichnis fest. Wo immer es möglich ist, sollten Sie <strong>de</strong>n Pfad außerhalb<br />
<strong>de</strong>s Web-Root-Verzeichnisses legen. So nehmen Sie potenziellen Angreifern<br />
ein Angriffsziel. Sorgen Sie aber dafür, dass die Kun<strong>de</strong>n lediglich<br />
Dateien herunterla<strong>de</strong>n, nicht aber in das Verzeichnis schreiben dürfen.<br />
Wichtig ist außer<strong>de</strong>m <strong>de</strong>r abschließen<strong>de</strong> Schrägstrich am En<strong>de</strong> <strong>de</strong>r Verzeichnisangabe.<br />
• Download Maximum: Hier legen Sie fest, wie oft Ihr Kun<strong>de</strong> die erworbene<br />
Datei herunterla<strong>de</strong>n darf. In <strong>de</strong>r Regel kommen Sie mit <strong>de</strong>r Standar<strong>de</strong>instellung<br />
3 Downloads gut aus.<br />
• Download Expire: Im letzten Download-spezifischen Eingabefeld bestimmen<br />
Sie die Verfügbarkeit <strong>de</strong>s Downloads. Sie bestimmen die Zeitspanne<br />
in Sekun<strong>de</strong>n, die <strong>de</strong>r Kun<strong>de</strong> die Datei herunterla<strong>de</strong>n kann. Die Uhr<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
320 Online-Shop mit VirtueMart<br />
läuft nach <strong>de</strong>m ersten Download. Der Standardwert 432000 sorgt dafür,<br />
dass die Download-ID fünf Tage gültig ist.<br />
11.3 Shop-Einstellungen<br />
Nach<strong>de</strong>m Sie sich ein wenig mit <strong>de</strong>r Shop-Administration und <strong>de</strong>ren wichtigsten<br />
Funktionen vertraut gemacht haben, können Sie sich als Nächstes Ihrem Shop<br />
widmen. Die typische Vorgehensweise: Zunächst richten Sie <strong>de</strong>n Shop mit seinen<br />
Eigenschaften ein, dann wer<strong>de</strong>n die Produkte in die Datenbank eingetragen, dann<br />
die steuerlichen Fragen geklärt und die Zustelleinstellungen <strong>de</strong>finiert. Wenn Sie<br />
Ihre Produkte (teilweise) von einem Hersteller beziehen, können Sie auch diese in<br />
Ihrem Shop abbil<strong>de</strong>n.<br />
Die allgemeinen Shop-Einstellungen.<br />
www.brain-media.<strong>de</strong>
Shop-Einstellungen 321<br />
11.3.1 Die allgemeinen Shop-Einstellungen<br />
Die Einstellungen Ihres Online-Shops sind über das Menü Store verfügbar, über<br />
das Sie verschie<strong>de</strong>ne Eigenschaften bestimmen, die Zahlungsmetho<strong>de</strong>n bearbeiten,<br />
die Zustellmöglichkeiten anpassen und die Kreditkartenunterstützung aktivieren.<br />
Die Shop-Einstellungen bearbeiten Sie über das Icon Edit Store o<strong>de</strong>r aber Sie führen<br />
<strong>de</strong>n Menübefehl Store> Edit Store aus. Das Formular Store Information nimmt<br />
über drei Register die wichtigsten Daten <strong>de</strong>s Online-Shops entgegen.<br />
Auf <strong>de</strong>m Register Store <strong>de</strong>finieren Sie das Shop-Logo. Diese Angabe ist zwingend<br />
erfor<strong>de</strong>rlich. Über das Upload-Feld kann man eine lokal gespeicherte Grafik einfach<br />
auf <strong>de</strong>n Server übertragen. Unter Currency bestimmt man die Standardwährung,<br />
beispielsweise EUR o<strong>de</strong>r Dollar. Über die bei<strong>de</strong>n folgen<strong>de</strong>n Fel<strong>de</strong>r bestimmt<br />
man <strong>de</strong>n Min<strong>de</strong>stbestellwert und <strong>de</strong>n Warenwert, ab <strong>de</strong>m <strong>de</strong>r Versand kostenfrei<br />
erfolgt.<br />
Durch eine horizontale Linie getrennt folgen verschie<strong>de</strong>ne Stil-spezifische Einstellungen,<br />
mit <strong>de</strong>nen man beispielsweise bestimmt, ob man <strong>de</strong>r Euro-Symbol für die<br />
Währungsangaben verwen<strong>de</strong>t o<strong>de</strong>r einfach EUR. Außer<strong>de</strong>m können Sie Separatoren<br />
für Tausen<strong>de</strong>rbeträge bestimmen.<br />
Nicht min<strong>de</strong>r wichtig sind die Shop-Beschreibung sowie das Textfeld für die allgemeinen<br />
Geschäftsbedingungen. Bei<strong>de</strong> hinterlegt man in <strong>de</strong>n Fel<strong>de</strong>rn Description<br />
und Terms of Service. Bei<strong>de</strong> Fel<strong>de</strong>r stellen einen einfachen Web-basierten HTML-<br />
Editor zur Verfügung, mit <strong>de</strong>m man alle gängigen Formatierungen verwen<strong>de</strong>n<br />
kann. Der Editor erlaubt auch das Einfügen von Bil<strong>de</strong>rn, Links und Tabellen.<br />
Auf <strong>de</strong>m zweiten Register Store Information hinterlegt man Shop-Bezeichnung,<br />
Firmennamen, URL, Postanschrift und Telefonnummer. Erfor<strong>de</strong>rlich sind <strong>de</strong>r<br />
Shop- und <strong>de</strong>r Firmenname. Die an<strong>de</strong>ren Angaben sind optional.<br />
Die Shop-Informationen umfassen ein weiteres Formular: Über das Register Contact<br />
Information bestimmen Sie schließlich die Kontaktinformationen, die über die<br />
Shop-Site verfügbar sind. Nach einem Klick auf Save sind die Daten gespeichert.<br />
11.3.2 Bitte zahlen<br />
Über das Store-Menü bestimmen Sie auch, welche Zahlungsmetho<strong>de</strong>n die Kun<strong>de</strong>n<br />
nutzen können. Sie fin<strong>de</strong>n über das Menü Store> List Payment Methods die Liste<br />
<strong>de</strong>r bereits verfügbaren Zahlungsmetho<strong>de</strong>n. Hier können Sie die Standar<strong>de</strong>instellungen<br />
auf Ihren Shop anpassen. Die meisten vor<strong>de</strong>finierten Einstellungen wer<strong>de</strong>n<br />
vermutlich nicht für Sie interessant sein. Wir wollen uns hier lediglich zwei Metho<strong>de</strong>n<br />
anschauen, die gängig sind. Die verfügbaren Zahlungsmetho<strong>de</strong>n können<br />
dann auf Kun<strong>de</strong>nseite beim Bestellvorgang ausgewählt wer<strong>de</strong>n. Über Store> Add<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
322 Online-Shop mit VirtueMart<br />
Payment Method können Sie außer<strong>de</strong>m eine benutzer<strong>de</strong>finierte Zahlungsmetho<strong>de</strong><br />
erstellen.<br />
Sie sollten beachten, dass die verfügbaren Anpassungen beim Editieren von Zahlungsmetho<strong>de</strong><br />
zu Zahlungsmetho<strong>de</strong> unterschiedlich sind. Das hat mit <strong>de</strong>n verschie<strong>de</strong>nen<br />
Diensten und <strong>de</strong>ren Anfor<strong>de</strong>rungen an die Datenübermittlung bzw. <strong>de</strong>n<br />
Datenaustausch zwischen Online-Shop und Abrechnungsstelle zu tun.<br />
Ein Blick auf die Liste <strong>de</strong>r Zahlungsmetho<strong>de</strong>n. Beeindruckend,<br />
wie viele Anbieter bereits vorkonfiguriert sind.<br />
Beim ersten Öffnen <strong>de</strong>r Zahlungsmetho<strong>de</strong>nliste stellen Sie fest, dass diese eine<br />
beachtliche Anzahl an vor<strong>de</strong>finierten Einträgen aufweist. Sie reicht von verschie<strong>de</strong>nen<br />
Kreditkartenabrechnungsanbietern über PayPal bis hin zu „normalen“ Bestellungen<br />
auf Rechnungen o<strong>de</strong>r per Nachnahme.<br />
www.brain-media.<strong>de</strong>
Shop-Einstellungen 323<br />
In <strong>de</strong>r Liste <strong>de</strong>r Zahlungsmetho<strong>de</strong>n fin<strong>de</strong>n Sie neben <strong>de</strong>r Metho<strong>de</strong>nbezeichnung<br />
<strong>de</strong>n zugehörigen Co<strong>de</strong>, die Rabatt-/Skontoangabe, die Zugehörigkeit zu einer Einkäufergruppe,<br />
eine allgemeine Information sowie <strong>de</strong>ren Status. Einen Eintrag editieren<br />
Sie, in <strong>de</strong>m Sie auf seine Bezeichnung klicken.<br />
Schauen wir uns zwei Zahlungsmetho<strong>de</strong>n genauer an. Editieren wir zunächst <strong>de</strong>n<br />
gängigen PayPal-Diensteintrag. Diese Metho<strong>de</strong> weist, wie auch alle an<strong>de</strong>ren, zwei<br />
Register auf: General und Configuration.<br />
Die allgemeinen Einstellungen <strong>de</strong>r PayPal-Zahlungsmetho<strong>de</strong>.<br />
Auf <strong>de</strong>m Register General stehen Ihnen folgen<strong>de</strong> Einstellungen zur Verfügung:<br />
• Active?: Hier legen Sie fest, ob das Modul aktiviert ist o<strong>de</strong>r nicht. Wenn<br />
Sie es nicht benötigen, sollten Sie es <strong>de</strong>aktivieren.<br />
• Payment Method Name: In diesem Textfeld hinterlegen Sie die Bezeichnung<br />
<strong>de</strong>r Metho<strong>de</strong>. Sie können gegebenenfalls Bezeichnungen än<strong>de</strong>rn.<br />
• Co<strong>de</strong>: Hier fin<strong>de</strong>n Sie eine Art ID, die die Zahlungsmetho<strong>de</strong> ein<strong>de</strong>utig<br />
i<strong>de</strong>ntifizierbar macht. Im Falle <strong>de</strong>r PayPal-Kompente ist das PP.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
324 Online-Shop mit VirtueMart<br />
• Payment Class Name: Hier wird die Klasse <strong>de</strong>r Zahlungsmetho<strong>de</strong> angezeigt.<br />
Diese beginnen standardmäßig mit ps, beispielsweise ps_bankname.<br />
Im Falle <strong>de</strong>r PayPal-Komponente lautet <strong>de</strong>r Eintrag ps_paypal. Wenn Sie<br />
eine neue Metho<strong>de</strong> erstellen und die Klasse nicht kennen, sollten Sie das<br />
Feld einfach frei lassen.<br />
• Payment method type: Hier legen Sie die Zahlungsmetho<strong>de</strong> fest. Sie haben<br />
die Wahl zwischen folgen<strong>de</strong>n Typen:<br />
o<br />
o<br />
o<br />
o<br />
o<br />
Kreditkarte<br />
Zahlungsprozessor<br />
Lastschrifteinzug<br />
Auf Rechnung<br />
PayPal<br />
• Shopper Group: Sie müssen die Zahlungsmetho<strong>de</strong> außer<strong>de</strong>m einer Kun<strong>de</strong>ngruppe<br />
zuweisen. Dazu müssen Sie über das Menü Shopper allerdings<br />
zuerst eine Gruppe erstellen. Mit dieser Funktion können Sie unterschiedliche<br />
Kun<strong>de</strong>ngruppen erstellen und in diesen Ihre Kun<strong>de</strong>n verwalten. Sie<br />
können diese Einteilung nutzen, um spezielle Angebote für beson<strong>de</strong>rs gute<br />
Kun<strong>de</strong>n, Händler o<strong>de</strong>r Multiplikatoren zu <strong>de</strong>finieren. Wichtig ist allerdings,<br />
dass Sie vorher noch über das Menü Vendor einen Lieferanten <strong>de</strong>finieren,<br />
da je<strong>de</strong> Shopper Group mit einem Lieferanten verknüpft ist.<br />
Problematisch dabei ist lediglich, dass VirtueMart bislang nicht mit mehreren<br />
Lieferanten umgehen kann.<br />
• Discount: Hier legen Sie <strong>de</strong>n Rabatt bei dieser Zahlungsmetho<strong>de</strong> fest. Sie<br />
könnten beispielsweise beim Bankeinzug 2 Prozent Skonto einrichten.<br />
• List Or<strong>de</strong>r: Dieser Schalter soll die Position in <strong>de</strong>r Liste <strong>de</strong>finieren. Das<br />
funktioniert allerdings nicht korrekt.<br />
www.brain-media.<strong>de</strong>
Shop-Einstellungen 325<br />
Die Konfiguration <strong>de</strong>r PayPal-Zahlungsmetho<strong>de</strong>.<br />
Eine Beson<strong>de</strong>rheit <strong>de</strong>r PayPal-Zahlungsmetho<strong>de</strong> ist, dass sie die automatische<br />
Aktualisierung <strong>de</strong>s Bestellstatus erlaubt. Dabei kommt das Skript notify.php zum<br />
Einsatz, das Sie im <strong>Joomla</strong>!-Verzeichnis /administrator/components/com<br />
_virtuemart/ fin<strong>de</strong>n. Sie müssen über die PayPal-Systemsteuerung <strong>de</strong>n korrekten<br />
URL <strong>de</strong>s Skripts angeben, damit die Aktualisierung <strong>de</strong>r Daten klappt. Been<strong>de</strong>t ein<br />
Kun<strong>de</strong> <strong>de</strong>n Zahlungsvorgang, stellt <strong>de</strong>r PayPal-Server eine Verbindung zu <strong>de</strong>m<br />
Skript Ihrer Installation her. Sind die Transaktion und die Zahlung erfolgreich<br />
been<strong>de</strong>t, wird <strong>de</strong>r Bestellstatus automatisch aktualisiert. Einfacher geht es also<br />
kaum.<br />
Beachten Sie, dass bei an<strong>de</strong>ren Anbietern an<strong>de</strong>re Aktualisierungs- und Hinweisfunktionen<br />
zum Einsatz kommen können. Die automatische Zahlungsbestätigung<br />
von PayPal wird auch als IPN (Instant Payment Notification) bezeichnet.<br />
Über das Register Configuration stehen Ihnen weitere Anpassungsmöglichkeiten<br />
zur Verfügung:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
326 Online-Shop mit VirtueMart<br />
• Test mo<strong>de</strong>: Wenn Sie diesen Schalter auf Yes setzen, so können Sie die<br />
Konfiguration Ihres Notify-Skripts testen. Dazu klicken Sie einfach auf<br />
<strong>de</strong>n angezeigten Link, geben in <strong>de</strong>m zugehörigen Testformular die relevanten<br />
Daten (insbeson<strong>de</strong>re <strong>de</strong>n Pfad) an und führen einen Test durch.<br />
• PayPay payment email: In diesem Textfeld hinterlegen Sie Ihre E-Mail-<br />
Adresse für PayPal-Zahlungen.<br />
• Or<strong>de</strong>r Status for successful transactions: Hier bestimmen Sie <strong>de</strong>n Bestellstatus<br />
für erfolgreiche Transaktionen. Bei Download-Angeboten wählen<br />
Sie <strong>de</strong>n Status aus, <strong>de</strong>r <strong>de</strong>n Download freigibt. Dann wird <strong>de</strong>r Kun<strong>de</strong><br />
direkt per E-Mail darüber informiert, dass <strong>de</strong>r Download-Link verfügbar<br />
ist.<br />
• Or<strong>de</strong>r Status for Pending Payments: Über dieses Auswahlmenü bestimmen<br />
Sie <strong>de</strong>n Bestellstatus für Bestellungen, bei <strong>de</strong>nen die Zahlung<br />
noch nicht abgeschlossen ist. Wenn Sie die Option Pending wählen, wartet<br />
das System auf <strong>de</strong>n Abschluss.<br />
• Accept only verified buyers? Hier bestimmen Sie, ob lediglich Bestellungen<br />
von verfizierten PayPal-Anwen<strong>de</strong>rn akzeptiert wer<strong>de</strong>n o<strong>de</strong>r nicht.<br />
Hat <strong>de</strong>r Kun<strong>de</strong> seinen PayPal-Account nicht verifiziert, wird die Zahlung<br />
zwar abgewickelt, PayPal übernimmt aber keine vollständige Garantie für<br />
die Gültigkeit <strong>de</strong>s Einkaufs.<br />
• Or<strong>de</strong>r Status for failed transactions: Schließlich bestimmen Sie <strong>de</strong>n<br />
Bestellstatus für fehlgeschlagene Bestellungen.<br />
In <strong>de</strong>m letzten Textfeld können Sie Daten <strong>de</strong>finierten, die auf <strong>de</strong>r Bestätigungsseite<br />
erscheinen, mit <strong>de</strong>r Ihre Kun<strong>de</strong>n <strong>de</strong>n Kauf abschließt. Es kann sich dabei beispielsweise<br />
um ein HTML-Formular han<strong>de</strong>ln, Hinweise für Ihren Kun<strong>de</strong>n und<br />
<strong>de</strong>rgleichen mehr. Der Co<strong>de</strong> wird Ihnen in <strong>de</strong>r Regel von Ihrem Anbieter vorgegeben.<br />
Im Falle von PayPal sieht er standardmäßig wie folgt aus:<br />
Shop-Einstellungen 327<br />
"business" => PAYPAL_EMAIL,<br />
"receiver_email" => PAYPAL_EMAIL,<br />
"item_name" => $VM_LANG->_PHPSHOP_ORDER_PRINT_PO_NUMBER.": ".<br />
$db->f("or<strong>de</strong>r_id"),<br />
"or<strong>de</strong>r_id" => $db->f("or<strong>de</strong>r_id"),<br />
"invoice" => $db->f("or<strong>de</strong>r_number"),<br />
"amount" => round( $db->f("or<strong>de</strong>r_subtotal")+$tax_total-<br />
$discount_total, 2),<br />
"shipping" => sprintf("%.2f", $db->f("or<strong>de</strong>r_shipping")),<br />
"currency_co<strong>de</strong>" => $_SESSION['vendor_currency'],<br />
"image_url" => $vendor_image_url,<br />
"return" => SECUREURL<br />
."in<strong>de</strong>x.php?option=com_virtuemart&page=checkout.result&or<strong>de</strong>r_<br />
id=".$db->f("or<strong>de</strong>r_id"),<br />
"notify_url" => SECUREURL<br />
."administrator/components/com_virtuemart/notify.php",<br />
"cancel_return" => SECUREURL ."in<strong>de</strong>x.php",<br />
"un<strong>de</strong>fined_quantity" => "0",<br />
"test_ipn" => PAYPAL_DEBUG,<br />
"pal" => "NRUBJXESJTY24",<br />
"no_shipping" => "1",<br />
"no_note" => "1"<br />
);<br />
if( $page == "checkout.thankyou" ) {<br />
$query_string = "?";<br />
foreach( $post_variables as $name => $value ) {<br />
$query_string .= $name. "=" . urlenco<strong>de</strong>($value) ."&";<br />
}<br />
mosRedirect( $url . $query_string );<br />
} else {<br />
echo '';<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
328 Online-Shop mit VirtueMart<br />
echo '';<br />
foreach( $post_variables as $name => $value ) {<br />
echo '';<br />
}<br />
echo '';<br />
}<br />
?><br />
Schauen wir uns noch eine weitere Zahlungsmetho<strong>de</strong> an. Angenommen, Sie wollen<br />
guten Kun<strong>de</strong>n, die bereits mehrfach bei Ihnen eingekauft haben, die Zahlung per<br />
Rechnung ermöglichen, so sollten Sie zunächst eine entsprechen<strong>de</strong> Gruppe erstellen<br />
und diese beispielsweise mit Gute_Kun<strong>de</strong>n bezeichnen. Als Nächstes führen<br />
Sie <strong>de</strong>n Befehl Store> Add Payment Method aus. Auf <strong>de</strong>m Formular Payment<br />
Method Form aktivieren Sie die Zahlungsmetho<strong>de</strong>, weisen ihr eine Bezeichnung zu<br />
(beispielsweise Auf Rechnung). Als Zahlungsmetho<strong>de</strong> wählen Sie Address<br />
only/Cash on Delivery. Ein Rabatt ist bei Rechnungsstellung in <strong>de</strong>r Regel nicht<br />
erfor<strong>de</strong>rlich. Speichern Sie die Metho<strong>de</strong> mit einem Klick auf Save. In <strong>de</strong>r Liste <strong>de</strong>r<br />
Zahlungsmetho<strong>de</strong>n sollten Sie die nicht benötigten <strong>de</strong>r Übersichtlichkeit halber<br />
entfernen.<br />
11.3.3 Zustellung<br />
Mit <strong>de</strong>m Shipping-Modul, das ebenfalls über das Menü Store verfügbar ist, bestimmen<br />
Sie, wer und zu welchen Konditionen <strong>de</strong>n Versand Ihrer Produkte übernimmt.<br />
Über Store> Shipping Module List greifen Sie auf die bereits erwähnte<br />
Liste <strong>de</strong>r möglichen Versen<strong>de</strong>r zu. Wenn Sie Ihre Produkte beispielsweise per UPS<br />
versen<strong>de</strong>n, müssen Sie das UPS-Modul bearbeiten: wenn Sie DHL verwen<strong>de</strong>n,<br />
sind die Funktionen <strong>de</strong>s Standard-Moduls gefragt.<br />
Mit <strong>de</strong>n Funktionen dieses Moduls können Sie für unterschiedliche Gewichte verschie<strong>de</strong>ne<br />
Preise hinterlegen, die dann beim Einkauf <strong>de</strong>r Waren addiert wer<strong>de</strong>n.<br />
www.brain-media.<strong>de</strong>
Shop-Einstellungen 329<br />
Am einfachsten ist es natürlich, wenn Sie nur einen Standardbetrag <strong>de</strong>finieren<br />
müssen, doch bei welchem Online-Shop geht das schon?<br />
Befin<strong>de</strong>t sich <strong>de</strong>r Zustelldienst nicht in <strong>de</strong>r Liste <strong>de</strong>r vor<strong>de</strong>finierten Anbieter, so ist<br />
auch das kein Problem, <strong>de</strong>nn Sie können über das Menü Shipping neue Dienstleister<br />
mit spezifischen Gebühren anlegen.<br />
Abhängig von Ihrem Warenangebot versen<strong>de</strong>n Sie vermutlich auch Produkte mit<br />
<strong>de</strong>r Deutschen Post. Anhand dieses Anbieters wollen wir zeigen, wie Sie mit <strong>de</strong>m<br />
Shipping-Menü und dann mit <strong>de</strong>m Shipping-Modul arbeiten.<br />
Zunächst wechseln Sie zum Menü Shipping und führen <strong>de</strong>n Befehl Create Shipper<br />
aus. In <strong>de</strong>m zugehörigen Formular geben Sie die Bezeichnung und die Reihenfolge<br />
in <strong>de</strong>r Liste an. Speichern Sie <strong>de</strong>n Eintrag mit einem Klick auf Save. Anschließend<br />
präsentiert Ihnen VirtueMart die Shipper-Liste.<br />
Hier erstellen Sie einen neuen Versandkostenposten.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
330 Online-Shop mit VirtueMart<br />
Als Nächstes gilt es, einen ersten Versandkostenposten zu <strong>de</strong>finieren. Dazu führen<br />
Sie <strong>de</strong>n Befehl Shipping> Create a Shipping Rate aus. Voranstehen<strong>de</strong> Abbildung<br />
zeigt das zugehörige Formular. In diesem hinterlegen Sie zunächst eine Bezeichnung<br />
(Shipping Rate Description), bestimmen die Reihenfolge in <strong>de</strong>r Liste (List<br />
Or<strong>de</strong>r) und weisen <strong>de</strong>n Posten einem Versanddienstleister (Shipper) zu<br />
Über das Auswahlmenü Country bestimmen Sie das Zielland, für das <strong>de</strong>r Versandkostenanteil<br />
gelten soll. Wenn Sie <strong>de</strong>n Versandkostenanteil mehreren Län<strong>de</strong>rn<br />
zuordnen wollen, so halten Sie die Strg-Taste gedrückt und markieren <strong>de</strong>r Reihe<br />
nach die gewünschten Einträge.<br />
Mit <strong>de</strong>n bei<strong>de</strong>n Textfel<strong>de</strong>rn ZIP range start und ZIP range end bestimmen Sie <strong>de</strong>n<br />
Postleitzahlenbereich, für <strong>de</strong>n <strong>de</strong>r Versandpreis gelten soll. Beim Versand in<br />
Deutschland o<strong>de</strong>r Europa ist diese Einstellung irrelevant. Interessant kann Sie<br />
wer<strong>de</strong>n, wenn sie Ihre Produkte etwa mit einer Spedition zustellen.<br />
Über die bei<strong>de</strong>n folgen<strong>de</strong>n Eingabefel<strong>de</strong>r Lowest Weight und Highest Weight bestimmen<br />
Sie das minimale und das maximale Gewicht für diesen Eintrag. Schließlich<br />
bestimmen Sie mit <strong>de</strong>n folgen<strong>de</strong>n vier Einstellungen die Kosten (Fee), die<br />
Währung (Currency) und <strong>de</strong>n Steuersatz (VAT ID). Zu <strong>de</strong>m Steuersatz ist anzumerken,<br />
dass auch dieser erst erstellt wer<strong>de</strong>n muss. Dazu verwen<strong>de</strong>n Sie das<br />
VirtueMart-Menü Tax und erstellen über Add Tax Rate einen entsprechen<strong>de</strong>n Steuersatz.<br />
Das zugehörige Formular ist so einfach, dass Sie eigentlich nichts falsch<br />
machen können. Wählen Sie das Land und gegebenenfalls die Region aus. In das<br />
Textfeld Taxe Rate geben Sie <strong>de</strong>n Steuersatz ein. Für einen Steuersatz von 7,16<br />
o<strong>de</strong>r 19 Prozent lauten die Eingaben 0.07, 0.16 bzw. 0.19. Mit Save speichern Sie<br />
die Einstellungen. Ihre neuen Zustellmöglichkeiten wer<strong>de</strong>n standardmäßig <strong>de</strong>m<br />
Standardversandmodul zugewiesen.<br />
Nach<strong>de</strong>m Sie <strong>de</strong>n neuen Lieferanten, die Versandkosten und die Steuern erstellt<br />
haben, stehen Ihnen die neuen Einstellungen zur Verfügung und können natürlich<br />
auch auf Kun<strong>de</strong>nseite genutzt wer<strong>de</strong>n.<br />
11.3.4 Welche Kreditkarte soll es sein?<br />
Eine weitere Funktion hat die Shop-Verwaltung zu bieten: die Kreditkartenverwaltung.<br />
Im Internet ist die Kreditkarte eines <strong>de</strong>r wichtigsten, weil bequemsten Zahlungsmittel.<br />
Über das Menü Store> Credit Card List greifen Sie auf die Liste <strong>de</strong>r<br />
unterstützten Kreditkartenanbieter zu. Weitere Anpassungen sieht dieses Modul<br />
nicht vor. Sie können lediglich einen neuen Typ hinzufügen, was aber meist nicht<br />
erfor<strong>de</strong>rlich ist, da bereits in <strong>de</strong>r Standardliste alle relevanten Anbieter aufgeführt<br />
sind.<br />
www.brain-media.<strong>de</strong>
Käufergruppen, Hersteller und Lieferanten 331<br />
Die Liste <strong>de</strong>r Kreditkarten, die Ihr Online-Shop unterstützt.<br />
11.4 Käufergruppen, Hersteller und Lieferanten<br />
Für Ihren Online-Shop sind drei Gruppen von beson<strong>de</strong>rer Be<strong>de</strong>utung. Da ist zunächst<br />
einmal Ihre wichtigste Gruppe: die Käufer. Wie bereits oben erwähnt, können<br />
Sie Ihre Käufer in Gruppen zusammenfassen. Das vereinfacht insbeson<strong>de</strong>re<br />
das Zuweisen von Rabatten, wenn Sie also beispielsweise Händlern o<strong>de</strong>r beson<strong>de</strong>rs<br />
guten Kun<strong>de</strong>n einen Rabatt einräumen wollen. Die entsprechen<strong>de</strong>n Einstellungen<br />
sind über das VirtueMart-Menü Shopper verfügbar, über das Sie wie gewohnt die<br />
Liste <strong>de</strong>r bereits erstellten Kun<strong>de</strong>ngruppen einsehen und neue Gruppen erstellen<br />
können.<br />
Das Erstellen einer neuen Kun<strong>de</strong>ngruppe ist einfach: Öffnen Sie die Gruppenliste<br />
und klicken Sie auf New. Alternativ führen Sie <strong>de</strong>n Befehl Shopper> Add Shopper<br />
Group aus. Auf <strong>de</strong>m zugehörigen Formular stehen Ihnen folgen<strong>de</strong> Funktionen zur<br />
Verfügung:<br />
• Default: Hier legen Sie fest, ob diese Käufergruppe Ihre Standardgruppe<br />
ist, also die, <strong>de</strong>ren Mitglie<strong>de</strong>r überwiegend bei Ihnen einkaufen.<br />
• Group Name: In diesem Textfeld bestimmen Sie <strong>de</strong>n Gruppennamen. Sie<br />
könnten beispielsweise die Begriffe Gold-Kun<strong>de</strong>n, Multiplikatoren, Press<br />
etc. verwen<strong>de</strong>n.<br />
• Vendor: Hier wird <strong>de</strong>r Lieferant aufgeführt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
332 Online-Shop mit VirtueMart<br />
• Show Prices including tax: Hier legen Sie fest, ob die Preise einschließlich<br />
<strong>de</strong>r Mehrwertsteuer aufgeführt wer<strong>de</strong>n.<br />
• Price Discount on <strong>de</strong>fault Shopper Group (in %): Ist einem Produkt zu<br />
dieser Käufergruppe kein Preis zugeordnet, so wird <strong>de</strong>r Standardpreis um<br />
<strong>de</strong>n hier angegebenen Wert in Prozenten gesenkt – vorausgesetzt, Sie<br />
verwen<strong>de</strong>n einen positiven Wert. Bei einem negativen Werten erhöht sich<br />
<strong>de</strong>r Preis um <strong>de</strong>n angegebenen Prozentsatz.<br />
• Description: Hier hinterlegen Sie eine Beschreibung <strong>de</strong>r Gruppe. Über<br />
<strong>de</strong>n Editor können Sie typische Formatierungen verwen<strong>de</strong>n.<br />
Die Definition einer Käufergruppe.<br />
Schauen wir uns noch an, wie man Hersteller und Lieferanten einführt. Um einen<br />
Hersteller zu <strong>de</strong>finieren, von <strong>de</strong>m man Produkte bezieht, führen Sie <strong>de</strong>n Befehl<br />
Manufacturer> Add Manufacturer aus. Im zugehörigen Formular hinterlegen Sie<br />
<strong>de</strong>n Herstellernamen, weisen diesen eine Herstellerkategorie zu und fügen eine<br />
Beschreibung ein.<br />
Beim Aufbau eines Shops muss man nicht zwingend zuerst die Hersteller und<br />
Lieferanten <strong>de</strong>finieren, son<strong>de</strong>rn kann sich auch zuerst <strong>de</strong>m Produktkatalog widmen<br />
und Produkte später Herstellern und Lieferanten zuordnen. Allerdings sparen Sie<br />
sich meist Arbeit, wenn Sie <strong>de</strong>n logischen Weg einschlagen.<br />
www.brain-media.<strong>de</strong>
Produkte verwalten 333<br />
Wie Sie es von Content-Elementen kennen, können Sie auch innerhalb <strong>de</strong>r Shop-<br />
Verwaltung Herstellerkategorien erzeugen. Wissen sollte man nur, dass man Kategorien<br />
nur dann löschen kann, wenn alle Einträge zuvor entfernt wur<strong>de</strong>n. Ähnliches<br />
gilt auch für Hersteller: Hersteller können nur dann aus <strong>de</strong>r Herstellerverwaltung<br />
entfernt wer<strong>de</strong>n, wenn es keine Produkte gibt, die ihnen zugeordnet sind.<br />
Darauf kommen wir im Abschnitt Produktverwaltung noch zu sprechen.<br />
Das Erstellen und Verwalten von Lieferanten ist ebenfalls <strong>de</strong>nkbar einfach. Über<br />
Vendor> Add Vendor erzeugen Sie diese und hinterlegen typische Informationen<br />
wie Kontaktinformationen, Logo etc. Auch in <strong>de</strong>r Lieferantenverwaltung können<br />
Kategorien eingeführt wer<strong>de</strong>n.<br />
11.5 Produkte verwalten<br />
VirtueMart besitzt eine ausgesprochen flexible Produktverwaltung. In ihr kann<br />
man beliebig viele Produkte erstellen, Produktkategorien erzeugen und nahezu<br />
beliebige Detailinformationen und Bil<strong>de</strong>r nutzen. Während das Erzeugen von Herstellern<br />
für die Produktverwaltung nicht zwingend ist, muss vor <strong>de</strong>m Erzeugen von<br />
Produkten zumin<strong>de</strong>st ein Lieferant über das Menü Vendor <strong>de</strong>finiert sein. Bevor Sie<br />
sich an das Erstellen von Produkteinträgen machen, sollten Sie zunächst eine sinnvolle<br />
Struktur <strong>de</strong>finieren, nach <strong>de</strong>r Sie Ihre Produkte kategorisieren wollen – zumin<strong>de</strong>st<br />
wenn Sie mehr als zwei Dutzend Produkte unterschiedlichen Typs anbieten.<br />
Alle Produkt-spezifischen Funktionen sind über das Menü Products verfügbar.<br />
Über dieses Menü können Sie insbeson<strong>de</strong>re bestehen<strong>de</strong> kommaseparierte Produktdaten<br />
importieren, die Produktliste aufrufen, neue Produkte erzeugen und mit <strong>de</strong>m<br />
Dateimanager Bildmaterial verwalten.<br />
Erzeugen wir also zunächst eine Produktkategorie. Dazu führt man <strong>de</strong>n Befehl<br />
Products> Add Category aus. Im zugehörigen Dialog bezeichnen Sie die Kategorie,<br />
weisen ihr eine Beschreibung zu und formatieren sie. Außer<strong>de</strong>m legen Sie fest,<br />
wo sie innerhalb <strong>de</strong>r Kategorienhierarchie eingefügt wird. Es können verschachtelte<br />
Kategorien erzeugt wer<strong>de</strong>n. Damit die neue Gruppe auf <strong>de</strong>r höchsten Ebene<br />
platziert wird, wählt man Default – Top Level aus <strong>de</strong>m Auswahlmenü.<br />
Um eine neue Kategorie einer bestehen<strong>de</strong>n unterzuordnen, wählen Sie aus <strong>de</strong>m<br />
Auswahlmenü Parent <strong>de</strong>n gewünschten Eintrag aus. Es folgt die Einstellung<br />
Category Browse Page. Auch diese bedarf <strong>de</strong>r Erläuterung. Dabei han<strong>de</strong>lt es sich<br />
um eine Vorlage, die das Aussehen <strong>de</strong>r Kategorienliste <strong>de</strong>finiert. Die Anpassung<br />
ist sicherlich für Anwen<strong>de</strong>r interessant, die mit <strong>de</strong>m Shopping-System auf Du und<br />
Du sind. Das Formular zum Erstellen einer neuen Kategorie bietet zwei weitere<br />
Einstellungen an:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
334 Online-Shop mit VirtueMart<br />
• Show x products per row: Damit legt man fest, wie viele Produkte pro<br />
Reihe aufgeführt wer<strong>de</strong>n. Die Vorgabe lautet 1.<br />
• Category Flypage: Hier legt man die Vorlage fest, die die Gestaltung <strong>de</strong>r<br />
Produkt<strong>de</strong>tails beschreibt.<br />
Entfernen und editieren lassen sich Produktkategorien über die Produktliste. Wichtig<br />
vor <strong>de</strong>m Löschen ist, dass sie leer ist.<br />
Eine neue Kategorie in <strong>de</strong>r Entstehungsphase.<br />
11.5.1 Produkte erstellen<br />
Ein Online-Shop lebt natürlich von seinen Produkten, die er an <strong>de</strong>n Mann bzw. die<br />
Frau bringen soll. Über das Menü Products ist die bereits erwähnte Liste <strong>de</strong>r Pro-<br />
www.brain-media.<strong>de</strong>
Produkte verwalten 335<br />
dukte verfügbar. Erzeugt wer<strong>de</strong>n sie mit <strong>de</strong>m Befehl Products> Add Product. Für<br />
die Aktualisierung eines Produkts o<strong>de</strong>r auch das Entfernen verwen<strong>de</strong>n Sie am<br />
einfachsten die Produktliste.<br />
Das Formular für das Hinzufügen eines neuen Produkts ist ebenfalls über mehrere<br />
Register verteilt – zugunsten <strong>de</strong>r Benutzerfreundlichkeit. Insgesamt stehen fünf<br />
Register zur Verfügung:<br />
• Product Information: Hier hinterlegt man allgemeine Eigenschaften.<br />
• Product Status: Auf diesem Register <strong>de</strong>finiert man die Verfügbarkeit.<br />
• Product Dimensions and Weight: Dient <strong>de</strong>m Hinterlegen von Größe und<br />
Gewicht und gegebenenfalls von Download-Informationen.<br />
• Product Images: Hier bestimmt man <strong>de</strong>n Speicherort für Produktabbildungen.<br />
• Related Product: Hier bestimmen Sie verwandte Produkte – Stichwort<br />
Cross-Selling.<br />
Ein neues Produkt wird in die Produktdatenbank aufgenommen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
336 Online-Shop mit VirtueMart<br />
Auf <strong>de</strong>m Register Product Information bestimmen Sie zunächst, ob das Produkt für<br />
die Allgemeinheit publiziert wer<strong>de</strong>n soll o<strong>de</strong>r nicht. Dazu aktiviert bzw. <strong>de</strong>aktiviert<br />
man die Option Publish. Das Schöne an dieser Option: Sie können das System<br />
bereits vor <strong>de</strong>r Veröffentlichung mit neuen Produkten füttern und sie dann zu einem<br />
bestimmten werbewirksamen Zeitpunkt publizieren. Es folgt das Eingabefeld<br />
mit <strong>de</strong>r merkwürdigen Bezeichnung SKU. SKU steht für Stock Keeping Unit, was<br />
mit einer Produkt-ID gleichbe<strong>de</strong>utend ist. Anhand dieser ID kann man das Inventar<br />
<strong>de</strong>s Shops einfacher verfolgen.<br />
In <strong>de</strong>m Textfeld Name hinterlegen Sie die Produktbezeichnung, gefolgt vom URL<br />
und <strong>de</strong>r Produktkategorie. Außer<strong>de</strong>m muss das Produkt mit einem Lieferanten (und<br />
kann optional auch mit einem Hersteller) verknüpft wer<strong>de</strong>n. Wichtig sind natürlich<br />
die Angabe <strong>de</strong>s Verkaufspreises und die Wahl <strong>de</strong>r Währung über die Fel<strong>de</strong>r Retail<br />
Price.<br />
Über VAT ID wählen Sie <strong>de</strong>n Steuersatz aus, <strong>de</strong>r auf das neue Produkt angewen<strong>de</strong>t<br />
wird. Aus <strong>de</strong>m Auswahlmenü können Sie <strong>de</strong>n geeigneten Satz auswählen, <strong>de</strong>r<br />
allerdings zuvor über das Menü Tax <strong>de</strong>finiert wor<strong>de</strong>n sein muss. Es folgt das Feld<br />
Short Description, auf <strong>de</strong>m Sie wie<strong>de</strong>r eine kurze Produktbeschreibung hinterlegen<br />
können. Über <strong>de</strong>n Editorbereich Flypage Description <strong>de</strong>finieren Sie das Layout <strong>de</strong>r<br />
Produktseite. Flypage ist also gleichbe<strong>de</strong>utend mit Produkt<strong>de</strong>tails.<br />
Über das Register Product Status <strong>de</strong>finieren Sie die<br />
Verfügbarkeitsinformationen <strong>de</strong>s neuen Produkts.<br />
www.brain-media.<strong>de</strong>
Produkte verwalten 337<br />
Auf <strong>de</strong>m Register Product Status geben Sie im Eingabefeld In Stock die verfügbare<br />
Stückzahl <strong>de</strong>s Produkts an. Sollte das Produkt erst zu einem späteren Zeitpunkt<br />
verfügbar sein, so legen Sie <strong>de</strong>n Zeitpunkt unter Availability Date fest. Über die<br />
Schaltfläche am En<strong>de</strong> <strong>de</strong>s Kalen<strong>de</strong>rs steht ein Kalen<strong>de</strong>r zur einfachen Datumsauswahl<br />
bereit.<br />
Um die Verfügbarkeit eines Produkts zu beschreiben, steht mit Availability ein<br />
weiteres Textfeld zur Verfügung. Es ist für Texte wie beispielsweise Nachbestellt<br />
o<strong>de</strong>r Lieferung innerhalb von 24h o<strong>de</strong>r <strong>de</strong>rgleichen gedacht. Das Shopping-System<br />
stellt hierfür verschie<strong>de</strong>ne Bil<strong>de</strong>r bereit, die man über das darunter liegen<strong>de</strong> Auswahlmenü<br />
wählen kann. Natürlich kann man auch eigene Bil<strong>de</strong>r verwen<strong>de</strong>n. Dazu<br />
erzeugen Sie diese und legen sie in <strong>de</strong>n Ordner /shop-image/availability. Nach <strong>de</strong>m<br />
Einfügen stehen sie ebenfalls über das Auswahlmenü zur Verfügung.<br />
Mit <strong>de</strong>r Option On Special steht Ihnen ein weiteres Highlight <strong>de</strong>s Shopping-<br />
Systems zur Verfügung. Vorausgesetzt, das Modul Featured Products ist installiert,<br />
kann man Produkte gezielt auf <strong>de</strong>r Website promoten. VirtueMart unterstützt<br />
auch Rabatte. Über das Auswahlmenü Discount Type wählt man <strong>de</strong>n gewünschten<br />
Rabatt aus. Das System erlaubt auch das Erstellen eigener Rabatte. Dazu führt man<br />
<strong>de</strong>n Befehl Products> Product Discount> Add/Edit Discount List aus. Im zugehörigen<br />
Formular bezeichnen Sie <strong>de</strong>n Rabatttyp, geben <strong>de</strong>n prozentualen bzw. fixen<br />
Nachlass an und <strong>de</strong>finieren Anfangs- und Startzeitpunkt, ab <strong>de</strong>m <strong>de</strong>r Rabatt angewen<strong>de</strong>t<br />
wer<strong>de</strong>n kann.<br />
Das Register Product Status erlaubt schließlich noch das Hinzufügen von Attributen<br />
zur Produktbeschreibung. Anhand dieser Attribute kann dann <strong>de</strong>r Käufer das<br />
Produkt in unterschiedlichen Ausführungen wählen. Bei Bekleidung sind beispielsweise<br />
unterschiedliche Größen und Farben <strong>de</strong>finierbar. Auch unterschiedliche<br />
Preise können damit verknüpft wer<strong>de</strong>n. Die Attribute wer<strong>de</strong>n durch Strichpunkt<br />
voneinan<strong>de</strong>r getrennt. Schauen wir uns zwei Beispiele an. Hier ein erstes für<br />
eine Attribut<strong>de</strong>finition:<br />
Größe,XL[+2EUR],M,S[-2EUR]<br />
Es legt fest, dass das Produkt in <strong>de</strong>r Größe L einen Ausgangspreis besitzt und dass<br />
die größere Ausführung XL 2 EUR mehr und die kleinere Ausführungen M und S<br />
2 Euro weniger kosten. Ein weiteres Beispiel:<br />
Farbe,Rot,Blau,Grün,Gelb[=24h]<br />
Voranstehen<strong>de</strong> Attribut<strong>de</strong>finition besagt, dass das Produkt in <strong>de</strong>n Farben Rot, Blau,<br />
Grün und Gelb innerhalb von 24 Stun<strong>de</strong>n lieferbar ist. Natürlich lassen sich solche<br />
Attribute kombinieren. Knüpfen wir am letzten Beispiel an, so <strong>de</strong>finiert die nach-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
338 Online-Shop mit VirtueMart<br />
folgen<strong>de</strong> Definition, dass die erwähnten Farbvarianten innerhalb von 24 Stun<strong>de</strong>n,<br />
die schwarze Variante aber eine Lieferzeit von 48 Stun<strong>de</strong>n hat. Wichtig bei <strong>de</strong>r<br />
Kombination solcher Attribute ist, dass man einzelnen Eigenschaften durch Strichpunkt<br />
trennt. Das erweiterte Beispiel:<br />
Farbe,Rot,Blau,Grün,Gelb[=24h];Farbe,Schwarz[=48h]<br />
Um <strong>de</strong>n Kun<strong>de</strong>n die Möglichkeit zur Auswahl von Produkten mit unterschiedlichen<br />
Eigenschaften zu geben, hinterlegen Sie im Textfeld Custom Attribute List die<br />
Liste. Die Syntax lautet dabei:<br />
Attribut1; Attribut2, Attribut3;<br />
Die Funktionen <strong>de</strong>r Register Product Dimensions and Weight sowie Product Image<br />
sind weitgehend selbsterklärend. Hier hinterlegen Sie die Größe und das Gewicht.<br />
Bei Download-fähigen Produkten geben Sie <strong>de</strong>n Dateinamen und das Download-<br />
Verzeichnis an. Das letzte Register erlaubt das Einbin<strong>de</strong>n zweier Bil<strong>de</strong>r, einer<br />
verkleinerten und einer größeren Darstellung. Mit einem Klick auf Save speichern<br />
Sie die Einstellungen <strong>de</strong>s neuen Produkts. VirtueMart präsentiert anschließend eine<br />
Übersicht aller Details.<br />
Das Löschen von Produkten ist ebenfalls recht einfach. Hierzu öffnen Sie die Produktliste<br />
und klicken einfach in <strong>de</strong>r Spalte Remove auf das zugehörige Icon. Der<br />
Shop fragt sicherheitshalber nach, ob das Produkt tatsächlich entfernt wer<strong>de</strong>n soll.<br />
Dies bestätigt man mit OK.<br />
Auf Attribute sind wir oben bereits zu sprechen gekommen. Allerdings ist die<br />
Thematik noch nicht vollständig abgehan<strong>de</strong>lt. Wollen Sie weitere Attribute für Ihre<br />
Produkte <strong>de</strong>finieren o<strong>de</strong>r bestehen<strong>de</strong> bearbeiten, so greifen Sie auf die Produktliste<br />
zurück. In <strong>de</strong>r Produktliste öffnen Sie die Eigenschaften eines Produkts durch<br />
einen Klick auf <strong>de</strong>n Listeneintrag. VirtueMArt öffnet die oben beschriebenen Produkteinstellungen.<br />
Neu ist allerdings die erweiterte Symbolleiste, mit <strong>de</strong>r man neue<br />
Attribute und einen Preis hinzufügen kann.<br />
11.6 Die Bestellverwaltung<br />
Ist <strong>de</strong>r Shop mit Daten gefüllt, so empfiehlt es sich, mit mehreren Testbestellungen<br />
die Funktionalität zu testen. Ganz nebenbei lernt man dabei die Bestellverwaltung<br />
kennen. Dazu wechselt man in die Benutzeransicht und führt eine erste Bestellung<br />
aus. Alternativ kann man sich mit <strong>de</strong>r Bestellverwaltung auch anhand <strong>de</strong>r Beispieldaten<br />
vertraut machen.<br />
www.brain-media.<strong>de</strong>
Berichtfunktion 339<br />
Nach einer Bestellung wird in <strong>de</strong>r Bestellliste, die über das Menü Or<strong>de</strong>rs> List<br />
Or<strong>de</strong>rs abrufbar ist, ein neuer Eintrag erzeugt. In <strong>de</strong>r Liste wer<strong>de</strong>n die Bestellnummer,<br />
das Bestelldatum, Datum <strong>de</strong>r letzten Än<strong>de</strong>rung, <strong>de</strong>r Status und <strong>de</strong>r Betrag<br />
aufgeführt. Außer<strong>de</strong>m können Sie <strong>de</strong>n Status aktualisieren und eine Bestellung<br />
wie<strong>de</strong>r über <strong>de</strong>n Remove-Button entfernen.<br />
Die Liste kann außer<strong>de</strong>m über die Links Pending, Confirmed etc. gezielt eingeschränkt<br />
wer<strong>de</strong>n. Außer<strong>de</strong>m steht eine Suchfunktion zur Verfügung, mit <strong>de</strong>r Sie<br />
gezielt nach Bestellinformationen suchen können. Um Detailinformationen zu<br />
einer Bestellung abzurufen, klicken Sie einfach auf eine Bestellnummer. Hier kann<br />
man alle verfügbaren Details einer Bestellung abrufen.<br />
11.7 Berichtfunktion<br />
VirtueMart verfügt über eine or<strong>de</strong>ntliche Berichtfunktion, mit <strong>de</strong>r Sie prüfen können,<br />
wie sich Ihre Produkte in einem bestimmten Zeitraum verkauft haben. Über<br />
die Schaltflächen This Month, Last Month, Last 60 days und Last 90 Days können<br />
Sie beispielsweise die Verkäufe <strong>de</strong>r jeweiligen Zeitspanne abrufen. Wenn Sie die<br />
Berichte für einzelne Produkte abrufen wollen, sollten Sie die Option Individual<br />
Product Listing aktivieren.<br />
Die Berichtfunktion von VirtueMart ist nahezu selbsterklärend.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
340 Online-Shop mit VirtueMart<br />
11.8 VirtueMart für Fortgeschrittene<br />
Nach<strong>de</strong>m Sie nun die wichtigsten Aktionen kennen, die man in <strong>de</strong>r Regel mit<br />
VirtueMart durchführt, wollen wir zum Abschluss dieses Kapitels noch <strong>de</strong>n ein<br />
o<strong>de</strong>r an<strong>de</strong>ren Blick unter die Haube <strong>de</strong>s Shopping-Systems werfen. Das wird Ihnen<br />
helfen, die Funktionsweise <strong>de</strong>s Shops besser zu verstehen und ihn damit noch effektiver<br />
einsetzen zu können.<br />
11.8.1 Die VirtueMart-Verzeichnisse<br />
Die meisten VirtueMart-Dateien fin<strong>de</strong>n Sie im Verzeichnis administrator Ihrer<br />
<strong>Joomla</strong>!-Installation. Lediglich die Dateien, die für das Frontend zum Einsatz<br />
kommen, wer<strong>de</strong>n im Verzeichnis components <strong>de</strong>r <strong>Joomla</strong>!-Installation abgelegt.<br />
Die Dateien und Verzeichnisse im Einzelnen:<br />
• /administrator/components/com_virtuemart/: In diesem Ordner sind<br />
die Dateien für die administrative Schnittstelle von VirtueMart enthalten.<br />
Da das Admin-Interface auch über das Frontend zugänglich ist, sind diese<br />
Dateien nicht durch <strong>Joomla</strong>!-Programmierstandards eingeschränkt. Wichtige<br />
Dateien in diesem Verzeichnis sind:<br />
- hea<strong>de</strong>r.php: Co<strong>de</strong> für das Drop-down-Menü <strong>de</strong>r Administration.<br />
- virtuemart.cfg.php: Die zentrale Konfigurationsdatei.<br />
- toolbar.phpshop.html.php: Diese Datei steuert die Admin-<br />
Werkzeugleiste.<br />
• /administrator/components/com_virtuemart/classes/: Hier sind alle<br />
Core-Klassen abgelegt, die von VirtueMart verwen<strong>de</strong>t wer<strong>de</strong>n. Wichtige<br />
Dateien sind:<br />
- ps_database.php: Wrapper für das <strong>Joomla</strong>!-Datenbankobjekt<br />
$database.<br />
- ps_cart.php: Steuert <strong>de</strong>n Warenkorbinhalt.<br />
- ps_main.php: Dies ist keine Klasse. Die Datei enthält vielmehr<br />
die zentralen Funktionen <strong>de</strong>s Shops, beispielsweise die für <strong>de</strong>n<br />
Upload von Bil<strong>de</strong>rn.<br />
- ps_session.php: Diese Datei ist für das grundlegen<strong>de</strong> Session-<br />
Management und die URL-Formatierung zuständig.<br />
www.brain-media.<strong>de</strong>
VirtueMart für Fortgeschrittene 341<br />
• administrator/components/com_virtuemart/classes/Log/: Hier fin<strong>de</strong>n<br />
Sie eine modifizierte PEAR-Log-Klasse.<br />
• /administrator/components/com_virtuemart/classes/shipping/: In diesem<br />
Verzeichnis fin<strong>de</strong>n Sie die Datei, die für die Shipping-Module zuständig<br />
sind.<br />
• /administrator/components/com_virtuemart/classes/payment/: Hier<br />
fin<strong>de</strong>n Sie Dateien rund um die Zahlungsmodule.<br />
• /administrator/components/com_virtuemart/classes/pdf/: Enthält die<br />
Klassen <strong>de</strong>s HTML2FPDF-Pakets. Weitere Informationen hierzu fin<strong>de</strong>n<br />
Sie auf <strong>de</strong>r Projekt-Website (http://sourceforge.net/projects/html2fpdf).<br />
• /administrator/components/com_virtuemart/classes/phpInputFilter/:<br />
Klassen für VirtueMart.<br />
• /administrator/components/com_virtuemart/classes/phpmailer/: In<br />
diesem Ordner fin<strong>de</strong>n Sie die Klassen <strong>de</strong>s phpMailer-Pakets, das von<br />
<strong>Joomla</strong>! verwen<strong>de</strong>t wird. Weitere Informationen hierzu fin<strong>de</strong>n Sie unter<br />
http://phpmailer.sourceforge.net/.<br />
• /administrator/components/com_virtuemart/html/: Hier fin<strong>de</strong>n Sie die<br />
Dateien, die für die Präsentation <strong>de</strong>s HTML-Co<strong>de</strong>s zuständig sind. Wichtige<br />
Dateien sind:<br />
o<br />
basket.php: Steuert <strong>de</strong>n Einkaufswagen.<br />
o ro_basket.php: Steuert <strong>de</strong>n Einkaufswagen beim letzten<br />
Checkout-Schritt. ro steht für read only.<br />
• /administrator/components/com_virtuemart/html/templates/: Hier<br />
sind die Templates für verschie<strong>de</strong>ne Seiten bzw. Shop-Elemente hinterlegt.<br />
Beispielsweise die folgen<strong>de</strong>n:<br />
o<br />
o<br />
o<br />
o<br />
basket: Enthält die Templates für die Einkaufswagendarstellung.<br />
browse: Templates für die Produktliste. Es kann im Kategorie-<br />
Formular zugewiesen wer<strong>de</strong>n.<br />
or<strong>de</strong>r_emails: Hier fin<strong>de</strong>n Sie die Templates für die Bestellbestätigung,<br />
die standardmäßig per E-Mail an <strong>de</strong>n Käufer versen<strong>de</strong>t<br />
wird.<br />
product_<strong>de</strong>tails: In diesem Ordner fin<strong>de</strong>n Sie die Vorlagen für<br />
die Produkt<strong>de</strong>tailseite.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
342 Online-Shop mit VirtueMart<br />
• /administrator/components/com_virtuemart/languages/: Hier fin<strong>de</strong>n<br />
Sie die Sprachdateien, die von virtuemart_parser.php stammen.<br />
• /administrator/components/com_virtuemart/sql/: In diesem Verzeichnis<br />
fin<strong>de</strong>n Sie SQL-Dump-Dateien, die für das Erzeugen <strong>de</strong>r VirtueMart-<br />
Tabellenstruktur verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
• /components/com_virtuemart/: Hier sind die Dateien hinterlegt, die <strong>de</strong>n<br />
Aufruf <strong>de</strong>s Shops vom Frontend aus steuern. Wichtige Dateien sind:<br />
o<br />
o<br />
o<br />
virtuemart.php: Diese Datei sorgt für <strong>de</strong>n Aufruf <strong>de</strong>s Shops.<br />
virtuemart_parser.php: Eine zentrale Datei für Ihre VirtueMart-<br />
Installation. Sie bereitet beispielsweise Session-, Authentifizierungs-<br />
und Warenkorbfunktionen vor.<br />
show_image_in_imgtag.php: Diese Datei wird verwen<strong>de</strong>t, um<br />
Grafiken, <strong>de</strong>ren Größe sich dynamisch än<strong>de</strong>rt, darzustellen.<br />
• /components/com_virtuemart/css/: In diesem Ordner fin<strong>de</strong>n Sie das Stylesheet<br />
<strong>de</strong>s Shops (shop.css) und weitere Sheets, die für die Frontend-<br />
Administration verwen<strong>de</strong>t wur<strong>de</strong>n.<br />
• /components/com_virtuemart/js/: Hier sind verschie<strong>de</strong>ne JavasScripts<br />
hinterlegt, beispielsweise WebFX-Tabs und JSCookTree.<br />
• /components/com_virtuemart/shop_image/: Hier fin<strong>de</strong>n Sie <strong>de</strong>n Ordner<br />
availability, in <strong>de</strong>m die Bil<strong>de</strong>r für die Anzeige <strong>de</strong>r Verfügbarkeit gespeichert<br />
sind. Sie können natürlich auch eigene Grafiken verwen<strong>de</strong>n. Dazu<br />
kopieren Sie diese einfach in folgen<strong>de</strong> Unterordner:<br />
o<br />
o<br />
o<br />
o<br />
category: Enthält die Grafiken für die Kategorien.<br />
product: Hier fin<strong>de</strong>n Sie die Produkbil<strong>de</strong>r.<br />
ps_image: Grafiken für die Admin-Schnittstelle.<br />
vendor: Logo <strong>de</strong>s Shop-Betreibers.<br />
11.8.2 Benutzer-Integration<br />
Häufig tauchen die Fragen auf, wie es sich mit <strong>de</strong>r Benutzer-Integration von<br />
<strong>Joomla</strong>! und VirtueMart verhält. VirtueMart greift auch hierbei auf <strong>Joomla</strong>!-<br />
Funktionen zurück, genauer auf die Benutzertabelle jos_users. Die Trennung von<br />
www.brain-media.<strong>de</strong>
VirtueMart für Fortgeschrittene 343<br />
„normalen“ CMS-Benutzern und Ihren Kun<strong>de</strong>n erfolgt durch ein zusätzliches Käuferfeld<br />
in dieser Tabelle.<br />
Das Shopping-System verfügt über seine eigene Benutzerregistrierung, mit <strong>de</strong>r die<br />
notwendigen Informationen in die Benutzertabelle eingetragen wer<strong>de</strong>n. Mithilfe<br />
von phpMyAdmin können Sie einen Blick in die Tabelle werfen.<br />
Ein Blick mit phpMyAdmin in die Benutzertabelle jos_users.<br />
Für das Benutzermanagement sind insbeson<strong>de</strong>re die folgen<strong>de</strong>n Tabellen relevant:<br />
• jos_users: Hier ist die Rechnungsadresse hinterlegt.<br />
• jos_vm_users_info: Hier fin<strong>de</strong>n Sie die alternative Lieferadresse, sofern<br />
sich diese von <strong>de</strong>r Rechnungsanschrift unterschei<strong>de</strong>t.<br />
• jos_vm_or<strong>de</strong>r_user_info: Hier wird eine Kopie <strong>de</strong>r Rechnungs- und Lieferadresse<br />
gespeichert, wenn die Bestellung ausgeführt wird.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
344 Online-Shop mit VirtueMart<br />
Wenn Sie mit phpMyAdmin die <strong>Joomla</strong>!-Datenbank genauer ansehen, wer<strong>de</strong>n Sie<br />
schnell feststellen, dass Sie in dieser eine Vielzahl weiterer Shop-relevanter Tabellen<br />
fin<strong>de</strong>n. Sie alle beginnen mit jos_vm_. In <strong>de</strong>r Tabelle jos_vm_manufacturer<br />
fin<strong>de</strong>n Sie beispielsweise die Herstellerfel<strong>de</strong>r, in jos_vm_product die produktspezifischen<br />
Fel<strong>de</strong>r etc.<br />
11.8.3 Layout-Anpassungen<br />
Wenn Sie sich an die Anpassung <strong>de</strong>s Shop-Layouts machen wollen, um beispielsweise<br />
Elemente von einer Position an eine an<strong>de</strong>re o<strong>de</strong>r gar in ein an<strong>de</strong>res Dokument<br />
zu verschieben, so müssen Sie natürlich wissen, wo Sie dabei ansetzen können.<br />
Ihr VirtueMart-Shop und <strong>de</strong>ssen Layout wird maßgeblich von <strong>Joomla</strong>! und<br />
<strong>de</strong>ssen Templates bestimmt. Dazu müssen Sie wissen, welche Dateien für welche<br />
Gestaltung zuständig sind.<br />
Um herauszufin<strong>de</strong>n, welche Datei welchen HTML-Co<strong>de</strong> produziert, <strong>de</strong>r dann an<br />
<strong>de</strong>n Benutzer ausgegeben wird, aktivieren Sie einfach <strong>de</strong>n Debug-Modus. Dazu<br />
aktivieren Sie die Ausgaben von Debug-Meldungen über die Shop-Konfiguration.<br />
Wechseln Sie über die Shop-Administration zum Register Path&URL und aktivieren<br />
Sie auf <strong>de</strong>m zugehörigen Formular die Option Debug? Nach <strong>de</strong>r Aktivierung<br />
fin<strong>de</strong>n Sie in Ihrem Shop je<strong>de</strong> Menge blauer Info-Buttons.<br />
Die blauen Info-Buttons verraten Ihnen,<br />
welches die zugehörigen Dateien sind.<br />
Wenn Sie nun <strong>de</strong>n Mauszeiger über die Info-Buttons führen, verrät Ihnen die<br />
Quickinfo, welches die zugehörige Datei ist. Diese müssen Sie dann nur noch mit<br />
www.brain-media.<strong>de</strong>
VirtueMart für Fortgeschrittene 345<br />
einem Editor Ihrer Wahl öffnen und bearbeiten. Die meisten Entwickler bearbeiten<br />
folgen<strong>de</strong> Dateien:<br />
• /html/shop.browse: Dies ist die Produktliste bzw. die Kategorieübersicht.<br />
• /html/shop.product_<strong>de</strong>tails.php: Die Produkt<strong>de</strong>tailseite.<br />
• /html/shop.in<strong>de</strong>x.php: Die Standard-Homepage Ihres Online-Shops.<br />
Etwas komplizierter wird die Angelegenheit, wenn Sie Templates anpassen wollen,<br />
da VirtueMart keine Template-Engine wie patTemplate o<strong>de</strong>r Smarty verwen<strong>de</strong>t.<br />
Um die Flypage-Templates o<strong>de</strong>r Produk<strong>de</strong>tails anzupassen, müssen Sie sich mit<br />
<strong>de</strong>n Dateien im Verzeichnis administrator/components/com_virtuemart/html/<br />
templates/product_<strong>de</strong>tails/ auseinan<strong>de</strong>rsetzen. Diese wer<strong>de</strong>n gela<strong>de</strong>n und mit Inhalten<br />
aus /html/shop.product_<strong>de</strong>tails.php gefüllt. In einem Template können<br />
Platzhalter <strong>de</strong>finiert wer<strong>de</strong>n, die dann durch spezifische Inhalte ersetzt wer<strong>de</strong>n. Für<br />
die Ersetzung ist die PHP-Funktion str_replace zuständig. Zulässige Platzhalter<br />
sind ./ und ..<br />
Sicher ist Ihnen beim Blick in das Template-Verzeichnis nicht <strong>de</strong>r Ordner Browse<br />
entgangen. Mit diesem Template wird das Seitenlayout bestimmt, wenn lediglich<br />
ein Produkt in <strong>de</strong>r Produktliste aufgeführt wird. Die zugehörigen Templates fin<strong>de</strong>n<br />
Sie in /html/templates/browse. Die Inhalte stammen aus <strong>de</strong>r Datei<br />
/html/shop.browse.php.<br />
Das <strong>de</strong>utschsprachige Bestätigungs-Template.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
346 Online-Shop mit VirtueMart<br />
Sie können natürlich auch die Bestätigungs-Templates anpassen, die Ihr Shop-<br />
System verschickt, nach<strong>de</strong>m <strong>de</strong>r Kun<strong>de</strong> seine Bestellung abgeschlossen hat. Sie<br />
fin<strong>de</strong>n die vor<strong>de</strong>finierten Templates im Ordner /html/templates/or<strong>de</strong>r_emails/. Sie<br />
wer<strong>de</strong>n mit <strong>de</strong>n Daten <strong>de</strong>r Datei /classes/ps_checkout.php gespeist. Die relevante<br />
Funktion ist email_receipt().<br />
Auch <strong>de</strong>n Warenkorb und seine Gestaltung können Sie anpassen. Dessen Steuerung<br />
erfolgt über die Basket-Templates, die im Verzeichnis /html/templates/basket<br />
hinterlegt sind. Beachten Sie, dass es vier verschie<strong>de</strong>ne Warenkorb-Templates gibt:<br />
zwei für die Darstellung <strong>de</strong>s Warenkorbs und Preises inklusive Steuern<br />
(basket_b2c.html.php und ro_basket_b2c.html.php) und zwei für die Darstellung<br />
ohne die Mehrwertsteuer (basket_b2b.html.php und ro_basket_b2b.html.php),<br />
wobei die Steuer später draufgepackt wird.<br />
Anhand <strong>de</strong>r Dateibezeichnung können Sie erkennen, welche für welchen Einsatzbereich<br />
gedacht ist:<br />
• b2c steht für Business-to-Consumer, also für das klassische Endkun<strong>de</strong>ngeschäft.<br />
• b2b steht für Business-to-Business, also für <strong>de</strong>n Han<strong>de</strong>l zwischen Unternehmen.<br />
Die Warenkorb-spezifischen Dateien (basket_) sind in folgen<strong>de</strong>n Dateien enthalten:<br />
• /html/shop.cart.php<br />
• /html/basket.php &<br />
• html/ro_basket.php<br />
• /html/checkout.in<strong>de</strong>x.php<br />
Bei <strong>de</strong>n Warenkorb-Templates kommt ein an<strong>de</strong>res Konzept als bei <strong>de</strong>n an<strong>de</strong>ren<br />
Template-Dateien zum Einsatz, da hier Schleifen verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
11.8.4 Erweiterungen<br />
Kommen wir zu einem weiteren spannen<strong>de</strong>n Thema. Sicherlich erinnern Sie sich<br />
an die Konfiguration <strong>de</strong>r Zustell- und Zahlungsmetho<strong>de</strong>n. VirtueMart ist so konzipiert,<br />
dass Sie bei<strong>de</strong> Bereiche mit eigenen Funktionen erweitern können. Schauen<br />
www.brain-media.<strong>de</strong>
VirtueMart für Fortgeschrittene 347<br />
wir uns zunächst die Zahlungsmetho<strong>de</strong>n an. VirtueMart kennt prinzipiell zwei<br />
unterschiedliche Typen von Zahlungsmodulen:<br />
• Automatische Kreditkartenprozessoren, die für die Server-zu-Server-<br />
Verbindung sorgen, bevor die Bestellung platziert wur<strong>de</strong>.<br />
• Alle weiteren Zahlungsmetho<strong>de</strong>n, bei <strong>de</strong>nen keine Kommunikation mit<br />
einem Server erfolgt, bevor die Bestellung platziert wird. Hierzu gehören<br />
beispielsweise PayPal-Aktionen.<br />
Das Erstellen einer neuen Zahlungsmetho<strong>de</strong> ist recht einfach. Führen Sie einfach<br />
<strong>de</strong>n Befehl Store> Add Payment Method aus und bestimmen Sie auf <strong>de</strong>m zugehörigen<br />
Formular die Eigenschaften <strong>de</strong>r neuen Metho<strong>de</strong>.<br />
Das Einrichten einer neuen Zahlungsmetho<strong>de</strong>.<br />
Als Nächstes müssen Sie dann noch auf <strong>de</strong>m Register Configuration <strong>de</strong>n PHP-<br />
Co<strong>de</strong> für <strong>de</strong>n neuen Dienst einfügen. Diesen Co<strong>de</strong> bekommen Sie von Ihrem neuen<br />
Anbieter. Wichtig ist, dass <strong>de</strong>r Co<strong>de</strong> gültig ist.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
348 Online-Shop mit VirtueMart<br />
Sie fin<strong>de</strong>n alle Zahlungsmodule im Verzeichnis /administrator/components/com_<br />
virtuemart/classes/payment. Zu je<strong>de</strong>r Metho<strong>de</strong> gehören zwei Dateien: die Klassendatei<br />
und die Konfigurationsdatei. Haben Sie beispielsweise die Metho<strong>de</strong><br />
neuezahlungsmetho<strong>de</strong> erzeugt, so erzeugt VirtueMart die bei<strong>de</strong>n folgen<strong>de</strong>n Dateien:<br />
• ps_neuezahlungsmetho<strong>de</strong>.php<br />
• ps_neuezahlungsmetho<strong>de</strong>.cfg.php<br />
Hat sich ein Benutzer für eine Zahlungsmetho<strong>de</strong> entschie<strong>de</strong>n, die diesen Prozessor<br />
verwen<strong>de</strong>t, wird beim Checkout auf die Datei ps_neuezahlungsmetho<strong>de</strong>.php zurückgegriffen<br />
und ihre Funktionen wer<strong>de</strong>n für die Verarbeitung <strong>de</strong>r Zahlung genutzt.<br />
Schauen wir uns noch die Zustellmetho<strong>de</strong>n an. Auch diese können von Ihnen erweitert<br />
und angepasst wer<strong>de</strong>n. Sie fin<strong>de</strong>n die Metho<strong>de</strong>n in folgen<strong>de</strong>m Verzeichnis:<br />
/administrator/components/com_virtuemart/classes/shipping/. Im Unterschied zu<br />
<strong>de</strong>n Zahlungsmetho<strong>de</strong>n sind die Shipping-Module durch drei Dateien <strong>de</strong>finiert: die<br />
Klassendatei, die Infodatei und die Konfigurationsdatei. In Anlehnung an voranstehen<strong>de</strong>s<br />
Beispiel lauten die Dateien wie folgt:<br />
• Zustellmetho<strong>de</strong>.php (enthält die Klasse Zustellmetho<strong>de</strong>)<br />
• Zustellmetho<strong>de</strong>.ini (enthält <strong>de</strong>n Namen <strong>de</strong>s Moduls, <strong>de</strong>n Entwickler und weitere<br />
relevante Informationen)<br />
• Zustellmetho<strong>de</strong>.cfg.php (enthält die Konfiguration)<br />
Wird eine Zustellmetho<strong>de</strong> in <strong>de</strong>r Zahlungsliste aktiviert, so wird sie dann gela<strong>de</strong>n,<br />
wenn <strong>de</strong>r Benutzer sie auswählt. Für weitere Informationen sei auf die VirtueMart-<br />
Website verwiesen.<br />
11.9 Fazit<br />
Fassen wir zusammen: Nie war <strong>de</strong>r Aufbau eines Online-Shops einfacher als mit<br />
VirtueMart. Diese <strong>Joomla</strong>!-Erweiterung bietet alles, was Sie für <strong>de</strong>n Aufbau eines<br />
Online-Shops benötigen. Einrichtung und Handhabung sind kin<strong>de</strong>rleicht. Sicherlich<br />
wür<strong>de</strong> man sich an <strong>de</strong>r ein o<strong>de</strong>r an<strong>de</strong>ren Stelle mehr Komfort wünschen. Doch<br />
die meisten Anwen<strong>de</strong>r wer<strong>de</strong>n gut mit diesem System leben können.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! <strong>kompakt</strong><br />
Fazit 349
350 Weitere Must-have-Erweiterungen<br />
12 Weitere Must-have-Erweiterungen<br />
Neben <strong>de</strong>n bereits <strong>de</strong>tailliert beschriebenen <strong>Joomla</strong>!-Erweiterungen gibt es eine<br />
Vielzahl weiterer wichtiger Add-ons, ohne die viele Sites kaum auskommen könnten.<br />
Mancher Admin wünscht sich einen alternativen Editor, ein an<strong>de</strong>rer will Dokumente<br />
im Intranet verwalten, wie<strong>de</strong>r ein an<strong>de</strong>rer muss mehrsprachige Sites erzeugen<br />
und und und. Die Anfor<strong>de</strong>rungen sind naturgemäß sehr vielfältig. In diesem<br />
Kapitel stellen wir daher zehn weitere wichtige <strong>Joomla</strong>!-Erweiterungen vor.<br />
Sie sollen und können hier nicht bis ins letzte Detail beschrieben wer<strong>de</strong>n. Weitaus<br />
wichtiger ist, dass Sie ein Gespür dafür bekommen, wie flexibel Sie mit <strong>Joomla</strong>!<br />
sind und wie vielfältig die Anwendungsbereiche sein können.<br />
12.1 Gallery2 Bridge<br />
Die Erweiterung Gallery2 Bridge (http://<strong>de</strong>veloper.joomla.org/sf/projects/gallery2<br />
_bridge/) erlaubt das Einbin<strong>de</strong>n einer Gallery2-basierten Online-Galerie<br />
(http://gallery.menalto.com) in Ihre <strong>Joomla</strong>!-Site. Das setzt zunächst eine bestehen<strong>de</strong><br />
Gallery2-Installation auf Ihrem Server voraus. Lei<strong>de</strong>r ist die Brücke so gut<br />
wie nicht dokumentiert. Das erschwert natürlich <strong>de</strong>n Einstieg erheblich.<br />
Im Downloadbereich <strong>de</strong>r Gallery2 Bridge fin<strong>de</strong>t sich auch eine <strong>de</strong>utsche Sprachdatei.<br />
Zuerst sollten Sie die <strong>Joomla</strong>!-Konfiguration Global Configuration > Locale<br />
unter Country locale auf <strong>de</strong>_DE setzen, <strong>de</strong>nn von dort holt sich die Bridge die<br />
Spracheinstellungen. Sie können anschließend die Sprachdatei in das Verzeichnis<br />
/administrator/components/com_gallery2/language/ kopieren. Allerdings wird nur<br />
das Backend <strong>de</strong>r Komponente einge<strong>de</strong>utscht. Da die Sprachdatei in <strong>de</strong>r Vergangenheit<br />
immer wie<strong>de</strong>r Probleme bereitet hat, verwen<strong>de</strong>n wir hier die englische<br />
Variante.<br />
Die Installation <strong>de</strong>r Komponente ist über das Components-Menü meist schnell<br />
erledigt. Anschließend können Sie über Components> Gallery2 auf die Konfiguration<br />
und die Alben- bzw. User-Verwaltung zugreifen.<br />
Die Konfiguration präsentiert Ihnen vier Register, über die Sie die Komponente für<br />
das Zusammenspiel mit <strong>de</strong>r Galerie vorbereiten, <strong>de</strong>n Zwischenspeicher konfigurieren<br />
und auch <strong>de</strong>n Cronjob steuern.<br />
www.brain-media.<strong>de</strong>
Gallery2 Bridge 351<br />
Die Konfiguration <strong>de</strong>r Gallery2 Bridge.<br />
Zunächst müssen Sie sich <strong>de</strong>n Einstellungen <strong>de</strong>s Registers Configuration widmen.<br />
Unter Full Server Path to G2 müssen Sie <strong>de</strong>n absoluten Pfad zur Galerie-<br />
Installation angeben. Wichtig ist dabei, dass <strong>de</strong>r Pfad korrekt ist, weil er ansonsten<br />
nicht gespeichert wird. Im nächsten Eingabefeld Relative Server Path to G2 ist<br />
dann <strong>de</strong>r relative Pfad zum <strong>Joomla</strong>!-Verzeichnis gefragt. Der könnte beispielsweise<br />
wie folgt aussehen: ../gallery2.<br />
Eine weitere wichtige Konfiguration ist Login Page Redirect. Hier legen Sie fest,<br />
auf welches Dokument <strong>de</strong>r Benutzer umgeleitet wird, wenn er keinen gültigen<br />
Zugang zur Gallery besitzt. Sie können unter Config Settings außer<strong>de</strong>m festlegen,<br />
ob Sie die Gallery2-Si<strong>de</strong>bar und <strong>de</strong>n Login-Dialog in Ihre <strong>Joomla</strong>!-Installation<br />
integrieren wollen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
352 Weitere Must-have-Erweiterungen<br />
Auf <strong>de</strong>m Register Configuration fin<strong>de</strong>n Sie außer<strong>de</strong>m die Einstellungen für <strong>de</strong>n<br />
Benutzerabgleich zwischen Gallery2 und Ihrem <strong>Joomla</strong>!-System. Unter User<br />
Checking Level legen Sie fest, ob beispielsweise die E-Mail-Adresse o<strong>de</strong>r <strong>de</strong>r Benutzername<br />
für <strong>de</strong>n Abgleich verwen<strong>de</strong>t wird. Außer<strong>de</strong>m können Sie festlegen, ob<br />
auch zwischen Groß- und Kleinschreibung unterschie<strong>de</strong>n wird.<br />
Die Synchronisierungsfunktion bietet ein weiteres Highlight: Wenn Sie <strong>de</strong>n Schalter<br />
Sync G2 User auf Yes setzen, so wer<strong>de</strong>n beim nächsten Abgleich alle Gallery2-<br />
User auch ins <strong>Joomla</strong>!-Benutzerverzeichnis importiert.<br />
Die Cache-Konfiguration <strong>de</strong>r Gallery2 Bridge.<br />
Eine weitere Beson<strong>de</strong>rheit: Die Bridge besitzt einen eigenen Cache, um Grafiken<br />
zwischenzuspeichern, um somit <strong>de</strong>n Zugriff auf die Bil<strong>de</strong>r zu beschleunigen. Die<br />
zugehörigen Einstellungen fin<strong>de</strong>n Sie auf <strong>de</strong>m Register Cache. Dort bestimmen Sie<br />
insbeson<strong>de</strong>re die Dauer, die Dateien zwischengespeichert und wann Einträge wie<strong>de</strong>r<br />
aus <strong>de</strong>m Cache entfernt wer<strong>de</strong>n. Außer<strong>de</strong>m zeigt Ihnen das Register Cache die<br />
Größe <strong>de</strong>s Caches und die Anzahl <strong>de</strong>r Dateien an, die aktuell zwischengespeichert<br />
wer<strong>de</strong>n.<br />
Sie können außer<strong>de</strong>m auf <strong>de</strong>m Register <strong>de</strong>n Cronjob und eine Google-Sitemapspezifische<br />
Einstellung und auf <strong>de</strong>m Register Privacy verschie<strong>de</strong>ne sicherheitsrelevante<br />
Einstellungen bzw. Informationen einsehen.<br />
www.brain-media.<strong>de</strong>
JCE – <strong>de</strong>r <strong>Joomla</strong>! Content Editor 353<br />
In <strong>de</strong>r Praxis macht ein Problem Anwen<strong>de</strong>rn immer wie<strong>de</strong>r zu schaffen: Oft kommt<br />
es vor, dass in <strong>de</strong>r <strong>Joomla</strong>!-Bridge für die Gallery2 Umlaute falsch dargestellt<br />
wer<strong>de</strong>n. Das zeigt sich beispielsweise an folgen<strong>de</strong>r Ausgabe im Frontend:<br />
GrÃße: 1 Element (insgesamt 4 Elemente).<br />
Die Lösung ist in<strong>de</strong>s recht einfach: Öffnen Sie die Datei modules/core/classes/GalleryTranslator.class.<br />
Zeile 480 sollte wie folgt aussehen:<br />
bind_textdomain_co<strong>de</strong>set($domain, 'UTF-8');<br />
Statt <strong>de</strong>s Eintrags UTF-8 verwen<strong>de</strong>n Sie iso-8859-1. Damit sollten die Umlaute<br />
sauber dargestellt wer<strong>de</strong>n. Die Integration <strong>de</strong>r Galerie erfolgt ansonsten wie gewohnt<br />
am einfachsten über die Erweiterung eines Menüs.<br />
12.2 JCE – <strong>de</strong>r <strong>Joomla</strong>! Content Editor<br />
Der in <strong>Joomla</strong>! integrierte Editor genügt vielen Anwen<strong>de</strong>rn nicht. So ist es nicht<br />
verwun<strong>de</strong>rlich, dass es eine Vielzahl freier und kommerzieller Alternativen gibt.<br />
Als einer <strong>de</strong>r besten freien Editoren gilt <strong>de</strong>r <strong>Joomla</strong>! Content Editor, kurz JCE<br />
(http://www.cellardoor.za.net). Dabei han<strong>de</strong>lt es sich um einen WYSIWYG-Editor,<br />
<strong>de</strong>r auf TinyMCE basiert. Er bietet erweitertes Bil<strong>de</strong>r- und Medienhandling und<br />
kann über verschie<strong>de</strong>ne Plugins funktional erweitert wer<strong>de</strong>n. Außer<strong>de</strong>m besitzt er<br />
eine eigene Administrationszentrale.<br />
Der Editor im Einsatz.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
354 Weitere Must-have-Erweiterungen<br />
Für die Installation <strong>de</strong>s Editors benötigen Sie zumin<strong>de</strong>st zwei Pakete: die JCE-<br />
Komponenten und das JCE-Mambot (eventuell auch die <strong>de</strong>utsche Sprachdatei).<br />
Die Installation führen Sie wie gewohnt über das Components-Menü durch. Nach<br />
<strong>de</strong>r Installation <strong>de</strong>r bei<strong>de</strong>n Komponenten richten Sie am besten gleich auch die<br />
<strong>de</strong>utsche Sprachdatei ein. Dazu führen Sie <strong>de</strong>n Befehl Components> JCE Admin><br />
JCE Languages aus. Über die Sprachverwaltung ist es ein Leichtes, das Sprachpaket<br />
zu installierten und zu aktivieren. Anschließend sind Teile <strong>de</strong>s Editors einge<strong>de</strong>utscht.<br />
Ein Blick auf die JCE-Administration.<br />
Nach <strong>de</strong>r Installation <strong>de</strong>r zwei bzw. drei JCE-Komponenten fin<strong>de</strong>n Sie das JCE-<br />
Admin-Menü mit vier Untermenüs im Components-Menü: JCE Configuration,<br />
JCE Languages, JCE Plugins und JCE Layout.<br />
Die wichtigsten Einstellungen <strong>de</strong>r JCE-Konfiguration fin<strong>de</strong>n Sie in <strong>de</strong>r linken<br />
Spalte. Dort legen Sie über das Auswahlmenü Access Level fest, wer Zugriff auf<br />
<strong>de</strong>n Editor hat (Public/Je<strong>de</strong>r, Registered/nur registrierte Benutzer, Special/nur spe-<br />
www.brain-media.<strong>de</strong>
JCE – <strong>de</strong>r <strong>Joomla</strong>! Content Editor 355<br />
zielle Benutzer) und ob die Komponente veröffentlicht ist o<strong>de</strong>r nicht. Um JCE zu<br />
Ihrem Standar<strong>de</strong>ditor für <strong>Joomla</strong>! zu machen, müssen Sie allerdings die <strong>Joomla</strong>!-<br />
Einstellungen anpassen. Im rechten Konfigurationsbereich können Sie außer<strong>de</strong>m<br />
verschie<strong>de</strong>ne Parameter wie die Größe bestimmen. Über das JCE-Languages-<br />
Untermenü können Sie wie bereits erwähnt Sprachpakete installieren und aktivieren.<br />
Die installierten Plugins.<br />
Im Plugin Manager wer<strong>de</strong>n die verschie<strong>de</strong>nsten Funktionen <strong>de</strong>s Editors verwaltet.<br />
Typische Funktionen wie das Erstellen eines neuen Dokuments wer<strong>de</strong>n durch ein<br />
Plugin repräsentiert. Über diese Liste können Sie somit exakt steuern, welche<br />
Funktionen über <strong>de</strong>n Editor verfügbar sind und welche nicht. Damit Ihre Benutzer<br />
mit <strong>de</strong>m Editor keine Links einfügen können, setzen Sie das Plugin einfach auf<br />
Unpublished.<br />
Auf <strong>de</strong>r JCE-Homepage fin<strong>de</strong>n Sie eine ganze Reihe von Plugins, auch verschie<strong>de</strong>ne<br />
Manager, mit <strong>de</strong>nen Sie Ihre Bil<strong>de</strong>r verwalten können. Auch ein<br />
<strong>Joomla</strong>board- und ein Iframe-Plugin stehen zur Verfügung.<br />
Mithilfe <strong>de</strong>s JCE-Layout-Managers können Sie außer<strong>de</strong>m die Position <strong>de</strong>r verschie<strong>de</strong>nen<br />
Schaltflächen per Drag&Drop än<strong>de</strong>rn. Der Manager präsentiert Ihnen<br />
vier graue Balken, in <strong>de</strong>nen Sie die Icons beliebig platzieren können.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
356 Weitere Must-have-Erweiterungen<br />
12.3 DocMan<br />
Ein echter Klassiker unter <strong>de</strong>n <strong>Joomla</strong>!-Erweiterungen ist <strong>de</strong>r Dokumentenmanager<br />
DOCman (http://forge.joomla.org/sf/projects/docman/). Er ist die richtige Komponente<br />
für Sie, wenn Sie mit Ihrer Site viele Dateien und Dokumente verwalten –<br />
beispielsweise in einer Intranet-Site, über die Sie Ihre Mitarbeiter mit relevanten<br />
Dokumenten versorgen. Das Highlight von DOCman ist sicherlich die umfassen<strong>de</strong><br />
Rechteverwaltung, mit <strong>de</strong>r Sie genau steuern können, wer welche Dokumente<br />
herunterla<strong>de</strong>n, betrachten, hochla<strong>de</strong>n, überschreiben und freigeben kann. Momentan<br />
scheint nur nicht klar, ob die Erweiterung weiterentwickelt wird. Hoffen wir es!<br />
Die DOCman-Systemsteuerung.<br />
Die Installation erfolgt wie gewohnt über das Installers-Menü. Es gibt übrigens<br />
auch ein <strong>de</strong>utschsprachiges Paket, in <strong>de</strong>m alle Module in einer <strong>de</strong>utschen Version<br />
zusammengefasst sind. Anschließend fin<strong>de</strong>n Sie unter Components das DOCman-<br />
Menü mit seinen verschie<strong>de</strong>nen Untermenüs. Über das Untermenü Verwaltung<br />
präsentiert sich Ihnen die DOCman-Systemsteuerung. Links fin<strong>de</strong>n Sie die wichtigsten<br />
Funktionen, rechts News und Informationen zu <strong>de</strong>n letzten Dokumenten<br />
bzw. <strong>de</strong>n neuesten Protokollen.<br />
Wie Sie in <strong>de</strong>r Umgebung vorgehen, ist letztlich Geschmackssache. Der eine<br />
macht sich am liebsten mit <strong>de</strong>n Konfigurationsmöglichkeiten vertraut, ein an<strong>de</strong>rer<br />
legt lieber gleich los und hinterlegt erste Dokumente in <strong>de</strong>r Dokumentenverwaltung.<br />
www.brain-media.<strong>de</strong>
DocMan 357<br />
Wenn Sie sich für <strong>de</strong>n zweiten Weg entschei<strong>de</strong>n, so sollten Sie zunächst eine<br />
DOCman-Kategorie erzeugen. Sie dient als Container für Ihre Inhalte. Wechseln<br />
Sie dazu über <strong>de</strong>n Kategorienlink zur Kategorienverwaltung. Mit einem Klick auf<br />
Neu erzeugen Sie eine erste Kategorie.<br />
Eine erste Kategorie entsteht.<br />
Nach<strong>de</strong>m Sie die erste Kategorie erstellt und gespeichert haben, können Sie ein<br />
erstes Dokument in die Verwaltung einbin<strong>de</strong>n. Öffnen Sie mit einem Klick auf<br />
Dokumente die eigentliche Dokumentenverwaltung und geben Sie relevante Informationen<br />
wie <strong>de</strong>n Titel, die Kategorie und <strong>de</strong>n URL <strong>de</strong>s Dokuments ein.<br />
Das Formular zum Hinzufügen eines Dokuments stellt Ihnen drei weitere Register<br />
zur Verfügung. Über das Register Sicherheit können Sie beispielsweise die Dokumentenrechte<br />
<strong>de</strong>finieren. Konkret können Sie bestimmen, wer das Dokument lesen<br />
darf und wer <strong>de</strong>r Verantwortliche ist.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
358 Weitere Must-have-Erweiterungen<br />
Das Hinzufügen eines ersten Dokuments in das Ablagesystem.<br />
Über das Register Lizenz legen Sie fest, unter welcher Lizenz das Dokument steht<br />
und ob diese angezeigt wird. Da Ihre Dokumentenverwaltung noch keine Lizenzen<br />
kennt, müssen Sie diese erst über das gleichnamige DOCman-Untermenü erstellen.<br />
Erst dann ist eine Auswahl möglich.<br />
DOCman hat weitere interessante Funktionen zu bieten. So können Sie über <strong>de</strong>n<br />
Statistiken-Link einsehen, wie oft welche Dateien heruntergela<strong>de</strong>n wur<strong>de</strong>n. Das<br />
Untermenü Logs verrät Ihnen, wer mit welchem System auf Ihre Verwaltung zugegriffen<br />
hat.<br />
Eine weitere Beson<strong>de</strong>rheit von DOCman: Die Erweiterung besitzt eine eigene<br />
Gruppenverwaltung. Die Benutzerverwaltung von DOCman basiert auf <strong>de</strong>n Einstellungen<br />
Ihres <strong>Joomla</strong>!-Systems, Sie können aber spezifische DOCman-Gruppen<br />
erzeugen und diesen die gewünschten Benutzer zuordnen.<br />
www.brain-media.<strong>de</strong>
DocMan 359<br />
Die DOCman-Konfiguration hat es in sich.<br />
Beson<strong>de</strong>re Beachtung verdient die DOCman-Konfiguration, die Ihnen über sechs<br />
Register unterschiedliche Anpassungen erlaubt. Auf <strong>de</strong>m Register Allgemein bestimmen<br />
Sie <strong>de</strong>n absoluten Pfad zum Speichern <strong>de</strong>r Dokumente. Über das Register<br />
Frontend bestimmen Sie verschie<strong>de</strong>ne Eigenschaften, die sich auf das Benutzer-<br />
Frontend auswirken, beispielsweise die Standardsortierung, die Icon-Größe und die<br />
Lizenzinfo.<br />
Die folgen<strong>de</strong>n drei Register Rechte, Hochla<strong>de</strong>n und Sicherheit dienen in erster<br />
Linie <strong>de</strong>r sicherheitstechnischen Konfiguration. Auf <strong>de</strong>m Register Rechte legen Sie<br />
fest, welche Zugriffsrechte Gäste haben und wer vom Frontend auf Dateien übertragen,<br />
freigeben und veröffentlichen darf. Außer<strong>de</strong>m können Sie die Dokumentenzugriffsrechte<br />
fein <strong>de</strong>finieren. Das Register Hochla<strong>de</strong>n dient <strong>de</strong>r Konfiguration<br />
zulässiger Upload-Metho<strong>de</strong>n und zulässiger Dateien, die auf <strong>de</strong>m Server gespei-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
360 Weitere Must-have-Erweiterungen<br />
chert wer<strong>de</strong>n dürfen. Auf <strong>de</strong>m Register Sicherheit können Sie schließlich die Anti-<br />
Leech-Funktion aktivieren.<br />
Alles in allem ist DOCman eine hervorragen<strong>de</strong> <strong>Joomla</strong>!-Erweiterung. Bleibt zu<br />
hoffen, dass sie auch in Zukunft weiterentwickelt wird.<br />
12.4 gigCalen<strong>de</strong>r<br />
Der gigCalendar (http://www.gigcalendar.net) ist eine sehr interessante Eventkalen<strong>de</strong>r-Komponente,<br />
die es Ihnen ermöglicht, Veranstaltungs- und Tourdaten von<br />
Musikbands (o<strong>de</strong>r an<strong>de</strong>ren Veranstaltungen) zu verwalten und in <strong>de</strong>r Website zu<br />
veröffentlichen. Neben <strong>de</strong>r Komponente stehen hierfür auch noch zwei Module zur<br />
Verfügung. Die Komponente stellt die Veranstaltungen wahlweise als Tabelle o<strong>de</strong>r<br />
als Kalen<strong>de</strong>rblatt dar. Umfangreiche Bearbeitungsfunktionen stehen im Backend<br />
zur Verfügung. Eine weitere Beson<strong>de</strong>rheit: Die eingetragenen Termine können<br />
auch in bzw. nach verschie<strong>de</strong>nen Personal-Informations-Managern importiert bzw.<br />
exportiert wer<strong>de</strong>n.<br />
Der gigCalendar stellt Ihnen alle wichtigen Funktionen<br />
eines Veranstaltungskalen<strong>de</strong>rs zur Verfügung.<br />
Achten Sie bei <strong>de</strong>r Installation <strong>de</strong>s gigCalendars darauf, dass Sie die neuste Version<br />
verwen<strong>de</strong>n. In <strong>de</strong>r Vergangenheit kam es immer wie<strong>de</strong>r zu Inkompatibilitäten<br />
zwischen <strong>Joomla</strong>! und <strong>de</strong>m Event-Kalen<strong>de</strong>r. Lei<strong>de</strong>r gibt es bislang auch keine<br />
<strong>de</strong>utsche Sprachdatei.<br />
Nach <strong>de</strong>r Installation erfolgt <strong>de</strong>r Zugriff über das Components-Menü. Das<br />
gigCalendar-Menü erlaubt Ihnen <strong>de</strong>n Zugriff auf die drei integrierten Manager:<br />
www.brain-media.<strong>de</strong>
gigCalen<strong>de</strong>r 361<br />
• Event-Manager<br />
• Veranstaltungsort-Manager<br />
• Band-Manager<br />
Außer<strong>de</strong>m können Sie <strong>de</strong>n Kalen<strong>de</strong>r über <strong>de</strong>n Konfigurationsdialog an Ihre Erfor<strong>de</strong>rnisse<br />
anpassen, die RSS-Funktionen einrichten und Daten importieren bzw.<br />
exportieren.<br />
Um einen neuen Kalen<strong>de</strong>reintrag zu erzeugen, müssen Sie zunächst über <strong>de</strong>n<br />
venueManager <strong>de</strong>n Veranstaltungsort und dann über <strong>de</strong>n bandManager eine erste<br />
Band einrichten.<br />
Der erste Veranstaltungsort wird im gigCalendar eingetragen.<br />
Als Nächstes erzeugen Sie dann über <strong>de</strong>n bandManager einen ersten Band-Eintrag,<br />
in<strong>de</strong>m Sie auf <strong>de</strong>n Manager zugreifen und über New die Banddaten hinterlegen.<br />
Alle notwendigen Angaben sind wie bei allen an<strong>de</strong>ren gigCalendar-Formularen<br />
gefettet.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
362 Weitere Must-have-Erweiterungen<br />
Als Nächstes können Sie eine erste Veranstaltung in Ihren Kalen<strong>de</strong>r eintragen.<br />
Dazu folgen Sie <strong>de</strong>m Link Add New Gig und bestimmen im zugehörigen Formular<br />
das Datum, wählen <strong>de</strong>n Veranstaltungsort und die Band aus.<br />
Eine erste Veranstaltung wird im Kalen<strong>de</strong>r eingetragen.<br />
Zu je<strong>de</strong>r Veranstaltung, zu je<strong>de</strong>m Veranstaltungsort und zu je<strong>de</strong>r Band können Sie<br />
einen Infotext hinterlegen, <strong>de</strong>r dann für die Benutzer im Frontend abrufbar ist.<br />
Nutzen Sie diese Möglichkeit, um beispielsweise Hintergrundinfos, eine Wegbeschreibung<br />
(auch mit Bild) sowie sonstige Informationen einzubin<strong>de</strong>n.<br />
Die gigCalendar-Konfiguration hat es ebenfalls in sich. Zunächst können Sie beispielsweise<br />
das Aussehen <strong>de</strong>r Listen und <strong>de</strong>s Kalen<strong>de</strong>rs anpassen. Sie können beispielsweise<br />
das Layout und die Formatierung <strong>de</strong>r unterschiedlichen Informationen<br />
anpassen – auch das Datumsformat. Über die Kalen<strong>de</strong>rkonfiguration können Sie<br />
außer<strong>de</strong>m Links zu Ticket-Services o<strong>de</strong>r Routenplaner einbin<strong>de</strong>n, damit Ihre Besucher<br />
gleich ihre Tickets bestellen und <strong>de</strong>n Anfahrtsweg berechnen lassen können.<br />
In <strong>de</strong>n RSS-Optionen legen Sie fest, ob beispielsweise alle Veranstaltungen in<br />
Ihren Feed eingefügt wer<strong>de</strong>n.<br />
Für <strong>de</strong>n Austausch mit an<strong>de</strong>ren Veranstaltungs-Sites interessant: Über das Import/Export-Menü<br />
können Sie Ihre Daten und Einstellungen importieren und exportieren.<br />
Dank <strong>de</strong>r iCal- und vCal-Unterstützung lassen sich auch einzelne Veranstaltungen<br />
exportieren.<br />
www.brain-media.<strong>de</strong>
Dateimanagement mit joomlaXplorer 363<br />
12.5 Dateimanagement mit joomlaXplorer<br />
Wenn Sie in Ihrer <strong>Joomla</strong>!-Umgebung immer mit Dateien hantieren müssen, so<br />
empfiehlt sich <strong>de</strong>r Einsatz <strong>de</strong>s joomlaXplorers (http://<strong>de</strong>veloper.joomla.org/sf/<br />
projects/joomlaxplorer/). Mit diesem Dateimanager-Skript können Sie durch Verzeichnisse<br />
navigieren, Dateien editieren, verschieben und löschen, Dateien suchen,<br />
uploa<strong>de</strong>n und downloa<strong>de</strong>n, neue Dateien und Verzeichnisse erstellen und auch<br />
Dateiberechtigungen än<strong>de</strong>rn. Auch das Erstellen bzw. Entpacken von Archiven ist<br />
möglich.<br />
Der Dateimanager joomlaXplorer in Aktion.<br />
Der Dateimanager unterstützt verschie<strong>de</strong>ne Übertragungsmodi. Nach einer Standardinstallation<br />
ist <strong>de</strong>r File-Modus aktiviert. Sie können mit einem Klick auf Modus<br />
wechseln zu: ftp <strong>de</strong>n FTP-Modus aktivieren und sich über <strong>de</strong>n Login-Dialog<br />
Zugang zum FTP-Server verschaffen.<br />
Die Handhabung <strong>de</strong>s Dateimanagers ist ansonsten weitgehend selbsterklärend. In<br />
<strong>de</strong>r Kopfzeile zeigt Ihnen <strong>de</strong>r Editor das Verzeichnis an, in <strong>de</strong>m Sie sich aktuell<br />
befin<strong>de</strong>n. Darunter fin<strong>de</strong>n Sie die umfangreiche Symbolleiste, rechts die Funktion<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
364 Weitere Must-have-Erweiterungen<br />
zum Anlegen von Dateien bzw. Verzeichnissen sowie die Sprungfunktion, mit <strong>de</strong>r<br />
Sie beispielsweise ins Home-Verzeichnis springen können.<br />
Unterhalb <strong>de</strong>r Symbolleiste fin<strong>de</strong>n Sie die Verzeichnisansicht, in <strong>de</strong>r die Ordner<br />
und die Dateien samt Detailinformationen wie Dokumenten- bzw. Verzeichnisname,<br />
Größe, Typ, Datum <strong>de</strong>r letzten Än<strong>de</strong>rung und Rechte angezeigt wer<strong>de</strong>n.<br />
In <strong>de</strong>r letzten Spalte fin<strong>de</strong>n Sie die möglichen Aktionen, die <strong>de</strong>r joomlaXplorer<br />
zulässt. Dateien und Ordner können über das erste Icon umbenannt wer<strong>de</strong>n. Bei<br />
Dateien stehen Ihnen vier weitere Funktionen zur Verfügung:<br />
• Bearbeiten<br />
• Anzeigen<br />
• Herunterla<strong>de</strong>n<br />
• Löschen<br />
Beson<strong>de</strong>rs einfach können Sie Datei- und Verzeichnisberechtigungen än<strong>de</strong>rn, in<strong>de</strong>m<br />
Sie in <strong>de</strong>r Symbolleiste auf das Werkzeug-Icon klicken und für die gewählten<br />
Verzeichnisse/Dateien die Rechte bearbeiten.<br />
Der Dialog zum Än<strong>de</strong>rn <strong>de</strong>r Rechte.<br />
Sollte es mit <strong>de</strong>m Än<strong>de</strong>rn nicht funktionieren, so verfügen Sie vermutlich nicht<br />
über die dafür notwendigen Rechte. Sie können <strong>de</strong>n joomlaXplorer nicht nur zum<br />
Verschieben o<strong>de</strong>r Löschen von einzelnen Dateien verwen<strong>de</strong>n, son<strong>de</strong>rn auch typi-<br />
www.brain-media.<strong>de</strong>
Mehrsprachige Site mit Joom!Fish 365<br />
sche administrative Aufgaben damit erledigen – gelegentlich auch durch manuelle<br />
Eingriffe in die Konfigurationsdatei.<br />
Angenommen Sie wollen Ihren Benutzern ein Verzeichnis zur Verfügung stellen,<br />
das diese vom Frontend für <strong>de</strong>n Up- bzw. Download verwen<strong>de</strong>n können, so müssen<br />
Sie manuell in die Konfigurationsdatei /components/com_joomlaxp-lorer/configuration.jx.php<br />
eingreifen. Än<strong>de</strong>rn Sie $frontend_enabled = false; in $frontend_enabled<br />
= true; Als Nächstes müssen Sie <strong>de</strong>n Verzeichnispfad aktualisieren,<br />
auf <strong>de</strong>n Ihre Benutzer Zugriff haben. Än<strong>de</strong>rn Sie dazu $subdir = '/dmdocuments';<br />
in $subdir = '/meine_downloads';<br />
Der joomlaXplorer unterliegt allerdings auch Einschränkungen. So ist we<strong>de</strong>r im<br />
File- noch im FTP-Modus <strong>de</strong>r Upload eines gesamten Verzeichnisses möglich.<br />
Wenn Sie etwas Derartiges vorhaben, packen Sie Ihre Daten am besten, führen ein<br />
Upload durch und entpacken diese Datei dann mit <strong>de</strong>m Entpacker. Vorsicht: Bereits<br />
existieren<strong>de</strong> Dateien mit <strong>de</strong>m gleichen Dateinamen wer<strong>de</strong>n überschrieben,<br />
wenn sie schreibbar sind.<br />
12.6 Mehrsprachige Site mit Joom!Fish<br />
Wenn Sie mit Ihrer <strong>Joomla</strong>!-Site auf ein internationales Publikum zielen, so müssen<br />
Sie Ihre Site zumin<strong>de</strong>st teilweise in die gewünschten Zielsprachen übersetzen.<br />
Zwar gibt es für viele Komponenten Sprachpakete, die das jeweilige Front- und<br />
Backend anpassen. Was aber ist mit <strong>de</strong>n eigentlichen Inhalten?<br />
Die Lösung für dieses Problem: Joom!Fish. Das Tool hat seinen Namen vom berühmten<br />
Babelfish aus <strong>de</strong>m Roman „Per Anhalter durch die Galaxis“ von Douglas<br />
Adams. Mit diesem Tool können Sie all Ihre Inhalte in mehreren Sprachen erzeugen<br />
und verwalten. Sie können damit sogar die Inhalte von Komponenten und<br />
Modulen mehrsprachig verwalten. Joom!Fish ist sogar so konzipiert, dass Sie zuerst<br />
Ihre Inhalte in einer beliebigen Sprache erstellen und diese dann zu einem<br />
späteren Zeitpunkt übersetzen.<br />
Um möglichen Missverständnissen zuvorzukommen: Joom!Fish ist keine automatische<br />
Übersetzungsfunktion, wie Sie sie von verschie<strong>de</strong>nen Suchmaschinen kennen,<br />
son<strong>de</strong>rn lediglich ein Hilfsmittel, das Sie bei <strong>de</strong>r Übersetzung und <strong>de</strong>r Verwaltung<br />
<strong>de</strong>r Übersetzungen unterstützt. Sie können Ihre Site auch auf nicht übersetzte<br />
Bereiche hin überprüfen.<br />
Die Installation von Joom!Fish 1.7 erfolgt wie immer über das Installers-Menü.<br />
Nach <strong>de</strong>r erfolgreichen Installation steht Ihnen die Komponente über Components><br />
Joom!Fish zur Verfügung. Am besten passen Sie über die Joom!Fish-<br />
Konfiguration zunächst die Sprache an. Dann fällt die Anwendung <strong>de</strong>n meisten<br />
Anwen<strong>de</strong>rn leichter.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
366 Weitere Must-have-Erweiterungen<br />
Die Joom!Fish-1.7-Systemsteuerung erlaubt <strong>de</strong>n einfachen<br />
Zugriff auf die verschie<strong>de</strong>nen Funktionen.<br />
Mithilfe <strong>de</strong>s Control-Panels können Sie über das Icon Sprache zunächst einmal<br />
einsehen, welche Sprachdateien auf Ihrem System installiert sind und was die<br />
Standardsprache ist. Än<strong>de</strong>rn Sie die Einstellungen gegebenenfalls und aktivieren<br />
Sie weitere Sprachen.<br />
Mit <strong>de</strong>m Joom!Fish-Sprachmanager können Sie schon mal die<br />
Standardsprache Ihres Systems einsehen.<br />
Wichtig: Im Sprachmanager sollten Sie Grafiken für die jeweiligen Sprachvarianten<br />
angeben, über die die Benutzer dann im Frontend die bevorzugte Sprachversion<br />
über die typischen Fähnchen umschalten können. Joom!Fish verwen<strong>de</strong>t Standardflaggen<br />
für die Unterscheidung <strong>de</strong>r Sprachvarianten. Sie müssen in <strong>de</strong>n Eingabefel<strong>de</strong>rn<br />
Bilddatei lediglich <strong>de</strong>n Pfad zu alternativen Bil<strong>de</strong>rn angeben, wenn Sie<br />
an<strong>de</strong>re Grafiken verwen<strong>de</strong>n wollen. Sie können außer<strong>de</strong>m in <strong>de</strong>r letzten Spalte die<br />
Sortierung <strong>de</strong>r Flaggen än<strong>de</strong>rn. Die Reihenfolge beginnt bei Null, dann Eins etc.<br />
www.brain-media.<strong>de</strong>
Mehrsprachige Site mit Joom!Fish 367<br />
Bei einer Site, die <strong>de</strong>utsche und englischsprachige Inhalte zu bieten hat, aktivieren<br />
Sie die Sprachen Englisch und Deutsch.<br />
Für die eigentliche Übersetzungsarbeit folgen Sie im Control Panel <strong>de</strong>m Link<br />
Übersetzung. Das zugehörige Formular stellt Ihnen ein Auswahlmenü zur Verfügung,<br />
über das Sie gezielt bestimmen, welche Inhaltselemente, also beispielsweise<br />
Kategorien, bestehen<strong>de</strong> Inhalte, Menüs o<strong>de</strong>r auch Feeds, übersetzt wer<strong>de</strong>n sollen.<br />
Hier wählen Sie, welche Elemente übersetzt wer<strong>de</strong>n.<br />
Auf <strong>de</strong>r Übersetzungsseite bestimmen Sie nicht nur <strong>de</strong>n Inhaltstyp, son<strong>de</strong>rn können<br />
über das darunterliegen<strong>de</strong> Auswahlmenü auch die Sprache <strong>de</strong>r Inhalte bestimmen.<br />
Sie können die Auswahl wie folgt einschränken:<br />
• Alle Sprachen<br />
• Ohne Übersetzung<br />
• Englisch (abhängig von <strong>de</strong>n installierten Sprachpaketen)<br />
• German (abhängig von <strong>de</strong>n installierten Sprachpaketen)<br />
Wir entschei<strong>de</strong>n uns hier für die Inhaltselemente Contents und wählen als Sprache<br />
<strong>de</strong>n Eintrag Alle Sprachen. Das Übersetzungsformular wird nach <strong>de</strong>r Auswahl um<br />
drei weitere Auswahlfel<strong>de</strong>r und ein Suchformular erweitert, über die Sie die Ansicht<br />
nach folgen<strong>de</strong>n Kriterien weiter einschränken können:<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
368 Weitere Must-have-Erweiterungen<br />
• Kategorie<br />
• Autor<br />
• Übersetzung veröffentlicht<br />
Über die Suchfunktion können Sie die Ansicht gezielt auf bestimmte Inhalte beschränken.<br />
Die ausgewählten Content-Elemente können<br />
im nächsten Schritt übersetzt wer<strong>de</strong>n.<br />
Die Übersetzungsliste zeigt Ihnen neben <strong>de</strong>m Dokumententitel die Sprache, eventuelle<br />
Übersetzungen, das Datum <strong>de</strong>r letzten Än<strong>de</strong>rung, <strong>de</strong>n Übersetzungstatus und<br />
<strong>de</strong>n Veröffentlichungsstatus an. Insbeson<strong>de</strong>re die Statusspalte liefert Ihnen wichtige<br />
Informationen, die durch folgen<strong>de</strong> Icons angezeigt wer<strong>de</strong>n:<br />
Icon<br />
Beschreibung<br />
Übersetzung nicht aktuell<br />
Übersetzung unvollständig o<strong>de</strong>r das Original ist<br />
geän<strong>de</strong>rt<br />
Übersetzung existiert nicht<br />
Übersetzung ist veröffentlicht<br />
Übersetzung nicht veröffentlicht<br />
www.brain-media.<strong>de</strong>
Mehrsprachige Site mit Joom!Fish 369<br />
Um ein Dokument zu übersetzen, klicken Sie auf <strong>de</strong>n zugehörigen Dokumententitel.<br />
Im eigentlichen Übersetzungsdialog wer<strong>de</strong>n Ihnen zu je<strong>de</strong>m Content-Abschnitt<br />
zwei Abschnitte präsentiert: einmal das Original, darunter das Eingabefeld für die<br />
Übersetzung. Je nach Content-Element können Sie über <strong>de</strong>n Übersetzungsdialog<br />
auch die Metadaten und Content-Beschreibung übersetzen. Außer<strong>de</strong>m können Sie<br />
über das rechts gelegene Informationsfeld <strong>de</strong>n Status än<strong>de</strong>rn.<br />
Der eigentliche Übersetzungsdialog.<br />
Sie sehen: Die Handhabung von Joom!Fish ist wirklich kin<strong>de</strong>rleicht. In <strong>de</strong>r Praxis<br />
taucht allerdings immer wie<strong>de</strong>r folgen<strong>de</strong>s Problem auf: Sie haben bereits eine Site<br />
mit einer Übersetzung eingerichtet. Nun wollen Sie eine dritte, also neben <strong>de</strong>r<br />
<strong>de</strong>utschsprachigen Standard-Site und <strong>de</strong>r englischsprachigen Übersetzung, eine<br />
weitere hinzufügen. Wenn Sie nun eine Än<strong>de</strong>rung an einer Übersetzung vornehmen,<br />
wird eine <strong>de</strong>r bestehen<strong>de</strong>n Sprachen überschrieben.<br />
Dieses Problem bekommen Sie mit folgen<strong>de</strong>n Schritten in <strong>de</strong>n Griff:<br />
1. Installieren Sie zunächst mit <strong>de</strong>m <strong>Joomla</strong>!-Sprachmanager alle Sprachen,<br />
die Sie einführen wollen.<br />
2. Konfigurieren Sie als Nächstes alle Sprachen in <strong>de</strong>r Joom!Fish-<br />
Sprachkonfiguration.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
370 Weitere Must-have-Erweiterungen<br />
3. Wechseln Sie dann zur Übersetzungsseite und wählen Sie das Inhaltselement<br />
aus, das Sie übersetzen wollen.<br />
4. Im Sprach-Pulldown-Menü ist standardmäßig <strong>de</strong>r Eintrag Alle Sprachen<br />
aktiviert. Wählen Sie hier die spezifische Sprachvariante aus, die Sie<br />
übersetzen wollen. Fertig.<br />
Sie können Joom!Fish auch ein wenig Beine machen, in<strong>de</strong>m Sie das Menümodul-<br />
Caching aktivieren. Dazu ist eine kleine Än<strong>de</strong>rung <strong>de</strong>s <strong>Joomla</strong>!-Caching-Co<strong>de</strong>s<br />
erfor<strong>de</strong>rlich. Ersetzen Sie in <strong>de</strong>r Datei inclu<strong>de</strong>s/cache/Lite/Function.php <strong>de</strong>n Co<strong>de</strong>-<br />
Block:<br />
function call()<br />
{<br />
$arguments = func_get_args();<br />
$id = serialize($arguments); // Erzeugt die Cache-ID<br />
durch folgen<strong>de</strong>n Co<strong>de</strong>:<br />
function call()<br />
{<br />
$arguments = func_get_args();<br />
global $mosConfig_lang;<br />
if (isset( $mosConfig_lang)) $arguments[] = array('mosConfigLang'=>$mosConfig_lang);<br />
$id = serialize($arguments); // Erzeugt die Cache-ID<br />
Damit wird Joom!Fish einen Tick schneller.<br />
Joom!Fish bietet weitere Anpassungsmöglichkeiten. So können Sie es beispielsweise<br />
<strong>de</strong>m Benutzertyp Manager erlauben, Inhalte über das Frontend zu übersetzen.<br />
Diese Funktion bietet das <strong>Joomla</strong>!-ACL-System (/inclu<strong>de</strong>s/gacl.class.php)<br />
nicht. Um dies zu ermöglichen, müssen Sie die ACL-Regeln <strong>de</strong>r jeweiligen Datei<br />
än<strong>de</strong>rn. Beispielsweise wie folgt:<br />
$this->_mos_add_acl( 'administration', 'install', 'users',<br />
'manager', 'components', 'all' );<br />
www.brain-media.<strong>de</strong>
Sitemap mit Joomap 371<br />
$this->_mos_add_acl( 'administration', 'edit', 'users', 'manager',<br />
'components', 'com_joomfish' );<br />
Ein letzter Kniff: Wenn Sie wollen, dass die <strong>Joomla</strong>!-Site das Übersetzungsdatum<br />
und/o<strong>de</strong>r das Datum, an <strong>de</strong>m Sie die Sprache umgeschaltet haben, anzeigen soll, so<br />
muss lediglich die Funktion setLocale() in Ihre Sprachdatei eingefügt<br />
wer<strong>de</strong>n. Im Fall <strong>de</strong>r <strong>de</strong>utschen Sprachvariante ist das setLocale( '<strong>de</strong>' );<br />
12.7 Sitemap mit Joomap<br />
Was, wenn Sie mit <strong>Joomla</strong>! eine typische Sitemap erstellen wollen, in <strong>de</strong>r die Seiten<br />
Ihrer Site in einer Übersicht zusammengefasst sind? Auch hierfür hat die<br />
<strong>Joomla</strong>!-Gemein<strong>de</strong> die passen<strong>de</strong> Lösung: Joomap stellt <strong>de</strong>n kompletten Website-<br />
Baum in einer anpassbaren Sitemap dar. Dabei wer<strong>de</strong>n alle Menüeinträge aus <strong>de</strong>n<br />
Menüs <strong>de</strong>r Website nacheinan<strong>de</strong>r durchlaufen. Abhängig davon, auf welche Art<br />
von Inhalten <strong>de</strong>r Menüeintrag verweist, wird auch <strong>de</strong>r darin enthaltene Inhalt in<br />
<strong>de</strong>n Baum mit aufgenommen.<br />
Die Register <strong>de</strong>r Joomap-Konfiguration.<br />
Das Sitemap-Tool stammt von Daniel Grothe (http://www.ko-ca.com). Die <strong>de</strong>utsche<br />
Version fin<strong>de</strong>n Sie unter http://www.mgfi.info. Die Unterstützung von verschie<strong>de</strong>nsten<br />
Inhalten ist durch ein Plugin-System leicht zu erweitern. Dank <strong>de</strong>r<br />
Erweiterbarkeit durch Plugins lassen sich weitere Komponenten in Joomap<br />
einfachst einbin<strong>de</strong>n. Die Plugins en<strong>de</strong>n mit .plugin.php und sind im Verzeichnis<br />
/administrator/components/com_joomap/plugins/ zu platzieren. Als Beispiele wer<strong>de</strong>n<br />
die <strong>Joomla</strong>!-Inhalte durch das Plugin content.plugin.php abgewickelt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
372 Weitere Must-have-Erweiterungen<br />
Die Joomap-Komponente präsentiert Ihnen drei Register: Menüs, Ansicht und CSS.<br />
Auf <strong>de</strong>m Register Menüs legen Sie fest, welche Menüeinträge in <strong>de</strong>r Sitemap lan<strong>de</strong>n.<br />
Für je<strong>de</strong>s Menü, das Sie hier aktivieren, erstellt Joomap im Frontend eine<br />
eigene Überschrift, über die dann <strong>de</strong>r Zugriff auf die verschie<strong>de</strong>nen Inhalte einfach<br />
möglich ist.<br />
Welche Menüs Sie hier auswählen, ist natürlich von Ihrer Seite abhängig. Es ist<br />
natürlich auch davon abhängig, ob Sie eigene Menüleisten eingeführt haben. Mit<br />
einem Klick in <strong>de</strong>r Anzeigen-Spalte sorgen Sie dafür, dass das Menü auch in <strong>de</strong>r<br />
Sitemap lan<strong>de</strong>t bzw. <strong>de</strong>aktiviert wird.<br />
Das Menüs-Register erlaubt Ihnen zwei weitere Anpassungen:<br />
• Umordnen: In diese Spalte können Sie über die Pfeile die Anordnung <strong>de</strong>r<br />
Menüs in <strong>de</strong>r Sitemap anpassen. Die Reihenfolge in Ihrem Menü bleibt<br />
dabei auch in <strong>de</strong>r Sitemap erhalten.<br />
• Reihenfolge: Hier können Sie die Reihenfolge manuell durch Eingabe eines<br />
Werts än<strong>de</strong>rn.<br />
Die Einstellungen <strong>de</strong>s Joomap-Registers Ansicht.<br />
Über das Register Ansicht können Sie verschie<strong>de</strong>ne Details zur Sitemap-Ansicht<br />
bestimmen, auch die Integration von Google-Sitemaps ist möglich, ebenso können<br />
Sie bestimmte Menüeinträge ausschließen. Die Einstellungen sind in drei Bereichen<br />
zusammengefasst. Unter Anzeige Einstellungen können Sie beispielsweise<br />
<strong>de</strong>n CSS-Klassennamen än<strong>de</strong>rn, externe Links durch eine Grafik kennzeichnen und<br />
die Anzahl <strong>de</strong>r Spalten <strong>de</strong>r Sitemap anpassen.<br />
www.brain-media.<strong>de</strong>
Sitemap mit Joomap 373<br />
Ein weiteres Highlight von Joomap ist die Unterstützung von Google-Sitemaps.<br />
Diese bieten Ihnen eine einfache Möglichkeit, immer mit aktuellen Links <strong>de</strong>r eigenen<br />
Webseite innerhalb Google vertreten zu sein. Joomap generiert automatisch<br />
die aktuellen Links. Um die eigene Webseite für diesen Service bei Google anzumel<strong>de</strong>n,<br />
sind lediglich zwei Schritte notwendig:<br />
1. Eröffnen Sie zunächst ein kostenloses Konto bei Google SiteMaps<br />
(http://www.google.com/webmasters/sitemaps/login/).<br />
2. Geben Sie <strong>de</strong>n von Joomap generierten Link im Google-Account an. Das<br />
war’s auch schon.<br />
Der gezielte Ausschluss von Menüs auf <strong>de</strong>r Sitemap.<br />
Beson<strong>de</strong>re Beachtung verdient die Ausschlussfunktion im Bereich Nicht anzeigen.<br />
Über das Auswahlmenü bestimmen Sie die Menüeinträge, die nicht in <strong>de</strong>r Sitemap<br />
lan<strong>de</strong>n sollen. Markieren Sie einfach einen Eintrag, <strong>de</strong>r nicht in <strong>de</strong>r Übersicht lan<strong>de</strong>n<br />
soll und klicken Sie auf <strong>de</strong>n Pfeil links neben <strong>de</strong>m Auswahlmenü. Joomap fügt<br />
automatisch die Item-ID in das Anzeigefeld ein.<br />
Auf <strong>de</strong>m Register CSS wird die CSS-Klasse angezeigt, die Joomap verwen<strong>de</strong>t. Der<br />
Sitemap-Spezialist verwen<strong>de</strong>t eine eigene CSS-Klasse, <strong>de</strong>r Name ist im Joomap-<br />
Backend anzugeben. Diese CSS-Klasse kann bequem in <strong>de</strong>r Joomap-Konfiguration<br />
bearbeitet wer<strong>de</strong>n.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
374 Weitere Must-have-Erweiterungen<br />
Das Register CSS.<br />
Generell wird Joomap innerhalb eingebun<strong>de</strong>n. Der Seitenbaum<br />
hat für je<strong>de</strong> Ebene eine eigene CSS-Klasse, beginnend mit level_0 (root) und<br />
dann level_1, level_2 etc.<br />
Die Sitemap im Frontend.<br />
www.brain-media.<strong>de</strong>
Logfile-Analyse mit BSQ Sitestats 375<br />
Werfen wir noch einen kurzen Blick auf die Sitemap im Frontend. Wie Sie es über<br />
die Menüfunktion einbin<strong>de</strong>n, ist Ihnen längst geläufig. Wenn Sie <strong>de</strong>n neuen Menüeintrag<br />
beispielsweise mit Sitemap bezeichnen und das Hauptmenü in <strong>de</strong>r Sitemap<br />
verwen<strong>de</strong>n, so könnte Ihre Map wie in voranstehen<strong>de</strong>r Abbildung dargestellt aussehen.<br />
12.8 Logfile-Analyse mit BSQ Sitestats<br />
BSQ Sitestats (http://www.bs-squared.com) ist eine Statistikkomponente für<br />
<strong>Joomla</strong>. Die Auswertung erfolgt im Backend über die Komponente o<strong>de</strong>r im Frontend<br />
über die im Download enthaltenen Module. Das Statistikmodul wertet die<br />
typischen Logfiles aus und zeigt Ihnen wahlweise Total Hits, Unique Visitors,<br />
Today's Hits, Today's Unique Visitors, Average Hits Per Visitor, Average Hits Per<br />
Visitor Over an Interval, Top Search Engine Keywords, Top Visitor Languages,<br />
Top Visitor Platforms (Window, Linux etc.), Top Referer Domains, Top Referer<br />
URLs, Top URLs und Top Web Browsers. Auf <strong>de</strong>r Zusammenfassungsseite wer<strong>de</strong>n<br />
die Hits und die Summe <strong>de</strong>r Besucher nach Gesamtzahl, heute, pro Woche, pro<br />
Monat und pro Jahr gelistet.<br />
Ein erster Blick auf die Logfile-Auswertungen.<br />
Ein wichtiger Hinweis: Zur Verwendung von BSQ Sitestats wird die <strong>Joomla</strong>lib-<br />
Komponente benötigt. Diese muss vor <strong>de</strong>r Installation von BSQ Sitestats bereits<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
376 Weitere Must-have-Erweiterungen<br />
installiert sein. Sie fin<strong>de</strong>n die Komponente unter http://forge.joomla.org/sf/frs/<br />
do/viewRelease/projects.joomlalib/frs.component.joomlalib_1_2_2_beta.<br />
Nach<strong>de</strong>m Sie die Installationshür<strong>de</strong> genommen haben, müssen Sie eine Anpassung<br />
<strong>de</strong>s <strong>Joomla</strong>!-Templates in<strong>de</strong>x.php vornehmen, damit die Komponente auch die<br />
Zugriffe auswerten kann. Fügen Sie dazu folgen<strong>de</strong>n Co<strong>de</strong> hinzu:<br />
<br />
Nach<strong>de</strong>m Sie diesen Co<strong>de</strong>-Block eingefügt und die ersten Zugriffe auf das<br />
<strong>Joomla</strong>!-System durchgeführt haben, können Sie bereits die ersten statistischen<br />
Daten begutachten.<br />
Die ersten Auswertungen von BSQ Sitestats.<br />
www.brain-media.<strong>de</strong>
Logfile-Analyse mit BSQ Sitestats 377<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, zeigt Ihnen BSQ Sitestats<br />
neben <strong>de</strong>n Hits und <strong>de</strong>r Anzahl <strong>de</strong>r Besucher genau an, wer auf welche Inhalte<br />
zugegriffen hat. Über die weiteren Register können Sie Details zu <strong>de</strong>n Besuchern,<br />
<strong>de</strong>n zugegriffenen Inhalten, <strong>de</strong>n verwen<strong>de</strong>ten Browsern, Refer-Info, Domains,<br />
Län<strong>de</strong>rn und Schlüsselwörtern entnehmen.<br />
Die BSQ-Sitestats-Konfiguration.<br />
Welche Informationen BSQ Sitestats für Sie aufarbeitet – und in welcher Form –,<br />
das bestimmen Sie in <strong>de</strong>r BSQ-Sitestats-Konfiguration. Die Konfiguration präsentiert<br />
Ihnen sieben Register:<br />
• Hit Tracking: Auf diesem Register legen Sie mit <strong>de</strong>m ersten Schalter<br />
Track Hits? fest, ob die Komponente überhaupt aktiviert wer<strong>de</strong>n soll o<strong>de</strong>r<br />
nicht. Damit Sie möglichst zuverlässige Daten erhalten, sollten Sie die<br />
Zugriffe von Suchmaschinen über Ignore Bots Hits herausfiltern.<br />
• Reporting: Hier bestimmen Sie, welche statistischen Details in <strong>de</strong>r Auswertung<br />
angezeigt wer<strong>de</strong>n. Sie können außer<strong>de</strong>m das Datumsformat, die<br />
Verwendung <strong>de</strong>s internen Stylesheets und <strong>de</strong>rgleichen mehr konfigurieren.<br />
• RSS: Auf diesem Register können Sie die RSS-Unterstützung aktivieren,<br />
das Passwort für <strong>de</strong>n Zugriff und das RSS-Format bestimmen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
378 Weitere Must-have-Erweiterungen<br />
• Compression: Mit <strong>de</strong>n drei auf diesem Register verfügbaren Einstellungen<br />
bestimmen Sie, wie alt Statistiken sein müssen, damit sie komprimiert<br />
wer<strong>de</strong>n. Wenn Sie eine starkfrequentierte Website aufsetzen, so können<br />
Sie die Komprimierung beispielsweise auf <strong>de</strong>n Wert 1 Woche setzen.<br />
• Graphing: Hier bestimmen Sie, ob JGraph für die grafische Aufbereitung<br />
<strong>de</strong>r Daten wie beispielsweise <strong>de</strong>r Browser-Typen verwen<strong>de</strong>t wird. BSQ<br />
Sitestats erzeugt dann typische Balkendiagramme. Sie können außer<strong>de</strong>m<br />
die Größe <strong>de</strong>r Grafik bestimmen.<br />
BSQ Sitestats beherrscht auch die grafische Aufbereitung von Logfile-Daten.<br />
• Front End: Sie können die statistischen Daten auch ins Frontend integrieren.<br />
Über dieses Register bestimmen Sie, welche Inhalte auf Seiten <strong>de</strong>s<br />
Clients veröffentlicht wer<strong>de</strong>n.<br />
• Filters: Um ein möglichst unverfälschtes Ergebnis zu erhalten, können<br />
Sie über dieses Register IP-Adressen von <strong>de</strong>r Auswertung herausfiltern.<br />
So können Sie beispielsweise die IP-Adressen <strong>de</strong>s lokalen Netzwerks in<br />
das Textfeld IPs to ignore eintragen. Sie können auch Domains herausfiltern.<br />
www.brain-media.<strong>de</strong>
WordPress-Integration mit OpenWP 379<br />
Wenn Sie einen zweiten Blick ins BSQ-Sitestats-Untermenü werfen, stellen Sie<br />
fest, dass das Statistiktool weitere interessante Zusatzfunktionen bietet. Es sind vier<br />
an <strong>de</strong>r Zahl:<br />
• IP Lookup: Über dieses Formular können Sie einen IP-Lookup durchführen.<br />
• Scrub Stats: Was diese Funktion macht, ist lei<strong>de</strong>r nirgends brauchbar dokumentiert.<br />
• Compress Logs: Diese Funktion erlaubt das manuelle Komprimieren <strong>de</strong>r<br />
Log-Dateien.<br />
• Convert Database: Diese Funktion erlaubt schließlich die Konvertierung<br />
<strong>de</strong>r Datenbank. Lei<strong>de</strong>r kann man dabei kein Ziel und keine Konvertierungsoptionen<br />
<strong>de</strong>finieren.<br />
Für die in <strong>Joomla</strong>! integrierte Logfile-Analyse eignet sich BSQ Sitestats hervorragend.<br />
Es liefert Ihnen alle relevanten Informationen auf einen Blick. Natürlich<br />
kann es sich nicht mit Spezialisten wie AWStats (http://www.awstats.net) messen.<br />
Doch das ist in <strong>de</strong>r Regel auch nicht erfor<strong>de</strong>rlich. Im Admin-Alltag hat man ohnehin<br />
mit genügend an<strong>de</strong>ren Problemen zu kämpfen. Da will man sich nicht mit noch<br />
mehr Informationen herumschlagen müssen.<br />
12.9 WordPress-Integration mit OpenWP<br />
Die Kür für Ihre <strong>Joomla</strong>!-Site wäre natürlich ein Blog-System, in <strong>de</strong>m Ihre Benutzer<br />
sich nach Herzenslust Tag für Tag austoben können. Im Bereich Blog ist<br />
WordPress (http://www.wordpress.<strong>de</strong>) <strong>de</strong>r Platzhirsch. Speziell für <strong>Joomla</strong>! hat<br />
Marko Schmuck eine angepasste Version, die in <strong>de</strong>r Handhabung und <strong>de</strong>m Handling<br />
WordPress sehr ähnlich ist: OpenWP (http://www.j-prosolutions.com). Der<br />
Vorläufer trug die Bezeichnung JD-WP.<br />
Wie bei an<strong>de</strong>ren <strong>Joomla</strong>!-Komponenten integriert sich auch OpenWP in die Administrationszentrale<br />
<strong>de</strong>s Content-Managementsystems. Die Benutzerverwaltung<br />
vereinfacht sich durch die Übernahme <strong>de</strong>r <strong>Joomla</strong>!-Benutzer.<br />
Lei<strong>de</strong>r ist die Website <strong>de</strong>s OpenWP-Entwicklers nicht son<strong>de</strong>rlich gut gepflegt. So<br />
bleibt Ihnen lei<strong>de</strong>r nichts an<strong>de</strong>res übrig, als sich die verschie<strong>de</strong>nen Komponenten<br />
zusammenzusuchen und dann zu installieren. Das gilt auch für die <strong>de</strong>utsche<br />
Sprachdatei, die Sie beim WordPress-Team (http://doku.wordpress-<strong>de</strong>utschland.org/Download_<strong>de</strong>r_<strong>de</strong>utschen_Sprachdatei/)<br />
fin<strong>de</strong>n. Um OpenWP einzu<strong>de</strong>utschen,<br />
erstellen Sie im OpenWP-Ordner im Verzeichnis wp-inclu<strong>de</strong>s ein Un-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
380 Weitere Must-have-Erweiterungen<br />
terverzeichnis languages und kopieren die Sprachdatei <strong>de</strong>s WordPress-Teams dort<br />
hinein. Beim nächsten Zugriff präsentiert Ihnen OpenWP eine <strong>de</strong>utschsprachige<br />
Schnittstelle.<br />
Die WordPress-Adaption OpenWP ist in einer <strong>de</strong>utschsprachigen<br />
Version in <strong>Joomla</strong>! integriert.<br />
Beim Zugriff auf <strong>de</strong>n WordPress-Ableger präsentiert sich Ihnen etwa obige<br />
Schnittstelle. In <strong>de</strong>r OpenWP-Administrationszentrale können Sie nun erste Beiträge<br />
verfassen, Artikel verwalten, Benutzer einrichten, unterschiedliche Einstellungen<br />
wie <strong>de</strong>n Blog-Titel bearbeiten und Daten von an<strong>de</strong>ren Systemen importieren.<br />
Beim Zugriff auf OpenWP wird Ihnen automatisch <strong>de</strong>r so genannte Tellerrand<br />
angezeigt. Dies ist die WordPress-typische Übersicht zu Ihrem Blog. Über ihn<br />
können Sie bequem einen neuen Beitrag verfassen und verschie<strong>de</strong>ne aktuelle und<br />
statistische Informationen abrufen.<br />
Im Rahmen dieses Kapitels können wir nicht alle Funktionen und Vorgehensweisen<br />
beschreiben, die OpenWP bietet. Dafür sei an dieser Stelle auf Stephan<br />
Lamprechts Buch WordPress 2.x <strong>kompakt</strong> (http://www.bomots.<strong>de</strong>/wordpress/)<br />
verwiesen, das ebenfalls beim bomots-Verlag erschienen ist.<br />
www.brain-media.<strong>de</strong>
WordPress-Integration mit OpenWP 381<br />
Widmen wir uns daher in <strong>de</strong>r gebotenen Kürze <strong>de</strong>n wichtigsten administrativen<br />
Aufgaben. Die wichtigsten Admin-Funktionen fin<strong>de</strong>n Sie in <strong>de</strong>n Menüs Verwalten,<br />
Benutzer und Optionen. Das Menü Verwalten dient insbeson<strong>de</strong>re <strong>de</strong>m Management<br />
von Beiträgen, Seiten, Kategorien, Kommentaren und Dateien. In <strong>de</strong>r Benutzerverwaltung<br />
können Sie die Rechte <strong>de</strong>r Benutzer bearbeiten. Für die allgemeinen<br />
OpenWP-Einstellungen ist das Menü Optionen zuständig.<br />
Die allgemeinen Einstellungen für Ihren OpenWP-Blog.<br />
Das Menü Optionen selbst besitzt wie<strong>de</strong>r sechs Untermenüs, über die Sie unterschiedliche<br />
Bereiche konfigurieren können:<br />
• Allgemein: Hier bestimmen Sie <strong>de</strong>n Blog-Titel, das Blog-Thema, die<br />
WordPress- und die Blog-Adresse sowie Datum und Uhrzeit.<br />
• Schreiben: In <strong>de</strong>n Schreibeinstellungen <strong>de</strong>finieren Sie die Textboxgröße<br />
sowie verschie<strong>de</strong>ne formatierungsspezifische Einstellungen und bestimmen,<br />
ob auch das Verfassen von Blog-Beiträgen per E-Mail möglich ist.<br />
• Lesen: Auf diesem Register können Sie die Anzahl <strong>de</strong>r Beiträge pro Seite<br />
und Feed-Einstellungen anpassen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
382 Weitere Must-have-Erweiterungen<br />
• Diskussion: Wenn Sie Ihre Leser in eine Diskussion einbin<strong>de</strong>n wollen,<br />
sind Sie auf diesem Register richtig.<br />
• Permalink: Hier können Sie die Permalink-Struktur anpassen.<br />
• Verschie<strong>de</strong>nes: Hier fin<strong>de</strong>n Sie zwei weniger wichtige Einstellungen.<br />
Nach<strong>de</strong>m Sie sich mit <strong>de</strong>n allgemeinen Blog-Einstellungen auseinan<strong>de</strong>rgesetzt<br />
haben, können Sie erste Testbeiträge erstellen, Kategorien einführen und <strong>de</strong>rgleichen<br />
mehr.<br />
Mit OpenWP gibt es ein einfach zu handhaben<strong>de</strong>s Blog-System, das sich problemlos<br />
in eine <strong>Joomla</strong>!-Installation integriert. Einfacher kann man es kaum haben.<br />
12.10 Letterman<br />
Eine meiner Lieblingskomponenten ist Letterman (http://www.thejfactory.com).<br />
Mit dieser <strong>Joomla</strong>!-Erweiterung können Sie einen Newsletter in <strong>de</strong>r <strong>Joomla</strong>!-<br />
Umgebung erstellen und diesen an Ihre Benutzer und/o<strong>de</strong>r Kun<strong>de</strong>n versen<strong>de</strong>n.<br />
Dabei können Sie natürlich auch auf bestehen<strong>de</strong> Content-Elemente Ihrer Site zurückgreifen.<br />
Auch ein Registrierungsformular steht für das bequeme Abonnieren<br />
<strong>de</strong>s Newsletters zur Verfügung.<br />
Für die Installation la<strong>de</strong>n Sie sich folgen<strong>de</strong> drei Dateien von <strong>de</strong>r JFactory-Website<br />
herunter und installieren diese wie gewohnt über das Installers-Menü.<br />
• com_lettermansubscribe_1.2.3.tar.gz<br />
• mod_lettermansubscribe_1.2.3.tar.gz<br />
• searchbot_letterman_1.2.3.tar.gz<br />
Anschließend ist Letterman über das Components-Menü verfügbar. Das Letterman-Menü<br />
stellt Ihnen drei Untermenüs zur Verfügung: Newsletter-Management,<br />
Abonnenten-Management und Konfiguration.<br />
12.10.1 Abonnenten verwalten<br />
Widmen wir uns zunächst <strong>de</strong>r Abonnentenverwaltung, mit <strong>de</strong>r Sie bestimmen, wer<br />
Ihren Newsletter bezieht. Wie wir später noch sehen wer<strong>de</strong>n, können sich Ihre<br />
www.brain-media.<strong>de</strong>
Letterman 383<br />
Benutzer einfach über das Frontend anmel<strong>de</strong>n und lan<strong>de</strong>n dann natürlich auch in<br />
<strong>de</strong>r Abonnentenverwaltung.<br />
Ein Blick auf die noch nackte Abonnentenverwaltung.<br />
Die Abonnentenverwaltung erlaubt Ihnen das manuelle Hinzufügen, Än<strong>de</strong>rn und<br />
Entfernen von Benutzern. Einfacher geht es allerdings, wenn Sie über <strong>de</strong>n Link<br />
Nutzer zuweisen bestehen<strong>de</strong> <strong>Joomla</strong>!-Benutzer in die Verwaltung einfügen o<strong>de</strong>r<br />
einen Import einer bestehen<strong>de</strong>n Benutzerliste durchführen. In <strong>de</strong>m zugehörigen<br />
Formular wählen Sie einfach die Benutzer aus, die <strong>de</strong>n Newsletter erhalten sollen,<br />
und klicken dann auf Speichern. Um mehrere Benutzer zu markieren, halten Sie<br />
einfach die Strg-Taste gedrückt und markieren <strong>de</strong>r Reihe nach die gewünschten<br />
Benutzer.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
384 Weitere Must-have-Erweiterungen<br />
Importieren Sie einfach bestehen<strong>de</strong> Benutzerdaten<br />
in die Letterman-Abonnentenverwaltung.<br />
Noch einfacher erweitern Sie Ihre Abonenntenverwaltung, in<strong>de</strong>m Sie eine kommaseparierte<br />
Datei (CSV) mithilfe <strong>de</strong>r Importfunktion importieren. Da eigentlich je<strong>de</strong><br />
Drittanwendung Benutzerdaten nach CSV exportieren kann, ist es ein Leichtes,<br />
solche Daten einzulesen. Noch einfacher ist die Sache, wenn Sie Daten von YaNC<br />
(http://www.tim-online.nl/home/), einem alternativen Newslettersystem für<br />
<strong>Joomla</strong>!, o<strong>de</strong>r von einer weiteren Letterman-Installation importieren. Dazu geben<br />
Sie einfach in <strong>de</strong>m Importfeld <strong>de</strong>n Pfad zur XML-basierten Benutzerdatei ein und<br />
klicken auf Speichern.<br />
Wenn Sie eine CSV-Datei importieren, so können Sie vier Einstellungen anpassen:<br />
• Spalte Name<br />
• Spalte E-Mail-Adresse<br />
• Start von Zeile<br />
• CSV-Trennzeichen<br />
Ob hier Anpassungen erfor<strong>de</strong>rlich sind, ist in erster Linie von <strong>de</strong>r Datei abhängig,<br />
die Sie importieren wollen.<br />
www.brain-media.<strong>de</strong>
Letterman 385<br />
Wie bereits erwähnt, erlaubt die Abonnentenverwaltung auch <strong>de</strong>n einfachen Export<br />
von Benutzerdaten. Dazu klicken Sie einfach auf das Icon Nutzer exportieren. Eine<br />
Auswahl <strong>de</strong>r zu exportieren<strong>de</strong>n Benutzereinträge ist übrigens nicht erfor<strong>de</strong>rlich.<br />
Diese Exportdatei vereinfacht <strong>de</strong>n Datenaustausch mit an<strong>de</strong>ren Letterman-<br />
Installationen. Sie eignet sich auch für die Sicherung <strong>de</strong>r Abonnentendaten (dazu<br />
weiter unten mehr). Die Exportdatei erhält daher auch die Bezeichnung Backup-<br />
List_Lettermann_from_Datum.xml. Wenn Sie die <strong>de</strong>utschsprachige Letterman-<br />
Variante verwen<strong>de</strong>n, so wird auch das Datumsformat in <strong>de</strong>r uns geläufigen Form<br />
verwen<strong>de</strong>t. Die Datei heißt dann beispielsweise BackupList_Lettermann_from_31-<br />
10-2006.xml.<br />
Hier ein Beispiel für eine exportierte Benutzerdatei, die lediglich zwei Einträge<br />
besitzt:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
]><br />
<br />
<br />
1<br />
<br />
admin@192.168.0.21<br />
1<br />
2006-10-31 07:57:19<br />
<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
386 Weitere Must-have-Erweiterungen<br />
<br />
2<br />
<br />
testuser@192.168.0.21<br />
1<br />
2006-10-31 07:57:19<br />
<br />
<br />
12.10.2 Newsletter erstellen und versen<strong>de</strong>n<br />
Nach<strong>de</strong>m Sie in Ihre Abonnentenverwaltung die ersten Benutzer eingetragen bzw.<br />
importiert haben, können Sie sich an das Erstellen eines ersten Newsletters machen.<br />
Dazu wechseln Sie zur Newsletterverwaltung. Bei einer Standardinstallation<br />
fin<strong>de</strong>n Sie dort in <strong>de</strong>r Newsletter-Liste bereits einen Beispiel-Letter mit seinen<br />
Detailinformationen:<br />
• Betreff<br />
• Nachrichtentext bzw. die ersten Wörter<br />
• Datum, wann <strong>de</strong>r Newsletter erstellt wur<strong>de</strong><br />
• Datum, wann <strong>de</strong>r Letter zuletzt versandt wur<strong>de</strong><br />
• Jetzt sen<strong>de</strong>n<br />
• Veröffentlichungsstatus<br />
• Gesperrt<br />
Das Schöne an <strong>de</strong>r Verwaltungsfunktion: Sie können Ihren Newsletter erstellen<br />
und später manuell versen<strong>de</strong>n (eine Zeitsteuerung ist bislang lei<strong>de</strong>r nicht möglich).<br />
Um einen Newsletter zu erstellen, können Sie zwei Wege einschlagen: Sie stellen<br />
Ihr Mailing aus bestehen<strong>de</strong>n Content-Elementen zusammen o<strong>de</strong>r Sie erzeugen ihn<br />
von Grund auf neu. Im ersten Fall klicken Sie in <strong>de</strong>r Newsletterverwaltung auf<br />
Compose Newsletter.<br />
www.brain-media.<strong>de</strong>
Letterman 387<br />
Ein erster Newsletter wird aus bestehen<strong>de</strong>n<br />
Content-Elementen zusammengeschraubt.<br />
Die Handhabung <strong>de</strong>s Formulars ist ebenfalls sehr einfach: Geben Sie in <strong>de</strong>r Betreffzeile<br />
<strong>de</strong>n Nachrichtenbetreff und im darunterliegen<strong>de</strong>n Eingabefeld <strong>de</strong>n Text<br />
ein. Bei <strong>de</strong>r Texteingabe können Sie auf drei Platzhalter zurückgreifen, die dann in<br />
<strong>de</strong>n versen<strong>de</strong>ten Mails ersetzt wer<strong>de</strong>n:<br />
[NAME]<br />
[ATTACHMENT dateiname=""]<br />
[CONTENT id="##"]<br />
Mit <strong>de</strong>m Platzhalter [Name] erstellen Sie beispielsweise personalisierte Mails. Mit<br />
<strong>de</strong>m zweiten und dritten Platzhalter fügen Sie Attachments an die Mail ein. Um ein<br />
Content-Element einzufügen, positionieren Sie <strong>de</strong>n Cursor an die Stelle, an <strong>de</strong>r Sie<br />
die Inhalte einfügen wollen, und fügen dann das Element durch einen einfachen<br />
Klick in <strong>de</strong>r Auswahlliste ein. Im Textfeld wir nicht das gesamte Element, son<strong>de</strong>rn<br />
wird lediglich <strong>de</strong>r Platzhalter angezeigt.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
388 Weitere Must-have-Erweiterungen<br />
Mit einem Klick auf Speichern lan<strong>de</strong>n Sie in <strong>de</strong>r Editoransicht, in <strong>de</strong>r die existieren<strong>de</strong>n<br />
Elemente mit Ihren Eingaben eingefügt wer<strong>de</strong>n. Als Nächstes können Sie<br />
sich dann an das Bearbeiten und weitere Gestalten <strong>de</strong>s Mailings machen. Mit einem<br />
weiteren Klick auf Speichern lan<strong>de</strong>n Sie in <strong>de</strong>r Newsletter-Liste, in <strong>de</strong>r nun<br />
auch Ihr neuer Letter aufgeführt wird. Aus <strong>de</strong>r Newsletter-Liste heraus können Sie<br />
nun <strong>de</strong>n Newsletter verschicken und im Frontend mit einem Klick auf das Veröffentlicht-Icon<br />
publizieren.<br />
Der Versand <strong>de</strong>s ersten Newsletters.<br />
Um Ihren Letter auf die Reise zu bringen, klicken Sie einfach auf das Jetzt-sen<strong>de</strong>n-<br />
Icon. Im Newsletter-verschicken-Dialog bestimmen Sie zunächst, an wen <strong>de</strong>r<br />
Newsletter verschickt wer<strong>de</strong>n soll. Sie können Ihre Meldungen beispielsweise an<br />
alle Abonnenten (All Subscribers), alle Benutzergruppen, alle registrierten Benutzer<br />
o<strong>de</strong>r auch nur an die Admins verschicken.<br />
Die nächste wichtige Option erlaubt es Ihnen, <strong>de</strong>n Versand nur an bestätigte Benutzer<br />
durchzuführen. Nichtbestätigte User erhalten <strong>de</strong>n Newsletter also nicht,<br />
wenn Sie die Option Nur an bestätigte Accounts aktivieren.<br />
www.brain-media.<strong>de</strong>
Letterman 389<br />
Standardmäßig ist zu<strong>de</strong>m <strong>de</strong>r PHP-Timeout ausgeschaltet. Dies verhin<strong>de</strong>rt, dass<br />
das Versen<strong>de</strong>skript nach einer bestimmten Zeitspanne abbricht. Allerdings ist diese<br />
Option wirkungslos, wenn Sie <strong>de</strong>n Safe-Modus aktiviert haben (safe_mo<strong>de</strong>=On).<br />
Mit einem vorletzten Klick auf Publish bringen Sie Ihre Mail auf <strong>de</strong>n Weg, zumin<strong>de</strong>st<br />
fast. Es folgt eine Sicherheitsabfrage, ob Sie die Nachricht tatsächlich versen<strong>de</strong>n<br />
wollen. Diese bestätigen Sie mit OK.<br />
12.10.3 Letterman konfigurieren<br />
Nach<strong>de</strong>m wir nun alle wichtigen Aufgaben beim Erstellen, Verwalten und Versen<strong>de</strong>n<br />
Ihres Newsletters durchgespielt haben, werfen wir noch einen Blick auf die<br />
Letterman-Konfiguration. Anschließend gehen wir noch auf die Integration und die<br />
Sicht <strong>de</strong>s Frontends ein.<br />
Die Letterman-Konfiguration.<br />
In <strong>de</strong>r Letterman-Konfiguration können Sie folgen<strong>de</strong> Anpassungen vornehmen<br />
(diese sind lei<strong>de</strong>r bislang nicht lokalisiert):<br />
• Exten<strong>de</strong>d email address validation? Diese Einstellung ist lediglich für<br />
Nicht-Windows-Systeme relevant. Wenn Sie diese auf Yes setzen, so wird<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
390 Weitere Must-have-Erweiterungen<br />
geprüft, ob das Zielsystem eine gültige Adresse hat und ob das Ziel die<br />
Mail empfangen kann.<br />
• Embed images into the email? Mit dieser Option legen Sie fest, ob Bil<strong>de</strong>r<br />
in die Mail eingebettet wer<strong>de</strong>n o<strong>de</strong>r ob eine Referenz zu <strong>de</strong>n Online-<br />
Dateien eingefügt wird. In <strong>de</strong>r Standar<strong>de</strong>instellung Yes wer<strong>de</strong>n die Bil<strong>de</strong>r<br />
eingefügt. Das führt zwar zu größeren Mails, aber <strong>de</strong>r Empfänger bekommt<br />
die Bil<strong>de</strong>r unmittelbar zu Gesicht.<br />
• Number of personalizable mails to send per step? Mit dieser Konfiguration<br />
legen Sie fest, wie viele personalisierte Mails, also solche, die das<br />
[Name]-Tag verwen<strong>de</strong>n, auf einen Schlag versen<strong>de</strong>t wer<strong>de</strong>n. Wenn Sie<br />
mehr als die hier <strong>de</strong>finierten personalisierten Empfänger vorgesehen haben,<br />
wer<strong>de</strong>n diese in einem zweiten, dritten o<strong>de</strong>r weiteren Schritt versandt.<br />
• Number of mails to send per step? Hier legen Sie die Anzahl an Mails<br />
fest, die in einem Schritt versandt wer<strong>de</strong>n und nicht das [Name]-Tag aufweisen.<br />
• File attachment directory: Hier bestimmen Sie das Verzeichnis, in <strong>de</strong>m<br />
die möglichen Dateianhänge gespeichert sind. Diese Dateien können dann<br />
beim Erstellen eines Newsletters über das Register Attachment in die Sendung<br />
eingefügt wer<strong>de</strong>n.<br />
• The CSS styles which are used to style the HTML newsletter: Schließlich<br />
können Sie das Stylesheet einsehen und bearbeiten, das für die Formatierung<br />
Ihres Newsletters verwen<strong>de</strong>t wird.<br />
Für <strong>de</strong>n Einstieg in die Newsletter-Komponente sind Sie mit <strong>de</strong>n Standar<strong>de</strong>instellungen<br />
sicherlich gut bedient. Wenn Sie Letterman besser kennen (und schätzen)<br />
gelernt haben, ist sicherlich die ein o<strong>de</strong>r an<strong>de</strong>re Anpassung erfor<strong>de</strong>rlich.<br />
12.10.4 Letterman integrieren und nutzen<br />
Inzwischen kennen Sie Letterman aus <strong>de</strong>m Effeff. Werfen wir noch einen kurzen<br />
Blick auf die Integration und Nutzung im Frontend. Sie integrieren die<br />
Newsletterfunktion am einfachsten über die <strong>Joomla</strong>!-Menükonfiguration. Am einfachsten<br />
erzeugen Sie einen neuen Menüeintrag, beispielsweise im Hauptmenü,<br />
über <strong>de</strong>n Ihre Benutzer auf die Newsletteranmeldung und -Liste zugreifen können.<br />
Öffnen Sie dazu das Hauptmenü und bin<strong>de</strong>n Sie über New die Newsletter-<br />
www.brain-media.<strong>de</strong>
Letterman 391<br />
Komponente ein. Ist Ihr Menü entsprechend erweitert, erfolgt <strong>de</strong>r Zugriff auf die<br />
Newsletterfunktion über <strong>de</strong>n von Ihnen erstellten Menüeintrag.<br />
Die Newsletter-Komponente im Frontend.<br />
Wie Sie voranstehen<strong>de</strong>r Abbildung entnehmen können, führt Letterman im Frontend<br />
die publizierten Newsletter auf und erlaubt über <strong>de</strong>n Link Subscribe to our<br />
Newsletter das Abonnieren <strong>de</strong>s Newsletters. Das Registrierungsformular ist übrigens<br />
sehr einfach: Es verlangt lediglich die Angabe <strong>de</strong>s Namens und <strong>de</strong>r E-Mail-<br />
Adresse.<br />
Mehr braucht man nicht: das simple Registrierungsformular.<br />
12.10.5 Troubleshooting<br />
Obwohl Letterman eine ausgewachsene und soli<strong>de</strong> <strong>Joomla</strong>!-Erweiterung ist, offenbaren<br />
sich im Praxiseinsatz immer wie<strong>de</strong>r Probleme. Beachten Sie, wenn Sie beispielsweise<br />
eine Deinstallation <strong>de</strong>r Letterman-Komponente durchführen, Folgen<strong>de</strong>s:<br />
Als ein <strong>de</strong>r wenigen Komponenten löscht Letterman beim Deinstallieren auch<br />
seine Einträge in <strong>de</strong>r Datenbank. Das be<strong>de</strong>utet, dass auch die<br />
Newsletterabonnenten gelöscht wer<strong>de</strong>n. Daher sollten Sie Ihre Benutzer vorher<br />
exportieren – sofern Sie diese Daten an an<strong>de</strong>rer Stelle o<strong>de</strong>r in einem alternativen<br />
Newslettersystem benötigen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
392 Weitere Must-have-Erweiterungen<br />
Ein weiteres Problem hat in <strong>de</strong>r Vergangenheit immer wie<strong>de</strong>r Benutzer zu schaffen<br />
gemacht, bei <strong>de</strong>m beim An- und Abmel<strong>de</strong>n die Fehlermeldung ausgegeben wird:<br />
Eine Nachricht über die Teilnahme am Newsletter-Service konnte<br />
nicht versen<strong>de</strong>t wer<strong>de</strong>n.<br />
Die An- bzw. Abmeldung selbst funktioniert. Es wer<strong>de</strong>n nur keine Mails verschickt,<br />
auch wenn sonstige Mail-Anwendungen problemlos laufen. Dieses Phänomen<br />
tritt meist erstmals nach <strong>de</strong>m Update auf <strong>Joomla</strong> 1.0.11 auf. Hintergrund:<br />
Die Funktion mosMail wur<strong>de</strong> zur <strong>Joomla</strong>!-Version 1.0.11 geän<strong>de</strong>rt. Es muss jetzt<br />
eine gültige E-Mail-Adresse als Parameter übergeben wer<strong>de</strong>n (vorher wur<strong>de</strong> dann<br />
einfach standardmäßig die globale Absen<strong>de</strong>radresse genommen). Daher sind verschie<strong>de</strong>ne<br />
Än<strong>de</strong>rungen an <strong>de</strong>r Datei /components/com_letterman/letter-man.php<br />
notwendig. Und zwar müssen Sie zunächst <strong>de</strong>n Co<strong>de</strong> in <strong>de</strong>n Zeilen 2 78 und 279<br />
än<strong>de</strong>rn:<br />
function saveSubscriber($name, $email){<br />
global $database, $my, $Itemid, $mosConfig_live_site,<br />
$mosConfig_fromname, $mosConfig_mailfrom,<br />
$mosConfig_absolute_path, $lm_params;<br />
Dann sind die Zeilen 322 bis 324 dran:<br />
if( !$send = mosMail( $mosConfig_mailfrom, $mosConfig_fromname,<br />
$email, $subject, $content) ) {<br />
echo 'alert("'.LM_ERROR_SENDING_SUBSCRIBE.<br />
$send . '");';<br />
}<br />
Dann die Zeilen 332 und 333:<br />
function <strong>de</strong>leteSubscriber($name, $email ){<br />
global $database, $Itemid, $my, $mosConfig_live_site,<br />
$mosConfig_fromname, $mosConfig_mailfrom;<br />
Schließlich müssen Sie die Zeilen 359 bis 361 wie folgt anpassen:<br />
if( !$send = mosMail($mosConfig_mailfrom, $mosConfig_fromname,<br />
$email, $subject, $content) ) {<br />
www.brain-media.<strong>de</strong>
Letterman 393<br />
echo 'alert("'.LM_ERROR_SENDING_UNSUBSCRIBE<br />
. $send . '");';<br />
}<br />
Mit diesen Än<strong>de</strong>rungen wer<strong>de</strong>n Mail From und From Mail aus <strong>de</strong>r Datei configuration.php<br />
übernommen. Beachten Sie, dass unter Mail From eine gültige E-Mail-<br />
Adresse angegeben wer<strong>de</strong>n muss. Nach diesen Anpassungen sollte auch <strong>de</strong>r Mailversand<br />
wie<strong>de</strong>r problemlos funktionieren.<br />
Trotz verschie<strong>de</strong>ner Probleme ist Letterman in je<strong>de</strong>m Fall eine Evaluierung wert.<br />
Ob die Komponente letztlich Ihren Anfor<strong>de</strong>rungen gerecht wird, zeigt sich ohnehin<br />
meist erst nach <strong>de</strong>n ersten Einsätzen. Unter <strong>de</strong>n freien Tools ist Letterman sicherlich<br />
die beste Newsletter-Komponente.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
394 Sicherheit<br />
13 Sicherheit<br />
Da Content-Managementsysteme wie <strong>Joomla</strong>! mehr und mehr das Herzstück <strong>de</strong>r<br />
Dokumentenerstellung und -entwicklung in Unternehmen bil<strong>de</strong>n, stellt sich gera<strong>de</strong><br />
bei kritischen Systemen immer auch die Frage, wie sicher ist die Umgebung, welche<br />
Sicherheitsrisiken lauern und wie kann man sich schützen? Die zentralen Fragen<br />
beim Einsatz eines Content-Managementsystems sind:<br />
• Gibt es vor<strong>de</strong>finierte Gruppen innerhalb eines Rollenkonzepts?<br />
• Kann <strong>de</strong>r Zugriff mittels Benutzer- und Gruppenverwaltung entsprechend<br />
<strong>de</strong>n Anfor<strong>de</strong>rungen gesteuert wer<strong>de</strong>n?<br />
• Gibt es Schutzmechanismen vor versehentlichem gleichzeitigem Zugriff<br />
mehrerer Personen auf ein Dokument?<br />
• Kann die Kommunikation zwischen CMS und Client verschlüsselt wer<strong>de</strong>n?<br />
• Und wie wird das System technisch vor Fremdzugriffen geschützt?<br />
Einziges Problem: Diese Fragen berücksichtigen lediglich die Sicherheit <strong>de</strong>s eigentlichen<br />
CMS, lassen aber Sicherheitsfragen <strong>de</strong>r CMS-Umgebung außen vor. Im<br />
Fall von CMS wie <strong>Joomla</strong>!, Typo & Co., die allesamt auf einer Apache-, MySQL-,<br />
PHP-Installation basieren, muss man das sicherheitstechnische Augenmerk weiter<br />
fassen. Zu berücksichtigen sind auch Fragen <strong>de</strong>r Apache-, Datenbank- und PHP-<br />
Sicherheit. Natürlich spielt auch die Datensicherheit und -sicherung eine wichtige<br />
Rolle.<br />
Im Hinterkopf sollte man immer behalten, dass eine Vielzahl an Risiken <strong>de</strong>n Betrieb<br />
eines CMS gefähr<strong>de</strong>n kann. Neben <strong>de</strong>n „Standardrisiken“ sollte man sich<br />
beispielsweise auch mit Cross-Site-Scripting und SQL-Injektion auseinan<strong>de</strong>rsetzen.<br />
Beim Entwurf einer Sicherheitsstrategie ist auch zu berücksichtigen, ob es<br />
sich um eine Intranet- o<strong>de</strong>r Extranet-Site han<strong>de</strong>lt – o<strong>de</strong>r bei<strong>de</strong>s.<br />
13.1 Standardsicherheit<br />
<strong>Joomla</strong>! besitzt für die Standardsicherung ausreichen<strong>de</strong> Funktionen, mit <strong>de</strong>nen man<br />
insbeson<strong>de</strong>re <strong>de</strong>n Zugriff auf Elemente, auf Inhalte etc. steuern kann. Das Herz-<br />
www.brain-media.<strong>de</strong>
Standardsicherheit 395<br />
stück bil<strong>de</strong>t <strong>de</strong>r so genannte User Manager, <strong>de</strong>r über das Menü Site verfügbar ist.<br />
Über <strong>de</strong>n Benutzermanager verwalten Sie bekanntlich bestehen<strong>de</strong> Einträge und<br />
erzeugen neue.<br />
Ein neuer Benutzer mit <strong>de</strong>n gewünschten Rechten.<br />
Über die Elementverwaltung kann zu<strong>de</strong>m gesteuert wer<strong>de</strong>n, wer welche Elemente<br />
nutzen kann. Die Nutzung von Modulen <strong>de</strong>finiert man entsprechend in <strong>de</strong>r Modulverwaltung.<br />
So verfügt das System für nahezu je<strong>de</strong>n Bereich über Steuerungsfunktionen.<br />
Damit sind die wichtigsten <strong>Joomla</strong>!-spezifischen Funktionen genannt. Womöglich<br />
wer<strong>de</strong>n kommen<strong>de</strong> <strong>Joomla</strong>!-Versionen eine „echte“ Backup-Funktion<br />
bieten, wie sie in einer Mambo-Betaversion bereits integriert war.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
396 Sicherheit<br />
Die Sicherung <strong>de</strong>r Mambo-Datenbank war in Mambo-Beta-<br />
Versionen bereits verfügbar. Wann damit in <strong>Joomla</strong>! zu<br />
rechnen ist, ist lei<strong>de</strong>r unklar.<br />
13.2 Sicherheit <strong>de</strong>r CMS-Umgebung<br />
Ein Content-Managementsystem wie <strong>Joomla</strong>! ist durch vielerlei Techniken angreifbar.<br />
Dazu gehören beispielsweise die Ausnutzung von unsicheren Webserver-,<br />
PHP- o<strong>de</strong>r Datenbankkonfigurationen. Natürlich lassen sich auch unsichere Verbindungen<br />
nutzen. Aber auch Techniken wie Cross-Site-Scripting o<strong>de</strong>r SQL-<br />
Injektion bereiten Probleme.<br />
13.2.1 Cross-Site-Scripting<br />
Beim so genannten Cross-Site-Scripting wer<strong>de</strong>n Sicherheitslücken im Browser<br />
ausgenutzt, um Benutzereingaben zu manipulieren, die an eine Web-Anwendung<br />
übergeben wer<strong>de</strong>n. Ein Angreifer kann dadurch dann unter an<strong>de</strong>rem schädlichen<br />
Programmco<strong>de</strong> in eine für <strong>de</strong>n Benutzer normalerweise korrekte Umgebung einbetten.<br />
Der Angreifer kann auch versuchen, eine gewisse Kontrolle über die Ausführung<br />
<strong>de</strong>r Web-Anwendung zu erlangen. Ziel dieser Attacke sind meist das Aus-<br />
www.brain-media.<strong>de</strong>
Sicherheit <strong>de</strong>r CMS-Umgebung 397<br />
spähen und die Manipulation von Benutzerdaten, wie beispielsweise Passwörtern<br />
o<strong>de</strong>r einfach das Ausführen von beliebigem Programmco<strong>de</strong>.<br />
Bislang gibt es lei<strong>de</strong>r keine einheitliche Definition für diese Angriffstechnik. Dennoch<br />
ist <strong>de</strong>n unterschiedlichen Definitionen das Angriffsszenario gemein, wonach<br />
versucht wird, schädlichen Programmco<strong>de</strong> in eine Web-Anwendung einzubetten,<br />
<strong>de</strong>r dann auf <strong>de</strong>r Client-Seite ausgeführt wird.<br />
Verwandte Szenarien versuchen <strong>de</strong>n Programmablauf auf <strong>de</strong>r Server-Seite zu beeinflussen.<br />
Sicherheitslücken können beispielsweise genutzt wer<strong>de</strong>n, um <strong>de</strong>n Server<br />
zu veranlassen, frem<strong>de</strong>n Programmco<strong>de</strong> zu la<strong>de</strong>n und auszuführen. Benutzt die<br />
Web-Anwendung eine Datenbank, wie es bei <strong>Joomla</strong>! <strong>de</strong>r Fall ist, so kann durch<br />
Manipulation <strong>de</strong>r SQL-Befehle versucht wer<strong>de</strong>n, Einträge in <strong>de</strong>r Datenbank zu<br />
verän<strong>de</strong>rn o<strong>de</strong>r Abfrageergebnisse zu fälschen.<br />
Was passiert nun bei solchen Vorgängen genau? Web-Anwendungen, die beispielsweise<br />
PHP nutzen, dienen in <strong>de</strong>r Regel dazu, Inhalte dynamisch zu publizieren.<br />
Dabei wer<strong>de</strong>n die Benutzereingaben oft in <strong>de</strong>n GET-Parametern <strong>de</strong>r URL<br />
kodiert. Wer<strong>de</strong>n diese Parameter nun ohne eine vorherige Prüfung im Programm<br />
weiterverarbeitet, so kann man in diesen Parametern Programmco<strong>de</strong> unterbringen,<br />
<strong>de</strong>r dann in <strong>de</strong>r erzeugten Webseite auftaucht. Meist kommt hierfür JavaScript zum<br />
Einsatz, da dieses in <strong>de</strong>n meisten Browsern aktiviert ist. Theoretisch könnte man<br />
auch Programmco<strong>de</strong> in an<strong>de</strong>ren Programmiersprachen einschleusen.<br />
Wird nun <strong>de</strong>r Inhalt einer Variable, die über einen GET-Parameter an das Skript<br />
übergeben wur<strong>de</strong>, ungefiltert ausgegeben, so lan<strong>de</strong>t <strong>de</strong>r darin eingebettete Java-<br />
Script-Co<strong>de</strong> in <strong>de</strong>r Webseite und wird vom Browser ausgeführt. Da das lokal ausgeführte<br />
JavaScript Zugriff auf die vom Browser verwalteten Cookies hat, kann <strong>de</strong>r<br />
Inhalt <strong>de</strong>r Cookies ausgelesen und beispielsweise an eine an<strong>de</strong>re Webseite geschickt<br />
wer<strong>de</strong>n.<br />
Häufig verwen<strong>de</strong>n Web-Anwendungen zum Speichern <strong>de</strong>r Authentifikationsdaten<br />
solche Cookies, so dass ein Angreifer sich damit Zugang zu einer frem<strong>de</strong>n I<strong>de</strong>ntität<br />
erschleichen kann. Er muss sein Opfer nur dazu bringen, auf <strong>de</strong>n speziell präparierten<br />
URL zu klicken. Diese URLs können aber auch in Image-Tags untergebracht<br />
wer<strong>de</strong>n, wo sie dann automatisch beim La<strong>de</strong>n <strong>de</strong>r Webseite ausgeführt wer<strong>de</strong>n.<br />
Beliebte Cross-Site-Scripting-Ziele sind Foren, Gästebücher, Suchformulare,<br />
Webmailer und sogar dynamisch generierte Fehler-404-Seiten.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
398 Sicherheit<br />
Cross-Site-Scripting stellt ein erhebliches Problem für User dar.<br />
Schützen kann man sich in<strong>de</strong>s recht einfach. Eine wichtige Schutzmaßnahme ist<br />
die Überprüfung sämtlicher Benutzereingaben. Das schließt neben <strong>de</strong>n HTTP-<br />
GET- und -POST-Variablen auch die Cookies ein, die ja auch vom Client an <strong>de</strong>n<br />
Server übermittelt wer<strong>de</strong>n. Bei <strong>de</strong>r Überprüfung sollten alle nicht akzeptablen<br />
Werte, die nicht innerhalb eines fest <strong>de</strong>finierten Wertebereichs liegen, herausgefiltert<br />
wer<strong>de</strong>n. Son<strong>de</strong>rzeichen, die vom Browser beson<strong>de</strong>rs interpretiert wer<strong>de</strong>n (wie<br />
etwa die spitzen Klammern < und >), müssen vor <strong>de</strong>r Ausgabe in ihre HTML-<br />
Entities konvertiert wer<strong>de</strong>n. Diese Schutzmaßnahmen sind einfach zu implementieren,<br />
allerdings auch mit einem gewissen zeitlichen Aufwand verbun<strong>de</strong>n.<br />
Obige Abbildung zeigt ein typisches Szenario beim Cross-Site-Scripting. Im ersten<br />
Schritt erhält ein Benutzer eine HTML-Mail, die beispielsweise Links und/o<strong>de</strong>r<br />
Grafiken enthält. Der ahnungslose User klickt auf einen Verweis und wird zu einer<br />
gefährlichen Website geführt. Diese sen<strong>de</strong>t bösartigen Co<strong>de</strong> an <strong>de</strong>n Anwen<strong>de</strong>r<br />
www.brain-media.<strong>de</strong>
Sicherheit <strong>de</strong>r CMS-Umgebung 399<br />
zurück. Nun führt das Skript auf <strong>de</strong>m Host-Rechner die gewünschten Aktionen aus<br />
und sen<strong>de</strong>t beispielsweise ausgespähte Daten an <strong>de</strong>n Hacker.<br />
13.2.2 SQL-Injektion<br />
Ein weiteres Problem sind die so genannten SQL-Injektionen. Bei dieser Technik<br />
versucht <strong>de</strong>r Angreifer, SQL-Abfragen zu manipulieren. Hierzu wird über die Applikation,<br />
die <strong>de</strong>n Zugriff auf die Datenbank bereitstellt, versucht, SQL-Statments<br />
einzufügen.<br />
Man fin<strong>de</strong>t SQL-Injektion oft bei CGI-Scripts. Aber auch Programme, die an<strong>de</strong>re<br />
Daten, etwa Webseiteninhalte o<strong>de</strong>r E-Mails, in SQL-Datenbanken eintragen, sind<br />
anfällig für diese Technik. Konkret wird versucht, weitere SQL-Anfor<strong>de</strong>rungen<br />
einzuschleusen o<strong>de</strong>r die Abfragen so zu manipulieren, dass man zusätzliche Daten<br />
erhält. Manche Datenbanksysteme bieten auch die Möglichkeit, Zugriff auf eine<br />
Shell zu erhalten, womit <strong>de</strong>r ganze Server kompromittierbar wird.<br />
13.2.3 Angriff auf CGI<br />
Bei Umgebungen wie <strong>Joomla</strong>! sind auch CGI-Funktionen mögliche Angriffsziele.<br />
Man kann PHP als CGI nutzen, wenn kein Modul in die Serversoftware eingebun<strong>de</strong>n<br />
wer<strong>de</strong>n soll. Sinn macht es auch bei Systemen, bei <strong>de</strong>nen verschie<strong>de</strong>ne CGI-<br />
Wrapper genutzt wer<strong>de</strong>n sollen, um sichere chroot- und setuid-Umgebungen für<br />
Skripts zu schaffen.<br />
In solchen Konfigurationen wird das ausführbare PHP-Binary meist im Cgi-bin-<br />
Verzeichnis <strong>de</strong>s Webservers installiert. Problematisch ist dabei die Platzierung von<br />
Interpretern im Cgi-bin-Verzeichnis. Obwohl das PHP-Binary als eigenständiger<br />
Interpreter verwen<strong>de</strong>t wer<strong>de</strong>n kann, wur<strong>de</strong> PHP so entwickelt, um <strong>de</strong>m durch diese<br />
Konfiguration möglich wer<strong>de</strong>n<strong>de</strong>n Angriff vorzubeugen:<br />
• Zugriff auf Systemdateien (www.server.<strong>de</strong>/cgi-bin/php?/etc/passwd):<br />
Bei Requests, bei <strong>de</strong>nen auf ein Fragezeichen eine Abfrageinformation erfolgt,<br />
wird durch das CGI-Interface als Kommandozeilenargument an <strong>de</strong>n<br />
Interpreter übergeben. In <strong>de</strong>r Kommandozeile wird üblicherweise die im<br />
ersten Argument angegebene Datei von Interpretern geöffnet und ausgeführt.<br />
Beim Aufruf als CGI-Binary verweigert PHP die Interpretation <strong>de</strong>r<br />
Kommandozeilenargumente.<br />
• Zugriff auf beliebige Web-Dokumente auf <strong>de</strong>m Server<br />
(www.server.<strong>de</strong>/cgi-bin/php/gemein/doc.html): Der Teil <strong>de</strong>s URLs nach<br />
<strong>de</strong>r Angabe <strong>de</strong>r PHP-Binärdatei wird meist dazu genutzt, um <strong>de</strong>n Namen<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
400 Sicherheit<br />
<strong>de</strong>r Datei zu übergeben, die durch das CGI-Programm geöffnet und interpretiert<br />
wer<strong>de</strong>n soll. Normalerweise wer<strong>de</strong>n einige Einträge in <strong>de</strong>r Konfigurationsdatei<br />
<strong>de</strong>s Webservers benutzt (Apache: Action), um Aufrufe von<br />
Dokumenten an <strong>de</strong>n PHP-Interpreter umzuleiten. Unglücklicherweise<br />
wird, wenn <strong>de</strong>r Aufruf bereits in dieser Form geschieht, vom Webserver<br />
keine Zugriffsüberprüfung <strong>de</strong>r Datei /secret/script.php, son<strong>de</strong>rn lediglich<br />
<strong>de</strong>r Datei /cgi-bin/php vorgenommen. So ist je<strong>de</strong>r Benutzer, <strong>de</strong>r auf /cgibin/php<br />
zugreifen darf, in <strong>de</strong>r Lage, sich zu je<strong>de</strong>m geschützten Dokument<br />
auf <strong>de</strong>m Webserver Zugriff zu verschaffen.<br />
• Bei PHP kann die Konfigurationsoption --enable-force-cgi-redirect und<br />
zur Laufzeit die Konfigurationsdirektiven doc_root und user_dir verwen<strong>de</strong>t<br />
wer<strong>de</strong>n, um diesen Angriff zu verhin<strong>de</strong>rn.<br />
13.2.4 Apache-Einstellungen<br />
Auch die Konfiguration <strong>de</strong>s Apache-Webservers hat großen Einfluss auf die Sicherheit<br />
<strong>de</strong>r Umgebung. Dabei wird häufig <strong>de</strong>r Fehler gemacht, <strong>de</strong>m Apache Root-<br />
Rechte zu erteilen. Problematisch ist außer<strong>de</strong>m das Ausweiten <strong>de</strong>r Möglichkeiten<br />
von Apache. Insbeson<strong>de</strong>re die Ausweitung <strong>de</strong>r Benutzerrechte für Apache auf Root<br />
ist äußerst problematisch, <strong>de</strong>nn das gesamte System kann in Mitlei<strong>de</strong>nschaft gezogen<br />
wer<strong>de</strong>n. Doch auch hierfür gibt es recht einfache Lösungen.<br />
Mit open_basedir() kann man beispielsweise kontrollieren, welche Verzeichnisse<br />
PHP verwen<strong>de</strong>n dürfen und welche nicht. Man kann auch Bereiche nur für Apache<br />
einrichten, um alle webbasierten Aktivitäten auf Nicht-Benutzer- bzw. Nicht-<br />
System-Dateien einzuschränken. Dazu sollte man alle htaccess-Dateien um folgen<strong>de</strong>n<br />
Co<strong>de</strong> erweitern:<br />
<br />
Or<strong>de</strong>r allow,<strong>de</strong>ny<br />
Deny from all<br />
<br />
Natürlich sollte auch die Datei .htaccess geschützt wer<strong>de</strong>n. Nun schützt man die<br />
Datei vor Angreifern, <strong>de</strong>nn sie soll ja für alle lesbar und für <strong>de</strong>n Besitzer schreibbar<br />
sein:<br />
chmod 655 .htacsess<br />
www.brain-media.<strong>de</strong>
Sicherheit <strong>de</strong>r CMS-Umgebung 401<br />
13.2.5 Dateisystem-Sicherheit<br />
Bei Umgebungen wie <strong>Joomla</strong>!, die insbeson<strong>de</strong>re auf PHP basieren, sind die implementierten<br />
Sicherheitseinstellungen hinsichtlich <strong>de</strong>r Berechtigungen auf Dateiund<br />
Verzeichnisebene abhängig. Daraus folgt, dass man mit entsprechen<strong>de</strong>n Dateisystem-spezifischen<br />
Sicherheitseinstellungen steuern kann, welche Dateien in <strong>de</strong>m<br />
Dateisystem gelesen wer<strong>de</strong>n dürfen. Vorsicht ist bei lesbaren Dateien geboten, um<br />
sicherzustellen, dass diese sicher von allen Usern mit Zugriff auf dieses Dateisystem<br />
(nur) gelesen wer<strong>de</strong>n können.<br />
Eine Eigenschaft von PHP ist es, Zugriffe auf das Dateisystem auf Benutzerebene<br />
zu erlauben. Damit ist es natürlich auch möglich, ein PHP-Skript zu schreiben, das<br />
beispielsweise Systemdateien wie /etc/passwd lesen, Ethernetverbindungen modifizieren<br />
o<strong>de</strong>r auch Druckaufträge sen<strong>de</strong>n kann. Der Mambo-Administrator muss<br />
sich also auch um diese Einstellungen kümmern und dafür sorgen, dass die zu<br />
lesen<strong>de</strong>n bzw. zu schreiben<strong>de</strong>n Dateien auch die richtigen sind.<br />
13.2.6 XAMPP-Sicherheit<br />
Setzt man XAMPP als Grundlage für die Mambo-Installation ein, so sollte man<br />
auch die von XAMPP bereitgestellten Sicherheitsfunktionen nutzen. XAMPP ist<br />
von Haus aus nicht für <strong>de</strong>n Produktionseinsatz gedacht, son<strong>de</strong>rn als Entwicklungsumgebung<br />
konzipiert. Daher sind die sicherheitsrelevanten Vorgaben auch nicht<br />
son<strong>de</strong>rlich restriktiv. Konkret heißt das:<br />
• Der MySQL-Administrator (root) hat kein Passwort.<br />
• Der MySQL-Daemon ist übers Netzwerk erreichbar.<br />
• Der ProFTPD-Daemon benutzt das Passwort „lampp“.<br />
• phpMyAdmin ist übers Netzwerk erreichbar.<br />
• MySQL und Apache laufen unter <strong>de</strong>r gleichen Benutzerkennung (nobody).<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
402 Sicherheit<br />
Wichtig für eine XAMPP-basierte Umgebung:<br />
die Anpassung <strong>de</strong>r Sicherheitseinstellungen.<br />
Um diese Einstellungen zu bearbeiten, führt man unter Linux das Sicherheits-<br />
Skript aus, mit <strong>de</strong>m man die Einstellungen bearbeiten kann:<br />
/opt/lampp/lampp security<br />
Das Skript führt <strong>de</strong>n Anwen<strong>de</strong>r durch die verschie<strong>de</strong>nen Einstellungen.<br />
Unter Windows können Sie verschie<strong>de</strong>ne sicherheitsrelevante Einstellungen über<br />
<strong>de</strong>n URL http://localhost/security/xamppsecurity.php anpassen. Beachten Sie allerdings,<br />
dass Sie diese Einstellungen nur über localhost, also nicht von einem<br />
Drittsystem aus än<strong>de</strong>rn können.<br />
www.brain-media.<strong>de</strong>
Sicherheit <strong>de</strong>r CMS-Umgebung 403<br />
Bei XAMPP für Windows stehen Ihnen ein Web-basiertes Formular<br />
für die Anpassungen <strong>de</strong>r MySQL- und das XAMPP-Verzeichnis-<br />
Sicherheit zur Verfügung.<br />
13.2.7 SSL-Verschlüsselung<br />
Für die Sicherung <strong>de</strong>r Verbindung zwischen <strong>de</strong>m Client und <strong>de</strong>m Mambo-System<br />
sollte SSL genutzt wer<strong>de</strong>n. Das gilt insbeson<strong>de</strong>re dann, wenn die Mambo-Site <strong>de</strong>r<br />
internen und externen Veröffentlichung von Dokumenten dient.<br />
Auch hierfür muss erst die SSL-Unterstützung für <strong>de</strong>n Apache eingerichtet und<br />
aktiviert wer<strong>de</strong>n. Auch das ist mithilfe von XAMPP kein Problem. Unter Linux<br />
aktivieren Sie die SSL-Unterstützung einfach mit folgen<strong>de</strong>m Befehl:<br />
/opt/lampp/lampp startssl<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
404 Sicherheit<br />
Der Vorteil: Man spart sich das Einrichten <strong>de</strong>r OpenSSL-Komponenten.<br />
13.2.8 Schutz von Spambots<br />
Ein weiteres Problem für Website-Betreiber sind Spammer und <strong>de</strong>ren Spambots.<br />
Diese Tools durchforsten das Web nach i<strong>de</strong>ntifizierbaren E-Mail-Adressen, sammeln<br />
diese entsprechend <strong>de</strong>n Vorgaben <strong>de</strong>s Benutzers und speichern die gewonnenen<br />
Daten. Solche Tools durchsuchen nicht nur öffentlich zugängliche Mitglie<strong>de</strong>rverzeichnisse<br />
von Online-Diensten wie Webmail, Messenger und Chat, son<strong>de</strong>rn<br />
gehen auch im Web auf Adressenjagd. Eine weitere wichtige Quelle sind Newsgroups.<br />
Als Administrator einer Web-Applikation sollte man unbedingt vermei<strong>de</strong>n, E-<br />
Mail-Adressen auf Seiten zu veröffentlichen, ohne zumin<strong>de</strong>st einfache Schutzmaßnahmen<br />
zu treffen. Es gibt verschie<strong>de</strong>ne Ansätze. Man sollte E-Mail-Adressen<br />
möglichst nicht im Klartext angeben. Mittels JavaScript o<strong>de</strong>r auch mithilfe <strong>de</strong>s<br />
Apache lassen sich diese Informationen verschleiern. Zum Kodieren von mailto-<br />
Links eignet sich beispielsweise <strong>de</strong>r Email Protector (www.jraca<strong>de</strong>my.com/<br />
~jtucek/email/download.php).<br />
Auch mithilfe <strong>de</strong>r Apache-Konfigurationsdateien robots.txt und .htaccess kann<br />
man sich Spambots entledigen. Dazu legt man einen Kö<strong>de</strong>r aus, in<strong>de</strong>m man in <strong>de</strong>r<br />
robots.txt ein Dummy-Verzeichnis angibt, das angeblich E-Mail-Adressen enthält.<br />
Nach einer bestimmten Zeit kann man anhand <strong>de</strong>r User-Agents in <strong>de</strong>n Log-Dateien<br />
feststellen, welche Bots <strong>de</strong>n Kö<strong>de</strong>r geschluckt haben. Diese sperrt man dann einfach<br />
über die .htaccess aus.<br />
13.3 Einsatz im Intranet- und Extranet<br />
Was sind nun bei unterschiedlichen Einsatzszenarien die optimalen Schutzmechanismen?<br />
Mambo ist hervorragend für <strong>de</strong>n internen Einsatz in Unternehmen geeignet.<br />
Einfach lassen sich mit seiner Unterstützung News verfassen, Artikel veröffentlichen<br />
etc. Außer<strong>de</strong>m kann man sich in Foren austauschen und <strong>de</strong>n Dokumentenmanager<br />
nutzen. Beim internen Einsatz sollte man immer im Hinterkopf behalten,<br />
dass externe User, die sich außerhalb <strong>de</strong>r Firmen-Firewall befin<strong>de</strong>n, nicht auf<br />
die <strong>Joomla</strong>!-Site zugreifen können, es sei <strong>de</strong>nn, man gewährt beispielsweise auf IP-<br />
Adressenbasis Zugriffsrechte.<br />
Für <strong>de</strong>n internen Betrieb sind folgen<strong>de</strong> Sicherungsmechanismen sinnvoll:<br />
• Einsatz von Benutzerkennung/Passwort mit <strong>de</strong>finierten Rechten im Rollensystem.<br />
www.brain-media.<strong>de</strong>
Einsatz im Intranet- und Extranet 405<br />
• Außer<strong>de</strong>m sollte <strong>de</strong>r Zugriff über htaccess gesteuert und begrenzt wer<strong>de</strong>n.<br />
• Nicht zwingend ist die Verwendung von SSL.<br />
• Die Zugriffskontrolle sollte über die internen IP-Adressen erfolgen. Die<br />
Verwendung von DHCP vereinfacht zwar die Zuteilung, stellt aber auch<br />
ein höheres Sicherheitsrisiko dar. Will man beispielsweise <strong>de</strong>m Rechner<br />
mit <strong>de</strong>r IP-Adresse 192.168.0.11 und <strong>de</strong>r Netzmaske 255.255.255.0 Zugriff<br />
gewähren, so lautet <strong>de</strong>r entsprechen<strong>de</strong> Eintrag in <strong>de</strong>r .htacess-Datei<br />
wie folgt:<br />
Or<strong>de</strong>r Deny,Allow<br />
Deny from all<br />
Allow from 192.168.0.11/255.255.255.0<br />
Bei <strong>Joomla</strong>! 1.0.11 sind diese Einstellungen übrigens Teil <strong>de</strong>r Installationsroutine.<br />
Die Firewallkonfiguration sollte entsprechend angepasst wer<strong>de</strong>n. Konkret be<strong>de</strong>utet<br />
das, dass man eine Regel hinzufügt, die <strong>de</strong>finiert, dass kein Traffic auf die IP-<br />
Adresse <strong>de</strong>s CMS zugelassen wird. Außer<strong>de</strong>m sollte durch eine entsprechen<strong>de</strong><br />
Firewallregel <strong>de</strong>r Traffic von <strong>de</strong>r <strong>Joomla</strong>!-Site nach draußen unterbun<strong>de</strong>n wer<strong>de</strong>n –<br />
außer er ist für spezifische Aufgaben erfor<strong>de</strong>rlich (und muss dann entsprechend<br />
konfiguriert wer<strong>de</strong>n).<br />
Websites, die über das Internet verfügbar sind, unterliegen naturgemäß einem <strong>de</strong>utlich<br />
höheren Sicherheitsrisiko. Daraus ergibt sich zwangsläufig, dass weitergehen<strong>de</strong><br />
Schutzmechanismen gefragt sind. Zunächst sollte man wie<strong>de</strong>r für die entsprechen<strong>de</strong>n<br />
Zugriffsrechte sorgen. Generell sollte man folgen<strong>de</strong> Maßnahmen ergreifen<br />
bzw. Einstellungen vornehmen:<br />
• Der Zugriff für alle Redakteure, Manager und Administratoren sollte per<br />
SSL erfolgen.<br />
• Zusätzlich sollten berechtigte Benutzer über htaccess beschränkt wer<strong>de</strong>n.<br />
Wichtig ist dabei, dass zunächst eine SSL-Verbindung erzwungen wird,<br />
bevor eine Authentifizierung vorgenommen wird.<br />
• Die Firewall-Regeln sollten auf die externen IP-Adressen abgestimmt<br />
sein.<br />
• Für beson<strong>de</strong>rs kritische Aufgaben wie die Remote-Administration sollte<br />
<strong>de</strong>r Aufbau eines VPNs in Erwägung gezogen wer<strong>de</strong>n.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
406 Sicherheit<br />
• Die Webserver/Mambo-Site sollte sich in einer <strong>de</strong>militarisierten Zone<br />
(DMZ) befin<strong>de</strong>n.<br />
Beim Einsatz im Extranet kommt hinzu, dass gelegentlich auch anonyme Benutzer<br />
die Inhalte nutzen können. Bei <strong>de</strong>ren Rechtekonfiguration ist beson<strong>de</strong>re Vorsicht<br />
geboten.<br />
Mit <strong>de</strong>n oben beschriebenen Maßnahmen ist ein hohes Maß an Sicherheit beim<br />
Betrieb eines Content-Managementsystems Gewähr geleistet. Ein guter Administrator<br />
versteht seine Aufgaben aber nicht als einmalige Sache, son<strong>de</strong>rn ist bemüht,<br />
ein System dauerhaft zu pflegen. Daher sollte man obige Sicherheitsmaßnahmen<br />
mit folgen<strong>de</strong>n Maßnahmen ergänzen:<br />
• Auswertung <strong>de</strong>r Logfiles mit geeigneten Mitteln, die über das hinausgehen,<br />
was die Mambo-Statistiken leisten können, beispielsweise mit<br />
AWstats (www.awstats.org).<br />
• Das System sollte mit Patches, Updates etc. auf <strong>de</strong>m neuesten Stand gehalten<br />
wer<strong>de</strong>n. Update-Services, wie sie von SuSE & Co. angeboten wer<strong>de</strong>n,<br />
helfen dabei.<br />
• Es sollte zumin<strong>de</strong>st eine Host-basierte Firewall verwen<strong>de</strong>t wer<strong>de</strong>n.<br />
• Außer<strong>de</strong>m sollten regelmäßig Backups durchgeführt wer<strong>de</strong>n.<br />
Durch die Kombination <strong>de</strong>r oben beschriebenen Sicherheitsmaßnahmen und die<br />
Durchführung ergänzen<strong>de</strong>r Maßnahmen erzielt man ein hohes Maß an Sicherheit.<br />
Mehr Aufwand ist in <strong>de</strong>r Regel nicht erfor<strong>de</strong>rlich.<br />
13.4 Checkliste für mehr Sicherheit<br />
Nach<strong>de</strong>m Sie einen groben Überblick zum Thema Sicherheit haben, wollen wir<br />
Ihnen in diesem Kapitel noch einige konkrete Tipps und Hinweise an die Hand<br />
geben, damit Sie Ihre Umgebung ein Stück sicherer machen können. Hier einige<br />
allgemeine Punkte, die für Ihre Systemsicherheit wichtig sind:<br />
• Beim Aufsetzen eines lokalen Entwicklungsservers sollten Sie zunächst<br />
die Upgra<strong>de</strong>s lokal testen und erst nach ausgiebigen Tests auch auf <strong>de</strong>m<br />
Produktionsserver aufspielen.<br />
• Speziell beim MySQL ist in Verbindung mit Shared-Servern darauf zu<br />
achten, dass Ihre Datenbank nicht für Dritte sichtbar ist. Denn Sichtbar-<br />
www.brain-media.<strong>de</strong>
Checkliste für mehr Sicherheit 407<br />
keit erleichtert natürlich potenziellen Angreifern die Durchführung von<br />
Attacken.<br />
• Auch um die Sicherheit Ihrer php.ini sollten Sie sich kümmern. Hier fin<strong>de</strong>n<br />
Sie im <strong>Joomla</strong>!-Forum interessante Tipps<br />
(http://forum.joomla.org/in<strong>de</strong>x.php/topic,75990.msg411018.html#msg411<br />
018).<br />
Und einige Anmerkungen zur konkreten Verbesserung <strong>de</strong>s <strong>Joomla</strong>!-Systems:<br />
• Es ist eigentlich eine Selbstverständlichkeit: La<strong>de</strong>n Sie <strong>Joomla</strong>! nur von<br />
<strong>de</strong>n offiziellen und vertrauenswürdigen Seiten herunter.<br />
• Sie sollten außer<strong>de</strong>m die <strong>Joomla</strong>!-Sicherheitsankündigungen <strong>de</strong>s offiziellen<br />
<strong>Joomla</strong>!-Forums abonnieren o<strong>de</strong>r diese regelmäßig lesen.<br />
• Es ist ratsam, alle Templates zu entfernen, die für Ihre Installation nicht<br />
benötigt wer<strong>de</strong>n. Vor allem packen Sie keinerlei sicherheitsrelevanten<br />
Co<strong>de</strong> in Ihre Template-Dateien.<br />
• Oftmals wird das Editieren <strong>de</strong>r Datei globals.php empfohlen, um die<br />
<strong>Joomla</strong>!-register_globals-Emulation zu <strong>de</strong>aktivieren. Auch wenn diese<br />
Emulation sicherer ist als die PHP-register_globals-Anweisung, ist es<br />
immer noch am besten, register_globals generell zu <strong>de</strong>aktivieren. Die entsprechen<strong>de</strong><br />
Einstellung sieht wie folgt aus:<br />
<strong>de</strong>fine( 'RG_EMULATION', 0 );<br />
Allerdings kann diese Än<strong>de</strong>rung auch negative Auswirkungen haben.<br />
Konkret kann es vorkommen, dass einige Erweiterungen eventuell nicht<br />
mehr richtig arbeiten, nach<strong>de</strong>m Sie diese Einstellung vorgenommen haben.<br />
• Nach<strong>de</strong>m Sie Ihre Site konfiguriert haben und diese stabil läuft, sollten<br />
Sie möglichst alle Verzeichnisse und Dateien mit einem Schreibschutz<br />
versehen. Dazu setzen Sie die Rechte von 755 auf 644 zurück. Sie sollten<br />
allerdings prüfen, ob Ihre <strong>Joomla</strong>!-Installation dann immer noch korrekt<br />
arbeitet.<br />
• Bereits in Kapitel 2 haben Sie verschie<strong>de</strong>ne sicherheitsrelevante Funktionen<br />
von <strong>Joomla</strong>! kennengelernt. Speziell unter Site> Global Configuration<br />
> Server können Sie <strong>de</strong>n Rechtestatus für das Erzeugen von Verzeichnissen<br />
und Dateien anpassen. Prüfen Sie, ob Sie die Dateiattribute für<br />
neue Verzeichnisse und Daten anpassen wollen. Sie sollten dabei beach-<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
408 Sicherheit<br />
ten, dass diese Konfiguration nicht bei allen Servern funktioniert. Sie sollten<br />
daher sicherheitshalber Tests durchführen, ob Ihr System noch die<br />
gewünschte Funktionalität bietet.<br />
Die Anpassung <strong>de</strong>s Rechtestatus für das Erzeugen<br />
von Verzeichnissen und Dateien.<br />
• Wenn Sie Ihr Content-Managementsystem um Erweiterungen aufbohren,<br />
sollten Sie die Berechtigungen zurücksetzen. Dabei ist zu beachten, dass<br />
die Checkbox zum Überschreiben <strong>de</strong>s Schreibschutzes <strong>de</strong>r Datei configuration.php<br />
auf manchen Servern grau hinterlegt ist und keine Anpassung<br />
<strong>de</strong>r Konfiguration erlaubt. In einem solchen Fall müssen Sie die Berechtigungen<br />
manuell setzen und natürlich auch nach <strong>de</strong>n Anpassungen wie<strong>de</strong>r<br />
zurücksetzen.<br />
Beim Einsatz von <strong>Joomla</strong>!-Erweiterungen wie Komponenten, Modulen und Bots<br />
sind aus Sicht <strong>de</strong>r Sicherheit spezielle Punkte zu beachten:<br />
• Zunächst sollten Sie alle <strong>Joomla</strong>!-Erweiterungen, die register_globals =<br />
on erfor<strong>de</strong>rn, von Ihrem System verbannen. Hintergrund: Die Konfiguration<br />
register_globals = on ist von Hause aus eigentlich nicht unsicher, es<br />
lässt lediglich Sicherheitslücken bei fehlerhafter Programmierung zu. Ist<br />
register_globals eingeschaltet und vergisst <strong>de</strong>r Programmierer, Variablen<br />
vor ihrer Verwendung zu initialisieren, kann ein Angreifer <strong>de</strong>n Programmablauf<br />
von außen beeinflussen. Da dies ein beliebter Angriffspunkt<br />
www.brain-media.<strong>de</strong>
Checkliste für mehr Sicherheit 409<br />
für Angreifer ist, sollten Sie unliebsamen Zeitgenossen die Arbeit nicht<br />
unnötig erleichtern.<br />
• Was für <strong>Joomla</strong>! und alle an<strong>de</strong>ren Downloads gilt, gilt auch für Erweiterungen:<br />
La<strong>de</strong>n Sie diese nur von vertrauenswürdigen Seiten herunter.<br />
• Sie können sich auf <strong>de</strong>r <strong>Joomla</strong>!-Website übrigens auch über sicherheitsrelevante<br />
Probleme mit Erweiterung informieren. Dort fin<strong>de</strong>n Sie die offizielle<br />
Liste <strong>de</strong>r unsicheren Drittanbieter (http://forum.joomla.org/in<strong>de</strong>x<br />
.php/board,346.0.html). Prüfen Sie daher vor <strong>de</strong>m Download und <strong>de</strong>r Installation,<br />
ob das von Ihnen gewünschte Add-on dort aufgeführt wird.<br />
• Entfernen Sie alle unbenutzten <strong>Joomla</strong>!-Erweiterungen und kontrollieren<br />
Sie insbeson<strong>de</strong>re auch, ob entsprechen<strong>de</strong> Verzeichnisse und Dateien gelöscht<br />
wur<strong>de</strong>n.<br />
Insbeson<strong>de</strong>re kommerzielle Sites sind immer wie<strong>de</strong>r beliebte Hacker-Ziele. Wenn<br />
auch Ihre Site womöglich Ziel eines Hackerangriffs war, so müssen Sie zunächst<br />
sicherstellen, ob Ihr System kompromittiert wur<strong>de</strong>. Im nächsten Schritt geht es<br />
darum festzustellen, ob Än<strong>de</strong>rungen <strong>de</strong>r Umgebung vorgenommen wur<strong>de</strong> und<br />
wenn ja, welche. Eine ausführliche Diskussion dieser Problematik fin<strong>de</strong>n Sie unter<br />
http://forum.joomla.org/in<strong>de</strong>x.php/topic,54006.msg289697.html#msg289697.<br />
Nach einer Hacker-Attacke sind eigentlich Computer-Forensiker dran, die sich auf<br />
die Spurensuche, <strong>de</strong>ren Analyse und Auswertung machen. Nach einem Angriff<br />
beginnen Sie zunächst die Sicherstellung <strong>de</strong>s bzw. <strong>de</strong>r attackierten Geräte und<br />
Speichermedien. Sie müssen sich auch an die Ermittlung aller Datenbestän<strong>de</strong> machen.<br />
Es empfiehlt sich dabei, ein Protokoll <strong>de</strong>r Aktionen zu erstellen, die <strong>de</strong>r Administrator<br />
o<strong>de</strong>r User nach <strong>de</strong>m Angriff bei <strong>de</strong>r Erkennung <strong>de</strong>r Systemeingriffe <strong>de</strong>s<br />
Angreifers durchgeführt hat.<br />
Befin<strong>de</strong>t sich das verdächtige System noch in Betrieb, so müssen auch hier zunächst<br />
die Daten gesichert wer<strong>de</strong>n, die sich in <strong>de</strong>n flüchtigen Speichern befin<strong>de</strong>n.<br />
Es han<strong>de</strong>lt sich um die gleichen Speicher wie bei Geräten, bei <strong>de</strong>nen die Attacke<br />
bereits gelaufen ist. Auch hier steht als Nächstes eine Analyse <strong>de</strong>r Datenträger an.<br />
Komplizierter wird die Sache, wenn ein Angriff noch läuft. In diesem Fall müssen<br />
Sie Nutzen und Scha<strong>de</strong>n gegeneinan<strong>de</strong>r abwägen. In <strong>de</strong>r Regel ist es sinnvoll, die<br />
Netzwerkverbindung zu kappen, um das Löschen sensibler Daten o<strong>de</strong>r Login-<br />
Informationen zu verhin<strong>de</strong>rn. Erweist sich <strong>de</strong>r Angreifer als relativ harmlos und<br />
führt er keine schädlichen Aktionen durch, so sollten Sie versuchen, die Verbindungsinformationen<br />
auszulesen, um <strong>de</strong>n Hacker später ein<strong>de</strong>utig i<strong>de</strong>ntifizieren zu<br />
können.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
410 Sicherheit<br />
In <strong>de</strong>r Praxis erweisen sich die Forensic Toolkits als ausgesprochen nützliche Helfer<br />
bei <strong>de</strong>r Durchführung typischer forensischer Aktionen. Sie helfen insbeson<strong>de</strong>re<br />
bei folgen<strong>de</strong>n Aufgaben:<br />
• automatisierte Analysen<br />
• Rekonstruktion von Daten<br />
• Speichermedien manipulationssicher duplizieren<br />
• Auswerten von Datenformaten<br />
• Sicherung <strong>de</strong>r flüchtigen Daten<br />
• Analyse <strong>de</strong>r Zugriffs- und Metadaten<br />
WinAudit erlaubt <strong>de</strong>n kostenlosen Einstieg in die Welt <strong>de</strong>r digitalen Forensik.<br />
Es liegt in <strong>de</strong>r Natur <strong>de</strong>r Sache, dass solche Toolkits eine Vielzahl an Kodierung<br />
und Dateiformaten unterstützen müssen, die in <strong>de</strong>n verschie<strong>de</strong>nen zum Einsatz<br />
kommen<strong>de</strong>n Betriebssystemen zu fin<strong>de</strong>n sind. Wichtig ist auch, dass die Da-<br />
www.brain-media.<strong>de</strong>
Checkliste für mehr Sicherheit 411<br />
tenuntersuchungen im I<strong>de</strong>alfall auf verschie<strong>de</strong>nen Ebenen stattfin<strong>de</strong>n können, da<br />
je<strong>de</strong> Speicherebene aufschlussreiche Informationen bieten könnte.<br />
Wenn Sie mit Windows arbeiten, so kann ich Ihnen WinAudit (http://www.pxserver.com/WinAudit.htm)<br />
ans Herz legen. Es taugt für die professionelle Detektivarbeit.<br />
Wenn Sie mit Linux arbeiten, ist das freie The Sleuth Kit<br />
(http://www.sleuthkit.org/sleuthkit/) erste Wahl. Allerdings ist es weitaus komplizierter<br />
in <strong>de</strong>r Handhabung.<br />
Sie müssen aber nicht unbedingt tief in die digitale Forensik einsteigen, <strong>de</strong>nn auch<br />
mit einfachen Mitteln kommen Sie weiter. Bevor Sie irgendwelche Än<strong>de</strong>rungen an<br />
Ihrem System vornehmen, sollten Sie eine Liste <strong>de</strong>r Dateien sortiert nach Än<strong>de</strong>rungsdatum<br />
erzeugen. Dazu stellt Ihnen <strong>Joomla</strong>tion ein spezielles Skript zur Verfügung<br />
(http://www.joomlation.eu/content/view/20/2/).<br />
Nach einem vermeintlichen Hacker-Angriff sollten Sie außer<strong>de</strong>m folgen<strong>de</strong> Aktionen<br />
durchführen:<br />
• Kontrollieren Sie die Logdateien Ihres Systems aufs verdächtige Anfragen<br />
und Zugriffe. Hierbei ist ein professioneller Logfile-Analyzer wie <strong>de</strong>r bereits<br />
oben erwähnte AWStats sehr hilfreich.<br />
• Stellen Sie sicher, dass Sie alle Dateien und Verzeichnisse gelöscht haben,<br />
auch alle Unterverzeichnisse und alle Dateien sowie die Datenbank Tabellen.<br />
• Erst nach diesen Aktionen sollten Sie Ihr System aus <strong>de</strong>m letzten Backup<br />
wie<strong>de</strong>rherstellen.<br />
Beim Einsatz von <strong>Joomla</strong>! auf einem Rootserver sind weitere Beson<strong>de</strong>rheiten zu<br />
beachten:<br />
• Zunächst sollten Sie die Apache-Module mod_security und mod_rewrite<br />
konfigurieren, da sie PHP-Angriffe verhin<strong>de</strong>rn, zumin<strong>de</strong>st aber erschweren.<br />
• Auch Anpassungen <strong>de</strong>r MySQL-Installation sind empfehlenswert. Stellen<br />
Sie insbeson<strong>de</strong>re sicher, dass <strong>de</strong>r <strong>Joomla</strong>!-MySQL-Account nur eingeschränkte<br />
Rechte besitzt. Die Standar<strong>de</strong>instellungen von MySQL sind unsicher,<br />
eine sorgfältige Konfiguration ist daher dringend erfor<strong>de</strong>rlich.<br />
Hierzu sei auf die MySQL-Dokumentation http://<strong>de</strong>v.mysql.com/doc /refman/4.1/en/<strong>de</strong>fault-privileges.html<br />
verwiesen. Dort fin<strong>de</strong>n Sie verschie<strong>de</strong>ne<br />
Beispielkonfigurationen samt Erläuterungen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
412 Sicherheit<br />
Dass auch Ihre PHP-Umgebung erheblichen Einfluss auf die Systemsicherheit hat,<br />
versteht sich bei einem PHP-basierten System von selbst. Neben bereits beschriebenen<br />
PHP-Einstellungen können Sie insbeson<strong>de</strong>re durch die optimale Konfiguration<br />
<strong>de</strong>r php.ini Ihre Site sicherer machen. Hier einige Anregungen:<br />
• Mithilfe <strong>de</strong>r Konfiguration disable_functions können Sie gefährliche<br />
PHP-Funktionen <strong>de</strong>aktivieren, die von Ihrer Seite nicht benötigt wer<strong>de</strong>n.<br />
• Es ist außer<strong>de</strong>m ratsam, die Funktion allow_url_open zu <strong>de</strong>aktivieren.<br />
Diese Funktion ermöglicht es Wrappern, auf URL-Objekte wie Dateien<br />
zuzugreifen. Standard-Wrapper wer<strong>de</strong>n für <strong>de</strong>n Zugriff auf Remote-<br />
Dateien, die das FTP- o<strong>de</strong>r HTTP-Protokoll nutzen, eingesetzt. Einige<br />
Erweiterungen wie beispielsweise zlib können weitere Wrapper registrieren.<br />
Bitte beachten Sie: Dies kann aus Sicherheitsgrün<strong>de</strong>n ausschließlich<br />
in <strong>de</strong>r php.ini gesetzt wer<strong>de</strong>n.<br />
• Sie sollten zu<strong>de</strong>m die magic_quotes_gpc-Anweisung an Ihre Bedürfnisse<br />
anpassen. Deaktivieren Sie diese, in<strong>de</strong>m Sie sie mit Off ausschalten, wenn<br />
Sie sich sicher sind, dass alle PHP-Dateien auf Ihrem Server fehlerfrei<br />
programmiert sind und Benutzerdaten korrekt interpretiert wer<strong>de</strong>n. Sie<br />
sollte auf On gesetzt sein, wenn Sie alte PHP3- und PHP4-Skripts verwen<strong>de</strong>n.<br />
Dazu gehören beispielsweise zu viele <strong>de</strong>r Drittanbieter Komponenten.<br />
<strong>Joomla</strong>! 1.0.11 benachrichtigt Sie im Backend, wenn magic_quotes_gpc<br />
auf OFF gesetzt ist. Diese Sicherheitsmaßnahme wur<strong>de</strong><br />
von <strong>de</strong>n <strong>Joomla</strong>!-Entwicklern zum Schutz vor Angriffen auf unsichere<br />
Drittanbieter-Komponenten eingeführt.<br />
Schließlich sei noch die Konfiguration <strong>de</strong>s safe_mo<strong>de</strong> und von open_basedir erwähnt.<br />
Ist Ihre Site fertig konfiguriert, so können Sie safe_mo<strong>de</strong> aktivieren. Beachten<br />
Sie dabei, dass safe_mo<strong>de</strong> on das <strong>Joomla</strong>!-Installationskript beeinträchtigt. Eine<br />
Anpassung ist erst nach einer abgeschlossenen Installation und Konfiguration<br />
sinnvoll. Wenn safe_mo<strong>de</strong> aktiviert ist, überprüft PHP, ob <strong>de</strong>r Eigentümer <strong>de</strong>s<br />
laufen<strong>de</strong>n Skripts <strong>de</strong>m Eigentümer <strong>de</strong>r Datei entspricht, an <strong>de</strong>r mit Hilfe <strong>de</strong>r Dateifunktionen<br />
gearbeitet wer<strong>de</strong>n soll.<br />
Sie können zu<strong>de</strong>m open_basedir aktivieren und konfigurieren. Diese Funktion<br />
beschränkt <strong>de</strong>n Zugriff durch PHP auf spezielle Verzeichnisse und Dateien. Diese<br />
Einstellung hat nichts damit zu tun, ob safe_mo<strong>de</strong> aktiviert o<strong>de</strong>r <strong>de</strong>aktiviert ist.<br />
Hier ein Beispiel, wie Ihre sichere PHP-Konfiguration aussehen könnte:<br />
register_globals = 0<br />
disable_functions = show_source, system, shell_exec,<br />
passthru, exec, phpinfo, popen, proc_open<br />
www.brain-media.<strong>de</strong>
Checkliste für mehr Sicherheit 413<br />
allow_url_fopen = 0<br />
magic_gpc_quotes = 0<br />
safe_mo<strong>de</strong> = 1<br />
open_basedir = /pfad/zum/einzuschließen<strong>de</strong>n/verzeichnis/<br />
Da insbeson<strong>de</strong>re <strong>de</strong>r Themenkomplex PHP-Sicherheit hier nicht erschöpfend behan<strong>de</strong>lt<br />
wer<strong>de</strong>n kann, sei an dieser Stelle auf das gleichnamige Buch von Kunz und<br />
Prochaska (ISBN 3898643697) verwiesen.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
414 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
14 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
Seit etwa Mitte Oktober 2006 steht eine erste Beta-Version von <strong>Joomla</strong>! 1.5 zum<br />
Download für interessierte Anwen<strong>de</strong>r bereit. Nach Angaben von Janssens, einem<br />
<strong>de</strong>r führen<strong>de</strong>n Köpfe im <strong>Joomla</strong>!-Entwicklerteam, war „<strong>de</strong>r Programmieraufwand<br />
<strong>de</strong>s 1.5-Developer-Teams beeindruckend“. „Wir haben diese Version von Grund<br />
auf neu geschrieben. Mehr als 127.000 Zeilen Co<strong>de</strong> beinhaltet die neue Version.<br />
Der Aufwand beinhaltet zirka 32 Mannjahre“, so <strong>de</strong>r Entwickler.<br />
So halten sich die Entwickler auch nicht mit Superlativen zurück. Danach soll<br />
beispielsweise die Internationalisierung in Version 1.5 Fakt wer<strong>de</strong>n. Es soll auch<br />
kein UTF-8-Debakel (und zurück) mehr geben. Sogar die Unterstützung von<br />
Rechts-nach-links-Schreibung, wie sie für das Arabische und Hebräische benötigt<br />
wird, soll ein fester Bestandteil wer<strong>de</strong>n. Interessant wird auch die Einbindung von<br />
externen Programmen bzw. Schnittstellen wie beispielsweise LDAP. Außer<strong>de</strong>m<br />
sollen Design und Inhalte besser getrennt wer<strong>de</strong>n und flexibler zu handhaben sein.<br />
Die Installationsroutine von <strong>Joomla</strong>! 1.5 wur<strong>de</strong> ebenfalls <strong>de</strong>utlich verbessert.<br />
www.brain-media.<strong>de</strong>
Neue Funktionen für User und Admins 415<br />
Stutzig macht einen allerdings <strong>de</strong>r Punkt, dass <strong>Joomla</strong> 1.5 kompatibel zu alten<br />
Komponenten, Modulen und Mambots sein soll. Wenn <strong>de</strong>m so ist und sich die<br />
Entwickler nicht zu einem klaren Schnitt und zur Trennung von Altlasten entschließen,<br />
so könnte das auch negative Auswirkungen haben und das neue <strong>Joomla</strong>!<br />
ebenso anfällig machen wie die bisherigen Versionen.<br />
Laut Angaben <strong>de</strong>r Entwickler stellt die Umsetzung <strong>de</strong>s neuen Content-Frameworks<br />
ein weiteres Highlight von <strong>Joomla</strong>! 1.5 dar. Sie verspricht eine neue Dimension im<br />
Umgang mit Inhalten. Das Framework bietet eine Umsetzung verschie<strong>de</strong>ner Techniken,<br />
die erstmals eine komplette Steuerung <strong>de</strong>r Ausgabe mit <strong>Joomla</strong>! ermöglichen.<br />
In <strong>de</strong>r Standard-Distribution von <strong>Joomla</strong>! soll es neben einem Grundtemplate<br />
auch eine Referenzimplementierung für barrierefreies Site<strong>de</strong>sign geben.<br />
14.1 Neue Funktionen für User und Admins<br />
Schauen wir uns die Neuerungen genauer an. Dabei unterschei<strong>de</strong>t man am besten<br />
zwischen Neuerungen für Admins/Benutzer, für Designer und Entwickler. Bereits<br />
bei <strong>de</strong>r Installation <strong>de</strong>r neuen Version stellen Sie fest, dass die Installationsroutine<br />
umfangreicher, gleichzeitig aber auch schlüssiger und übersichtlicher gewor<strong>de</strong>n ist.<br />
Das Migrationsskript verspricht <strong>de</strong>n problemlosen<br />
Umstieg zur neuen Version.<br />
Um Anwen<strong>de</strong>rn <strong>de</strong>n Umstieg von <strong>Joomla</strong>! 1.x zu 1.5 so einfach wie möglich zu<br />
machen, wur<strong>de</strong> das Migrationsskript, genauer die Komponente com_migrator, in<br />
<strong>de</strong>n Installationsprozess integriert. Sie verspricht <strong>de</strong>n problemlosen Umstieg zur<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
416 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
neusten Version. Ob das in <strong>de</strong>r Praxis funktioniert, gera<strong>de</strong> auch bei selbst erstellten<br />
Templates, bleibt abzuwarten.<br />
Die Handhabung <strong>de</strong>r Komponente ist einfach. Die Migrationskomponente verlangt<br />
von Ihnen die Angabe <strong>de</strong>r verwen<strong>de</strong>ten Tabellenpräfixe. jos o<strong>de</strong>r jos_ sind beispielsweise<br />
gültige Werte. Außer<strong>de</strong>m müssen Sie die Zeichenkodierung <strong>de</strong>s 1.x-<br />
Inhalt aus <strong>de</strong>m Dropdown-Menü auswählen. Dies sollte die auf <strong>de</strong>n Seiten <strong>de</strong>r<br />
alten Site verwen<strong>de</strong>te Zeichenkodierung sein (entsprechend <strong>de</strong>n ISO-Variablen in<br />
<strong>de</strong>r Sprachdatei. Alternativ können Sie diese Infor <strong>de</strong>m Browser entnehmen: Wählen<br />
Sie in Firefox Seiteninformation> Zeichenkodierung> Quelltext).<br />
Anschließend durchsuchen Sie localhost, wählen <strong>de</strong>n Migrationsexport und klicken<br />
auf die Schaltfläche Hochla<strong>de</strong>n und Ausführen. Im I<strong>de</strong>alfall erhalten Sie eine<br />
Erfolgsmeldung. Im ungünstigen Fall wird eine Liste mit Datenbankfehlern ausgegeben.<br />
Was aber macht die Migrationskomponente überhaupt? Nun, sie migriert alle<br />
Kerninhaltsdatensätze in <strong>de</strong>r Datenbank. Kerndatensätze sind Inhalt, Weblinks,<br />
Banner, Kontakte, Newsfeeds, Abstimmungen und Benutzer. Sie stellt außer<strong>de</strong>m<br />
Menüs mit Menüelementen, die auf Kerninhalt verweisen (nicht 3PD-<br />
Komponenten), wie<strong>de</strong>r her. Sie hängt alle Kernmoduldatensätze aus <strong>de</strong>r alten Seite<br />
an die Modultabelle <strong>de</strong>r neuen Seite an. Originalmoduldatensätze sind als gesperrt<br />
eingestellt. Alle Parametrierungen bleiben erhalten. Sie müssen – wenn alles gut<br />
geht – lediglich Positionen in Grundstellung bringen, ordnen und veröffentlichen.<br />
Aber natürlich ist die Migrationskomponente keine eierlegen<strong>de</strong> Wollmilchsau. So<br />
stellt sie beispielsweise keine Datenbankeinträge für 3PD-Erweiterungen um.<br />
Wenn Versionen dieser Komponenten auf <strong>de</strong>r neuen Seite installiert wer<strong>de</strong>n sollen,<br />
wird empfohlen, eine manuelle Migration <strong>de</strong>r Komponentendaten durchzuführen,<br />
nach<strong>de</strong>m die Komponente auf <strong>de</strong>r <strong>Joomla</strong>-1.5-Site installiert wur<strong>de</strong>. Außer<strong>de</strong>m<br />
migriert sie keine Inhalte außerhalb <strong>de</strong>r Datenbank, also keine Bannerbil<strong>de</strong>r, Dateien,<br />
Fotos etc.<br />
Sie können die Migrationskomponente auch auf Ihrer <strong>Joomla</strong>!-1.x-Installation<br />
einrichten und dann die Daten exportieren. Wenn Sie diese auf Ihrem System installiert<br />
haben, erstellen Sie zunächst über Dump erstellen ein Backup.<br />
Die Komponente erzeugt insgesamt vier Dateien: drei gepackte Exportskripts und<br />
einen HTML-Bereicht. Das erste Archiv ist eine vollständige Sicherung <strong>de</strong>r alten<br />
Seite. Die zweite Datei ist <strong>de</strong>r Migrationsinhalt aller Core-Elemente, die in die<br />
neue Seite importiert wer<strong>de</strong>n. Die dritte Datei ist schließlich eine Sicherung aller<br />
Tabellen <strong>de</strong>r 3PD-Komponenten.<br />
Als Nächstes klicken Sie auf das Herunterla<strong>de</strong>n-Symbol einer benötigten Exportdatei<br />
und speichern diese lokal. Anschließend müssen Sie Ihre Ausgangsdaten nur<br />
noch in <strong>Joomla</strong>! 1.5 einfügen.<br />
www.brain-media.<strong>de</strong>
Neue Funktionen für User und Admins 417<br />
Die von Migrator erzeugten Dateien.<br />
Schließlich könnte man glauben, dass sich eine Migration auch mithilfe von<br />
phpMyAdmin durchführen ließe, schließlich kann dieses Programm in <strong>de</strong>r Regel<br />
Datenbanken problemlos – auch über Plattform- und Anwendungsgrenzen hinweg<br />
– importieren und exportieren. Lei<strong>de</strong>r ist das bislang Theorie, <strong>de</strong>nn phpMyAdmin<br />
führt unerbetene und normalerweise falsche Zeichenkodierungsumwandlungen<br />
während <strong>de</strong>s Exports von Seitendaten aus. Bislang scheint nicht bekannt, woher<br />
diese Fehler kommen und wie man sie beheben kann. Daher bleibt Ihnen bis auf<br />
weiteres nur <strong>de</strong>r Migrator für <strong>de</strong>n Umstieg.<br />
Ein erster Blick auf <strong>Joomla</strong>! 1.5.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
418 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
Für Sie als Admin än<strong>de</strong>rt sich eine Vielzahl weiterer Details. In <strong>de</strong>r neuen Version<br />
vereinfacht sich endlich die Installation von Erweiterungen. Hierzu greifen Sie<br />
zum Extension Manager und führen über die bekannte Funktion <strong>de</strong>n Upload und<br />
die Installation durch. Sie sparen sich also die Wahl zwischen verschie<strong>de</strong>nen Installationsdialogen<br />
für Module und Komponenten.<br />
Über <strong>de</strong>n Extensions Manager können Sie zu<strong>de</strong>m recht einfach installierte Erweiterungen<br />
<strong>de</strong>aktivieren und so die Sicherheit Ihrer <strong>Joomla</strong>!-Installation verbessern.<br />
Der neue Extension Manager vereinfacht die Installation von Erweiterungen.<br />
Wenn Sie das erste Mal mit <strong>Joomla</strong>! 1.5 arbeiten, wer<strong>de</strong>n Sie sich an weitere neue<br />
Begriffe gewöhnen müssen. So sind die Items und <strong>de</strong>r Inhaltsmanager verschwun<strong>de</strong>n.<br />
Ihren Platz nehmen die Artikel und <strong>de</strong>r Artikel-Manager ein. Für das Erstellen<br />
und Bearbeiten von Artikeln verwen<strong>de</strong>n Sie nun nur noch einen Editor und nicht<br />
mehr zwei Editorbereiche.<br />
Eine weitere Neuheit beim Verfassen von Artikeln: <strong>de</strong>r genannte Image Manager,<br />
<strong>de</strong>r das Einfügen von Bil<strong>de</strong>rn und <strong>de</strong>ren Konfiguration vereinfacht. Der zugehörige<br />
Dialog ist über die Image-Schaltfläche am Fuße <strong>de</strong>s Editors verfügbar. Mit seiner<br />
Hilfe können Sie Bil<strong>de</strong>r quasi on-the-fly in Ihren Artikel einfügen.<br />
www.brain-media.<strong>de</strong>
Neue Funktionen für User und Admins 419<br />
In <strong>Joomla</strong>! 1.5 vereinfacht sich das Einfügen von Bil<strong>de</strong>rn.<br />
Eine echte Verbesserung: Sie können von Ihrem neuen Artikel eine Vorschau erstellen,<br />
ohne dass Sie <strong>de</strong>n Artikel speichern müssen. Außer<strong>de</strong>m wur<strong>de</strong> die Archivfunktion<br />
in <strong>de</strong>n Artikel Manager verschoben. In <strong>Joomla</strong> 1.x gibt es <strong>de</strong>n Archiv<br />
Manager, <strong>de</strong>r über das Menü Content verfügbar ist.<br />
Mit nur drei Mausklicks zum neuen Menüeintrag.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
420 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
Grundlegend wur<strong>de</strong> auch <strong>de</strong>r Menü Manager überarbeitet. Er kommt im Unterschied<br />
zu seinem Vorgänger nur noch mit einem Standardmenü daher, das Sie aber<br />
natürlich beliebig än<strong>de</strong>rn können. Im überarbeiteten Menü Manager vereinfacht<br />
sich insbeson<strong>de</strong>re das Erstellen von neuen Menü-Elementen. Dazu öffnen Sie wie<br />
bisher die Menüleiste, die Sie erweitern wollen, und klicken auf New. Im Dialog<br />
Add New Item erfolgt die Auswahl eines neuen Menüelements mit zwei weiteren<br />
Klicks. Fertig ist das erweiterte Menü.<br />
Eine Beson<strong>de</strong>rheit <strong>de</strong>s Menü Managers ist sicherlich, dass Sie jetzt auf je<strong>de</strong> beliebige<br />
Quelle verweisen können, also neben internen Links auch auf beliebige externe<br />
Quellen.<br />
Der <strong>Media</strong> Manager besitzt in <strong>Joomla</strong>! 1.5<br />
nun auch eine eigene Konfiguration.<br />
Die <strong>Joomla</strong>!-Entwickler haben auch am <strong>Media</strong> Manager geschraubt. Dessen<br />
Schnittstelle ist in <strong>de</strong>r neuen Version wesentlich benutzerfreundlicher – insbeson<strong>de</strong>re<br />
durch die Thumbnail- und Detail-Ansicht ist <strong>de</strong>r <strong>Media</strong> Manager einfacher zu<br />
bedienen.<br />
Auch <strong>de</strong>r Upload von mehreren Dateien ist <strong>de</strong>utlich einfacher. Dazu nutzen Sie die<br />
Funktionen am Fuße <strong>de</strong>s <strong>Media</strong> Managers. Im Bereich Upload File geben Sie die<br />
erste Datei an, die Sie für das CMS nutzbar machen wollen. Um weitere Dateien<br />
auf das System zu übertragen, klicken Sie auf die Schaltfläche Add file und führen<br />
mit Upload Files die Datenübertragung durch.<br />
www.brain-media.<strong>de</strong>
Neues für Designer 421<br />
Neu sind im <strong>Media</strong>-Manager die Konfigurationseinstellungen. Über <strong>de</strong>n zugehörigen<br />
Dialog bestimmen Sie, welche Dateitypen zulässig sind und welche Größe<br />
diese maximal besitzen dürfen.<br />
Für <strong>de</strong>n Admin gibt es im Template Manager zwei Neuerungen: Die Template-<br />
Vorschau wur<strong>de</strong> verbessert und nun können mehrere CSS-Dateien editiert wer<strong>de</strong>n.<br />
Nicht nur für <strong>de</strong>n Admin gibt es interessante Neuerungen, son<strong>de</strong>rn auch für die<br />
Benutzer Ihrer Site. Die wichtigsten:<br />
• <strong>Joomla</strong>! 1.5 bietet nun vollständige Unterstützung von Feeds (Atom 1.0<br />
und RSS 2.0). Feeds wer<strong>de</strong>n für alle Artikelkategorien, Sektionen, Links<br />
und Kontakte erzeugt.<br />
• Die Fehlerbehandlung wur<strong>de</strong> verbessert. Nun wer<strong>de</strong>n korrekte 404-, 403-<br />
und 500-Fehlermeldungen an <strong>de</strong>n Benutzer-Browser ausgegeben. Diese<br />
Meldungen können mit <strong>de</strong>m Template-Designer angepasst wer<strong>de</strong>n.<br />
• Verbessertes Handling, wenn Benutzer ihr Passwort verloren haben. In<br />
<strong>Joomla</strong>! 1.5 wird es für Ihre Benutzer einfacher, das Passwort per Mail zu<br />
erhalten, wenn sie ihren Benutzernamen o<strong>de</strong>r die E-Mail-Adresse angeben<br />
können.<br />
14.2 Neues für Designer<br />
Die Zugänglichkeit von Web-basierten Inhalten für alle Benutzer, also auch Behin<strong>de</strong>rte,<br />
ist eines <strong>de</strong>r zentralen Themen, die unter Entwicklern diskutiert wer<strong>de</strong>n.<br />
In <strong>de</strong>n verschie<strong>de</strong>nen Foren wer<strong>de</strong>n immer wie<strong>de</strong>r folgen<strong>de</strong> Themen diskutiert:<br />
• Hard-co<strong>de</strong>d, also eingebaute Tabellen im <strong>Joomla</strong>!-Co<strong>de</strong><br />
• Die bislang unbefriedigen<strong>de</strong> SEF-Lösung<br />
• Fragen bezüglich <strong>de</strong>s Umgangs mit Metadaten<br />
• Einhaltung barrierefreier Standards wie WCAG und 508<br />
Die <strong>Joomla</strong>!-Entwickler haben eigenen Angaben zufolge eine Menge Energie und<br />
Arbeit in diese Bereiche gesteckt. Um diese Problem zu lösen, haben die Entwickler<br />
Folgen<strong>de</strong>s getan:<br />
• Der HTML-Output wur<strong>de</strong> in Erweiterungs-Templates gepackt. Diese Vorlagen<br />
können durch Ihr eigenes Template überschrieben wer<strong>de</strong>n. Der<br />
Entwickler kann so <strong>de</strong>n Output nach seinem Belieben anpassen. Er kann<br />
beispielsweise CSS-Klassen anpassen, Tabellen entfernen etc.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
422 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
• Der Designer kann seinen eigenen Site-Wrapper <strong>de</strong>finieren. In <strong>Joomla</strong> 1.x<br />
gab es lediglich drei integrierte Optionen.<br />
• Der Seitenumbruch kann im Template angepasst wer<strong>de</strong>n.<br />
• In <strong>Joomla</strong>! 1.5 wur<strong>de</strong> außer<strong>de</strong>m die SEF-Engine vollständig überarbeitet.<br />
Die SEF-Grundfunktionalität kann insbeson<strong>de</strong>re durch Plugins erweitert<br />
wer<strong>de</strong>n.<br />
Für <strong>de</strong>n Entwickler soll sich <strong>de</strong>r Umgang mit <strong>de</strong>r neuen Version erheblich vereinfachen,<br />
da er je<strong>de</strong>n Aspekt <strong>de</strong>r HTML-Ausgabe selbst <strong>de</strong>finieren und nach seinen<br />
Vorlieben anpassen kann. In <strong>de</strong>r Entstehungsphase befin<strong>de</strong>t sich noch ein Template,<br />
das die Nutzung dieser neuen Funktionen in <strong>de</strong>r Praxis zeigen soll.<br />
14.3 Und Neues für Entwickler<br />
Für <strong>de</strong>n Entwickler gibt es die meisten Neuerungen. Diese lassen sich in die Bereiche<br />
Internationalisierung, Bibliotheken, Erweiterungen, Erweiterbarkeit, Einfachheit<br />
und Templates einteilen.<br />
• Die Neuerungen bezüglich <strong>de</strong>r Internationalisierung:<br />
o<br />
o<br />
vollständige UTF-8-Unterstützung<br />
Right-to-left-Unterstützung, erlaubt also auch die Verwendung<br />
von arabischen Inhalten<br />
• <strong>Joomla</strong>! 1.5 kommt mit verschie<strong>de</strong>nen neuen Bibliotheken daher:<br />
o<br />
o<br />
o<br />
o<br />
FTP-Dateisystem: Nun können Sie Benutzer- und Admin-Daten<br />
per FTP zwischen <strong>de</strong>m Content-Managementsystem und einem<br />
FTP-Client übertragen. Das vereinfacht die Pflege und Aktualisierung<br />
von Inhalten.<br />
LDAP-Unterstützung: Über die LDAP-Bibliothek können Sie<br />
<strong>Joomla</strong>! an einen Verzeichnisdienst wie das Mircosoft Active Directory<br />
und einen Standard-LDAP-Server hängen.<br />
Neue PDF-Bibliothek: Sie verspricht mehr Leistung und Flexibilität.<br />
XML-RPC: Durch diese Schnittstelle können Sie unterschiedlichste<br />
Webservices integrieren.<br />
www.brain-media.<strong>de</strong>
Und Neues für Entwickler 423<br />
• Auch für Entwickler von <strong>Joomla</strong>!-Erweiterungen hat die neue Version einiges<br />
zu bieten:<br />
o<br />
o<br />
o<br />
o<br />
o<br />
o<br />
Das Komponenten-Framework vereinfacht die Entwicklung von<br />
<strong>Joomla</strong>!-Add-ons<br />
Trennung von Logik und Repräsentation – eigentlich eine<br />
Selbstverständlichkeit bei Content-Managementsystemen<br />
Pathway-Unterstützung<br />
verbessertes SEF<br />
verbessertes Caching<br />
Neue Datenbanktreiber sollen die Nutzung von weiteren Datenbanken<br />
erlauben<br />
Der neue Plugin Manager macht <strong>Joomla</strong>! noch flexibler.<br />
• Die Verbesserung <strong>de</strong>r Erweiterbarkeit war eines <strong>de</strong>r Hauptanliegen <strong>de</strong>r<br />
<strong>Joomla</strong>!-Entwickler beim Entwurf <strong>de</strong>r neuen Version. Das neue Plugin-<br />
Framework mit <strong>de</strong>m gleichnamigen Manager verspricht auch in diesem<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
424 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
Bereich mehr Flexibilität. Einige Beispiele für <strong>de</strong>n Einsatz <strong>de</strong>s Plugin-<br />
Mechanismus:<br />
o<br />
Benutzerauthentifizierung: Sie können das Standardauthentifizierungsverfahren<br />
durch ein an<strong>de</strong>res ersetzen, beispielsweise durch<br />
die bereits implementierte LDAP-basierte Authentifizierung.<br />
Die Konfiguration <strong>de</strong>s LDAP-Plugins.<br />
o<br />
Für Entwickler ist außer<strong>de</strong>m die XML-RPC-Unterstützung von<br />
Interesse. Diese Schnittstelle erlaubt <strong>de</strong>n standardisierten<br />
Datenautausch von XML-RPC-kompatiblen Anwendungen mit<br />
<strong>Joomla</strong>! Ein Beispiel für <strong>de</strong>n Einsatz dieser Technik liefert schon<br />
jetzt <strong>de</strong>r J!Explorer (http://www.joomlatools.org). Dabei han<strong>de</strong>lt<br />
es sich um eine Java-basierte Anwendung, die über Remote-<br />
Zugriff die Administration eines <strong>Joomla</strong>!-Systems erlaubt. Zum<br />
Zeitpunkt, als diese Zeilen entstehen, liegt <strong>de</strong>r J!Explorer noch in<br />
einer Alphaversion vor. Aber schon in dieser kann er einen Eindruck<br />
vermitteln, was in Zukunft über diese Schnittstelle möglich<br />
sein wird.<br />
www.brain-media.<strong>de</strong>
Und Neues für Entwickler 425<br />
Der J!Explorer erlaubt die <strong>Joomla</strong>!-Administration.<br />
• Großen Wert legen die <strong>Joomla</strong>!-Entwickler auch auf ein hohes Maß an<br />
Einfachheit. Konkret sind damit folgen<strong>de</strong> Punkte gemeint:<br />
o<br />
o<br />
o<br />
Durch die Reorganisation verschie<strong>de</strong>ner Menüs ist das Handling<br />
in <strong>de</strong>r neuen Version einfacher.<br />
Dank AJAX ist die Installation noch einfacher.<br />
Der neue Installer-Dialog vereinfacht die Installation von Erweiterungen.<br />
• Schließlich wur<strong>de</strong>n auf Seiten <strong>de</strong>r Templates verschie<strong>de</strong>ne grundlegen<strong>de</strong><br />
Neuerungen und Verbesserungen eingeführt. Dies sind insbeson<strong>de</strong>re:<br />
o<br />
o<br />
o<br />
patTemplate wur<strong>de</strong> für die Site-Templates integriert. Das führt<br />
zu mehr Flexibilität beim Erstellen von Seiten und Formularen.<br />
Sie können Template-Parameter <strong>de</strong>finieren und so das Design<br />
<strong>de</strong>r Website einfacher steuern.<br />
Durch die Trennung von Logik und Output können auch Inhalte<br />
für Endgeräte erzeugt wer<strong>de</strong>n, die lediglich begrenzte Darstellungsfähigkeiten<br />
besitzen, beispielsweise Handys und PDAs.<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
426 Ausblick: Was bringt <strong>Joomla</strong>! 1.5?<br />
14.4 Fazit<br />
Bei aller Begeisterung für <strong>Joomla</strong>! gibt es auch eine ganze Reihe von Einschränkungen,<br />
an <strong>de</strong>nen auch die neue Version (lei<strong>de</strong>r) nichts än<strong>de</strong>rn wird. Für <strong>de</strong>n professionellen<br />
Einsatz, beispielsweise im Unternehmen, benötigt man oft eine Multisite-Administration,<br />
um mehrere Sites erzeugen und verwalten zu können. Das<br />
wird auch <strong>Joomla</strong>! 1.5 lei<strong>de</strong>r nicht än<strong>de</strong>rn. Nachholbedarf gibt es auch beim Benutzer-<br />
und Rechte-Kontrollsystem, ebenso bei <strong>de</strong>r Dokumentenversionierung.<br />
Man darf gespannt sein, wann <strong>de</strong>rart für <strong>de</strong>n professionellen Einsatz essentielle<br />
Funktionen implementiert wer<strong>de</strong>n. Je<strong>de</strong>r Leser sei hiermit aufgefor<strong>de</strong>rt, sich aktiv<br />
an <strong>de</strong>r Weiterentwicklung zu beteiligen!<br />
Wann und in welcher Form <strong>Joomla</strong>! 1.5 letztlich in einer stabilen finalen Version<br />
verfügbar sein wird, wird sich zeigen. Dann wird sich auch zeigen, ob <strong>de</strong>r Hype<br />
um die neue Version gerechtfertigt war und <strong>de</strong>r Anwen<strong>de</strong>r davon profitieren kann.<br />
www.brain-media.<strong>de</strong>
<strong>Joomla</strong>! <strong>kompakt</strong><br />
Fazit 427
428 In<strong>de</strong>x<br />
In<strong>de</strong>x<br />
508 ...............................................420<br />
Abonnentenverwaltung ...............381<br />
Accessibility ................................142<br />
Accessibility Hack.......................146<br />
Administratoren .............................35<br />
Administrator-Template ................56<br />
AJAX ..........................................424<br />
Aktionsskript ...............................265<br />
Angriff auf CGI ...........................398<br />
Anti-Flooding ..............................286<br />
Apache...........................................19<br />
ApacheFriends ...............................19<br />
Apache-PHP-MySQL-Gespann ....18<br />
Apache-Sicherheit .......................399<br />
Arbeitsbereich ...............................33<br />
Architektur <strong>de</strong>s Content-<br />
Managementsystems .................18<br />
Architektur von Content-<br />
Managementsystemen ...............17<br />
Archive Manager ............... 83, 84, 90<br />
Auswahlmenü erstellen ...............262<br />
Authentifizierungsmetho<strong>de</strong> ...........46<br />
Authoring ......................................16<br />
Autoren ..........................................36<br />
Autorenbezeichnung ..................... 87<br />
Avatar ......................................... 213<br />
Avatar-Konfiguration.................. 286<br />
AWstats ........................................ 55<br />
Backend .................................. 30, 35<br />
Badword-Filter ............................ 291<br />
Banner ........................................... 93<br />
Bannerbezeichnung ....................... 93<br />
Banner-Kun<strong>de</strong>nmanager ............... 95<br />
Bannername .................................. 94<br />
Banner-Verwaltung ....................... 94<br />
Barrierefreie Informationstechnik-<br />
Verordnung ............................. 142<br />
barrierefreies Internet .................. 141<br />
Barrierefreies <strong>Joomla</strong>! ................. 145<br />
Barrierefreies Web<strong>de</strong>sign ........... 144<br />
Barrierefreiheit ............................ 141<br />
Behin<strong>de</strong>rtengleichstellungsgesetz141<br />
Benutzer ........................................ 35<br />
Benutzer anlegen .......................... 59<br />
Benutzer verwalten ....................... 36<br />
Benutzeradministration ............... 296<br />
Benutzergruppen ..................... 37, 60<br />
www.brain-media.<strong>de</strong>
429<br />
Benutzer-Integration ....................341<br />
Benutzerliste ................................242<br />
Benutzermenü .............................106<br />
Benutzerregistrierung ..................308<br />
Benutzerverwaltung ......................59<br />
Berechtigungen .............................47<br />
Berechtigungscheck ......................25<br />
Berichtfunktion ...........................338<br />
Bestätigungs-Template ................344<br />
Bestellbetrag ................................310<br />
Bestellverwaltung ................ 301, 337<br />
BGG ............................................141<br />
Bil<strong>de</strong>reigenschaften .......................87<br />
BITV ...........................................142<br />
BITV-Anfor<strong>de</strong>rungen ..................209<br />
Blog ...............................................76<br />
Bridge ..........................................351<br />
BSQ Sitestats ...............................374<br />
Cache .............................................50<br />
Caching .......................................422<br />
Category Manager .........................84<br />
CBWM ........................................221<br />
Checked-Out-Info..........................74<br />
Check-in ........................................15<br />
Checkin-Informationen ...............116<br />
Check-out ......................................15<br />
Checkout-Einstellungen ..............317<br />
Checkout-Formular ..................... 317<br />
Checkout-Prozess ....................... 305<br />
Check-out-Status ........................... 67<br />
Checkout-Vorgang ...................... 316<br />
Checky ........................................ 147<br />
CHMOD ....................................... 47<br />
CMS .............................................. 13<br />
Community Buil<strong>de</strong>r .................... 213<br />
Community Buil<strong>de</strong>r installieren .. 213<br />
Community-Buil<strong>de</strong>r-Konfiguration<br />
........................................ 216, 225<br />
Community-Buil<strong>de</strong>r-Profil .......... 215<br />
Community-Buil<strong>de</strong>r-Template .... 227<br />
Community-Buil<strong>de</strong>r-Tools .......... 246<br />
Community-Buil<strong>de</strong>r-Web-Message<br />
................................................ 221<br />
Community-Modul ..................... 233<br />
configuration.php .......................... 40<br />
Content .......................................... 14<br />
Content Category .......................... 69<br />
Content Section ............................. 69<br />
Content Syndication .................... 103<br />
Content-Ansicht ............................ 92<br />
Content-Auswahl .......................... 88<br />
Content-Element ..................... 38, 85<br />
Content-Elemente erzeugen .......... 85<br />
Content-Elementenliste ................. 85<br />
Content-Framework .................... 414<br />
Content-Gestaltung ....................... 43<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
430 In<strong>de</strong>x<br />
Content-Item-Manager ..................70<br />
Content-Management ....................13<br />
Content-Managementsystem ... 11, 13<br />
Contentmanager.<strong>de</strong> ........................17<br />
Content-Menü ...............................83<br />
Content-Verwaltung ......................85<br />
Control Panel .................................35<br />
Cross-Browser-Kompatibilität ....164<br />
Cross-Site Scripting.....................395<br />
CSS ........................................ 58, 196<br />
Dateimanagement ........................362<br />
Dateisystem-Sicherheit ................400<br />
Datenbank .....................................17<br />
Datenbankbenutzer ........................45<br />
Datenbankeintrag ..........................45<br />
Datenbankmanager ........................22<br />
Datenbank-Präfix ..........................26<br />
Datenbankschnittstelle ..................17<br />
Datenbanksystem ..........................16<br />
Datenbanktreiber .........................422<br />
Datensatzverwaltung ...................269<br />
Deinstallations-Skript ....................92<br />
Diskussionsforum ........................293<br />
Diskussionsstrang ........................294<br />
DocMan .......................................355<br />
DOCman-Konfiguration ..............358<br />
DOCman-Systemsteuerung .........355<br />
Document Type Definition ......... 150<br />
Dokumentenbeschreibung ............ 88<br />
Dokumentenmanagement ............. 18<br />
Dokumentenmanager .................. 355<br />
Download-fähige Produkte ......... 301<br />
Downloads verkaufen ................. 317<br />
Dreamweaver Template Buil<strong>de</strong>r<br />
Extension ................................ 119<br />
Dreamweaver-Erweiterung ..... 13, 58<br />
DTD ............................................ 150<br />
E-Commerce ............................... 303<br />
Editoren ........................................ 36<br />
Eigenschafteninspektor ............... 125<br />
Eingabenüberprüfung.................. 268<br />
Elementeigenschaften ................. 259<br />
Elementeinstellung........................ 80<br />
Elementenverwaltung ................... 35<br />
Elementtyp .................................. 259<br />
E-Mail ........................................... 98<br />
E-Mail-Icon................................... 80<br />
E-Mail-spezifische Einstellungen . 49<br />
Entwicklungsprozess .................... 16<br />
Erweiterungs-Template ............... 420<br />
Eventkalen<strong>de</strong>r ............................. 359<br />
Extension Manager ..................... 417<br />
Extranet ....................................... 403<br />
www.brain-media.<strong>de</strong>
431<br />
FacileForms .................................253<br />
FacileForms-Installation ..............253<br />
FacileForms-Konfiguration .........254<br />
FAQ ...............................................83<br />
Farbauszeichnung ........................162<br />
Farbkombinationen......................161<br />
Farbwahl ......................................160<br />
Feed-Manager .............................101<br />
Fehlerbehandlung ........................420<br />
Fehlerberichte ................................47<br />
Feldbezeichnung..........................261<br />
Fel<strong>de</strong>r<strong>de</strong>finition ...........................235<br />
Feldmanager ................................235<br />
Feldrestriktion .............................226<br />
Flash-Animation ..........................135<br />
Flypage ........................................335<br />
Foren erstellen .............................292<br />
Foren verwalten ...........................292<br />
Forenkategorie .............................294<br />
Forensic Toolkits .........................409<br />
Forensicherheit ............................285<br />
Forenverwaltung..........................294<br />
Formatierungen .............................89<br />
Formular einbin<strong>de</strong>n .....................271<br />
Formular importieren ..................273<br />
Formular stellen ..........................256<br />
Formulareingaben sichten ...........269<br />
Formularelement .........................266<br />
Formularentwicklung .................. 253<br />
Formularentwurf ......................... 261<br />
Formularfeld ............................... 260<br />
Formulargestaltung ..................... 203<br />
Formularverwaltung.................... 269<br />
Frontend .................................. 30, 36<br />
Frontend-Gruppe ........................... 60<br />
Frontpage-Manager ................. 83, 90<br />
FTP ............................................. 421<br />
Galerie ........................................ 349<br />
Gallery2 Bridge .......................... 349<br />
GD2 ............................................ 228<br />
Gesetzliche<br />
Anfor<strong>de</strong>rungs<strong>de</strong>finitionen ....... 141<br />
gigCalen<strong>de</strong>r ................................. 359<br />
Globale Einstellungen ................... 39<br />
Google-Sitemap .......................... 351<br />
GPL ............................................... 18<br />
Gruppe .......................................... 61<br />
Gruppenmitglie<strong>de</strong>r ........................ 61<br />
Hauptmenü ................ 31, 69, 74, 106<br />
Hauptnavigationsleiste .................. 65<br />
Hea<strong>de</strong>r-Grafik ............................. 134<br />
Hersteller .................................... 330<br />
Hilfefunktion................................. 35<br />
Hostname ...................................... 45<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
432 In<strong>de</strong>x<br />
HTML Kit Editor ........................119<br />
iframe ..........................................255<br />
ImageMagick ...............................228<br />
Image Manager ............................417<br />
Impressions ...................................94<br />
Impressum .....................................96<br />
Indizierung ....................................48<br />
Infoleiste .................................. 33, 34<br />
Inhalte bearbeiten ..........................83<br />
Inhalte erstellen ....................... 70, 83<br />
Initialisierungsskript ....................265<br />
Installationsdialog .........................26<br />
Installationsprozess .....................414<br />
Installationsskript ..........................23<br />
Installer ........................................115<br />
Internationalisierung ....................421<br />
interner Mailversand .....................98<br />
Intranet ........................................403<br />
IPN ..............................................324<br />
J!Explorer ....................................423<br />
JCE ..............................................352<br />
JCE-Komponente ........................353<br />
Joom!Fish ....................................364<br />
Joomap ........................................370<br />
<strong>Joomla</strong>! 1.5 ..................................413<br />
<strong>Joomla</strong>! barrierefrei .....................139<br />
<strong>Joomla</strong>! Server Security Post ........ 24<br />
<strong>Joomla</strong>! Stand Alone Server ......... 29<br />
<strong>Joomla</strong>!-Administration ................ 33<br />
<strong>Joomla</strong>!-Erweiterungen ............... 349<br />
<strong>Joomla</strong>!-Site .................................. 63<br />
<strong>Joomla</strong>board ........................ 234, 279<br />
<strong>Joomla</strong>board-Installation ............ 279<br />
<strong>Joomla</strong>board-Konfiguration ........ 280<br />
<strong>Joomla</strong>board-Template-Editor .... 297<br />
<strong>Joomla</strong>polis ................................. 213<br />
joomlaXplorer ............................. 362<br />
JSAS ............................................. 29<br />
Kategorie ...................................... 68<br />
Kaufvorgang ............................... 305<br />
Komponente installieren ............... 36<br />
Komponenten installieren ............. 92<br />
Komponenten-Framework .......... 422<br />
Komponenten-Konzept ................. 91<br />
Komponentenverwaltung ............ 101<br />
Kontaktansicht .............................. 97<br />
Kontaktelement ............................. 96<br />
Kontaktformular ......................... 207<br />
Kontaktmanager ............................ 96<br />
Kontaktverwaltung........................ 96<br />
Kontextbezogener Link ............... 187<br />
Kontraste ..................................... 162<br />
Kosten-Nutzen-Relation ............. 143<br />
www.brain-media.<strong>de</strong>
433<br />
Kreditkartennummer ...................311<br />
Kreditkarte ...................................329<br />
Kreditkartenverwaltung ...............329<br />
Kun<strong>de</strong>nmanager ..........................301<br />
Lagerbestand ...............................311<br />
Län<strong>de</strong>reinstellung ..........................42<br />
Language Manager .................. 42, 52<br />
Layout ...........................................16<br />
Layout-Anpassung ......................343<br />
LDAP ............................ 15, 413, 421<br />
Lebenslauf von Dokumenten und<br />
Inhalten ......................................14<br />
Letterman ....................................381<br />
Letterman konfigurieren ..............388<br />
Lieferant ......................................330<br />
Link erzeugen ..............................106<br />
Links ............................................105<br />
Lizenzbestimmung ........................26<br />
Logfile .........................................374<br />
Login .............................................28<br />
Login-Formular ..................... 92, 106<br />
Lynx ............................................173<br />
Macromedia Extension Manager .120<br />
mainmenu ......................................69<br />
Mambo ..........................................13<br />
Mambo-Dokumentationsserver .....47<br />
Mamboforge ............................... 119<br />
Mambo-Konfigurationsdatei ......... 40<br />
Mambo-Menüleiste ....................... 33<br />
Mambo-Module .......................... 107<br />
MamboOS-Leiste ........................ 126<br />
Mambo-Site konfigurieren ............ 38<br />
Mambot ......................................... 88<br />
Mambo-Template ....................... 120<br />
Mambots ............................... 92, 114<br />
Manager ........................................ 35<br />
Massenmails ................................. 98<br />
<strong>Media</strong> Manager ............................. 53<br />
Medienumbruch ............................ 14<br />
Mehrdimensionalität ................... 174<br />
Mehrsprachige Site ..................... 364<br />
Menü ............................................. 73<br />
Menü arbeiten ............................... 73<br />
Menü Site Configuration .............. 39<br />
Menüeintrag ............................ 67, 75<br />
Menü-ID ....................................... 74<br />
Menüleiste............................... 33, 34<br />
Menü Manager ...................... 73, 419<br />
Menüstruktur................................. 70<br />
Messaging-Einstellungen ............ 115<br />
Messaging-System ...................... 213<br />
Metadaten ............................... 48, 87<br />
Migration ...................................... 71<br />
Migrationskomponente ............... 415<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
434 In<strong>de</strong>x<br />
Migrationsskript ..........................414<br />
Minianwendungen .........................91<br />
Mo<strong>de</strong>rator ............................ 213, 286<br />
Mo<strong>de</strong>ratorenberechtigung ...........230<br />
Modul ............................................31<br />
Modul Archive ............................112<br />
Modul Login ................................111<br />
Modul Template Chooser ............113<br />
Module installieren ........................36<br />
Modulmanager ............................106<br />
Modulübersicht ...........................108<br />
Modulverwaltung ........................215<br />
MOS Image ........................... 79, 114<br />
Mülleimer ......................................58<br />
myPMS ........................................291<br />
MySQL .................................... 13, 19<br />
MySQL-Datenbank .......................13<br />
MySQL-Datenbankkonfiguration..26<br />
MySQL-Server ..............................26<br />
Nachrichten .................................115<br />
Nachrichtenbetreff .......................218<br />
Navigation ...................................174<br />
Navigationsstruktur .....................175<br />
NetPBM.......................................228<br />
News ..............................................83<br />
Newsfeed .......................................99<br />
Newsfeed-Komponente ...............100<br />
Newsfeed-Manager ....................... 99<br />
Newsfeeds ..................................... 92<br />
Newsflash ..................................... 83<br />
Newsletter ................................... 381<br />
Newsletter erstellen..................... 385<br />
Newsletter versen<strong>de</strong>n .................. 385<br />
Newsletterverwaltung ................. 385<br />
Nutzergruppen ............................ 140<br />
Öffentliches Backend .................... 36<br />
Öffentliches Frontend ................... 36<br />
Online-Shop ........................ 301, 347<br />
ontpage Manager .......................... 84<br />
OpenSEF ..................................... 147<br />
OpenWP ...................................... 378<br />
Pagination ..................................... 79<br />
Paketdienst .................................. 316<br />
Paketmanagementsystem .............. 92<br />
Pathway-Grafik ........................... 130<br />
Pathway-Unterstützung ............... 422<br />
PayPal ......................................... 324<br />
PDF ............................................. 282<br />
PDF-Bibliothek ........................... 421<br />
PDF-Icon ...................................... 80<br />
Pfad ............................................... 46<br />
Pfadnavigationen ........................ 186<br />
Phil-A-Form ................................ 277<br />
www.brain-media.<strong>de</strong>
435<br />
PHP ...............................................19<br />
PHP Mailer-Funktion ....................49<br />
phpMyAdmin ................................22<br />
PHP-Umgebung ............................92<br />
Plugin-Framework .......................245<br />
Plugin Manager ...........................245<br />
Plugin-Verwaltung ......................245<br />
PMS ...............................................92<br />
Poll ..............................................101<br />
Poll-Manager ...............................102<br />
Posting .........................................286<br />
Präsentationslogik .......................145<br />
Preisanzeige .................................308<br />
Preiskonfiguration .......................308<br />
Print-Icon.......................................80<br />
Product Informationen .................335<br />
Produktpalette .............................314<br />
Produkt erstellen ..........................333<br />
Produktattribute ...........................336<br />
Produktdatenbank ........................334<br />
Produkt<strong>de</strong>tails ...................... 314, 335<br />
Produkte ......................................301<br />
Produkteigenschaften ..................301<br />
Produkt-ID...................................335<br />
Produktkategorie .........................332<br />
Produktkategorien .......................301<br />
Produktverwaltung ......................332<br />
Profil ............................................213<br />
Proxy-Server ................................. 46<br />
Publikationssteuerung ............. 16, 86<br />
Publish .......................................... 34<br />
Publisher ....................................... 36<br />
Publishing ..................................... 16<br />
Rabattberechnung ....................... 309<br />
Radio-Button einfügen ................ 262<br />
Ranking-Einstellung ................... 289<br />
Rating-Funktion ............................ 45<br />
Rechte ........................................... 22<br />
Register Cache .............................. 50<br />
Register Content ........................... 43<br />
Register Database ......................... 45<br />
Register Locale ............................. 42<br />
Register Mail ................................ 49<br />
Register Metadata ......................... 48<br />
Register SEO ................................ 51<br />
Register Server .............................. 46<br />
Register Statistics .......................... 51<br />
Registrierungsformular ............... 305<br />
Registrierungsmail ...................... 218<br />
Reihenfolge von Elementen .......... 87<br />
Replikationsmechanismen ............ 16<br />
RSS ............................................. 100<br />
RSS-basierte Nachrichten ............. 99<br />
RSS-Feed .................................... 282<br />
RSS-Verzeichnis ......................... 101<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
436 In<strong>de</strong>x<br />
Run Digital 508Hack ...................146<br />
Run Digital Sitemap ....................147<br />
Schlüsselwörter .............................48<br />
Schreibrecht .................................286<br />
Search Engine Friendly .................51<br />
Section Manager ............................84<br />
SEF ..............................................420<br />
Sektion ....................................66, 89<br />
Sektionsliste ..................................89<br />
Sektionsmanager ..................... 67, 89<br />
Sendmail ........................................49<br />
SEO ...............................................51<br />
Server-Logfiles ..............................51<br />
Session ..........................................46<br />
SGML ............................................17<br />
Shipping ......................................315<br />
Shipping-Modul ..........................327<br />
Shop-Admin ................................311<br />
Shop-Beschreibung .....................320<br />
Shop-Einstellungen .....................319<br />
Shop-Frontend .............................311<br />
Shop-Konfiguration .....................306<br />
Shop-Layout ................................343<br />
Shop-Logo ...................................320<br />
Shoppingsystem ..........................301<br />
Sicherheit.....................................393<br />
Sicherheit <strong>de</strong>r CMS-Umgebung ..395<br />
Sicherheitscheck ........................... 24<br />
Sicherheits-Checkliste ................ 405<br />
Site-Beschreibung ......................... 48<br />
Sitemap ....................................... 370<br />
Site-Module ................................ 108<br />
Site-Struktur .................................. 66<br />
Site-Template ................................ 56<br />
Skalierbarkeit .............................. 164<br />
Skripttypen .................................. 265<br />
SKU ............................................ 335<br />
SMTP-Server ................................ 49<br />
Sommerzeit ................................... 42<br />
Spambots .................................... 403<br />
Sprachdatei ................................... 36<br />
Sprachmanager ............................. 53<br />
Sprachpaket................................... 52<br />
Sprungmarke ............................... 184<br />
SQL-Datenbank ............................ 17<br />
SQL-Injektion ............................. 398<br />
SSL ..................................... 312, 402<br />
SSL-Verschlüsselung .................. 402<br />
Standardinstallation ...................... 31<br />
Standardsicherheit ....................... 393<br />
Standardwährung ........................ 320<br />
Static Content Manager ................ 84<br />
staticXT ........................................ 71<br />
statische Inhalte ............................ 71<br />
Statistiken ..................................... 55<br />
www.brain-media.<strong>de</strong>
437<br />
Statistikfunktion ............................51<br />
Statistikmodul .............................374<br />
Steuern ........................................301<br />
Stock Keeping Unit .....................335<br />
Stylesheet <strong>de</strong>finieren ...................136<br />
Suchfunktion .................................30<br />
Suchmaschine .................... 16, 48, 51<br />
Super Administrator ......................35<br />
Symbolleiste ............................ 33, 34<br />
Syndic8 ........................................101<br />
Syndicate ............................... 65, 103<br />
Syndication-Einstellungen...........103<br />
Systemadministration ....................36<br />
System-Administrator ...................59<br />
Systemanalyse ...............................23<br />
Systemperformance .......................46<br />
Tabellenfunktionen......................125<br />
Tab Management .........................233<br />
Template ........................................31<br />
Template Buil<strong>de</strong>r Plugin .............119<br />
Template Chooser .......................108<br />
Template Editor .............................58<br />
Template installieren ...................137<br />
Template Manager.........................55<br />
template_css.css ..........................131<br />
template_thumbnail.png ..............131<br />
Template-Auswahl ........................64<br />
Template-Beschreibung ........ 57, 132<br />
Template-Bezeichnung ............... 123<br />
Template-Design ......................... 160<br />
templateDetails.xml ............ 131, 132<br />
Template-Galerie .......................... 64<br />
Templategenerator ........................ 18<br />
Template-Gestaltung ................... 124<br />
Template-Hea<strong>de</strong>r ........................ 120<br />
Template-Installation .................... 64<br />
Template Manager ........................ 64<br />
Templates ...................................... 63<br />
Template-Übersicht ...................... 56<br />
Template-Verzeichnis ................... 56<br />
Template-Verzeichnisstruktur..... 131<br />
Textlink ....................................... 186<br />
Textverarbeitung ........................... 86<br />
The Sleuth Kit ............................. 410<br />
TinyMCE ............................ 249, 352<br />
TinyMCE Editor ........................... 86<br />
Tooltip erstellen .......................... 264<br />
Trash Manager .............................. 58<br />
Übertragungsmodi ...................... 362<br />
Umfragen .................................... 101<br />
Umstieg ......................................... 71<br />
Unpublish ...................................... 34<br />
Upload ........................................ 287<br />
Usability ...................................... 142<br />
<strong>Joomla</strong>! <strong>kompakt</strong>
438 In<strong>de</strong>x<br />
UTF-8 ..........................................421<br />
Validierungsfunktion ...................266<br />
Validierungsskript .......................265<br />
Validität .......................................150<br />
Veranstaltungskalen<strong>de</strong>r ...............359<br />
Verfügbarkeit ..............................336<br />
Versandkosten ..................... 301, 329<br />
Versandverfolgung ......................302<br />
Versionscheck ...............................24<br />
Verzeichnisdienst ..........................15<br />
VirtueMart ...................................301<br />
VirtueMart-Administration .........306<br />
VirtueMart-Design ......................313<br />
VirtueMart-Erweiterungen ..........345<br />
VirtueMart-Komponente .............305<br />
VirtueMart-Mambot ....................303<br />
VirtueMart-Verzeichnisse ...........339<br />
Voraussetzungen ...........................19<br />
Vorlagenverwaltung ......................57<br />
Vorschau ............................... 88, 418<br />
Vorschaufunktion .................... 55, 88<br />
Warenangebot .............................328<br />
Warenkorbfunktion .....................301<br />
Warenwert ...................................320<br />
WCAG ................................ 141, 420<br />
Web Content Accesibility<br />
Gui<strong>de</strong>lines ............................... 141<br />
Weblog ........................................ 149<br />
Website ......................................... 13<br />
Werbeeinblendungen .................... 93<br />
Werbung ....................................... 93<br />
WinAudit .................................... 409<br />
WordPress-Integration ................ 378<br />
Workflow-Modul ........................ 249<br />
Workflowprozess ........................ 218<br />
WYSIWYG-Editor ..................... 352<br />
XAMPP ........................................ 19<br />
XAMPP für Windows ................... 21<br />
XAMPP unter Linux ..................... 20<br />
XAMPP-Installation ..................... 20<br />
XAMPP-Sicherheit ..................... 400<br />
XAMPP-Sicherheitsskript ............ 26<br />
XHTML ...................................... 150<br />
XHTMLSuite 508 ....................... 149<br />
XJ! ................................................ 29<br />
XML ....................................... 17, 18<br />
XML-basierten Template-<br />
Beschreibung .................... 57, 132<br />
XML-RPC................................... 421<br />
YAML ........................................ 167<br />
Zahlungsbestätigung ................... 324<br />
Zahlungsmetho<strong>de</strong> ........................ 320<br />
www.brain-media.<strong>de</strong>
439<br />
Zahlungssysteme .........................302<br />
Zeitzone .........................................42<br />
zlib-Unterstützung .........................92<br />
Zugriffslevel ..................................89<br />
Zugriffsparadigma .........................14<br />
Zugriffsrechte ................... 16, 35, 38<br />
Zustelleigenschaften ................... 315<br />
Zustellung ................................... 327<br />
Zwischenspeicher ......................... 50<br />
<strong>Joomla</strong>! <strong>kompakt</strong>