04.11.2013 Aufrufe

Joomla kompakt - Brain-Media.de Brain-Media.de

Joomla kompakt - Brain-Media.de Brain-Media.de

Joomla kompakt - Brain-Media.de Brain-Media.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

&nbsp;<br />

<br />

<br />

<br />

<br />

Hier soll die Navigationsleiste<br />

eingef&uuml;gt wer<strong>de</strong>n. <br />

&nbsp;<br />

<br />

<br />

In <strong>de</strong>n mittleren Tabellenblock wer<strong>de</strong>n<br />

sp&auml;ter die eigentlichen Inhalte<br />

einf&uuml;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 />

&nbsp;<br />

<br />

Hier ist Platz f&uuml;r weitere Infos, Werbung<br />

<br />

<br />

&nbsp; <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&nbsp;&nbsp;<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&auml;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>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!