- Werbung -


Hier könnte Ihre Werbung stehen. Interessiert? Sprechen Sie uns an.


Neueste Kommentare

Drupal und die sieben (wichtigsten) Module

Druckversion

Der Erfolg und die Popularität von Drupal beruhen nicht zuletzt auf der leichten Erweiterbarkeit des Systems durch Dritt-Module. Im Laufe der Jahre ist die Zahl der Drupal-Module enorm angewachsen: Zur Zeit (Stand Juli 2011) listet das Verzeichnis auf drupal.org 8348 Module auf, diese verteilen sich auf die fünf Drupal-Versionen 4.7, 5, 6, 7 und 8. Allerdings werden die Versionen 4.7 und 5 nicht mehr weiterentwickelt, so dass hierfür auch keinen neuen Module mehr erscheinen und vorhandene in der Regel nicht mehr gepflegt werden. Für den Produktiveinsatz empfiehlt sich in der Regel die Version 6, für die es auch das größte Modulangebot gibt mit 5893 Stück. Drupal 7 gibt es seit Anfang diesen Jahres ebenfalls als stabile Version für den Einsatz im Wirkbetrieb. Allerdings ist die Zahl der verfügbaren Module mit 2012 Stück momentan noch erheblich geringer, so dass man vor der Entscheidung, ob man bereits die neueste Drupal-Version einsetzen will, unbedingt die Verfügbarkeit der benötigten Module prüfen sollte.

Die im folgenden Artikel beschriebenen Module sind mit Blick auf den Einsatz der Drupal6-Version ausgewählt. Die Liste enthält nur Module, die nicht zum Drupal-Core gehören und zusätzlich installiert werden müssen. Sie ließe sich natürlich noch erweitern und man könnte auch die zehn oder zwölf wichtigsten Drupal-Module beschreiben. Sicher ist diese Auswahl auch ein bisschen subjektiv, beruht aber auf den Erfahrungen vieler Drupal-Projekte - eigener und fremder.

Was sind Module?

Mit Modulen bezeichnet man bei Drupal PHP-Programme, die den Funktionsumfang des eigentlichen Drupal-Kernsystems (auch "Core" genannt) erweitern. Ein Modul kann dabei sehr klein sein und nur eine einzige zusätzliche Funktion bereitstellen. Ein Beispiel dafür ist das auf auge.de eingesetzte Premium-Modul, das nichts anderes macht, als bei einem Artikel den Text der nach dem Teaser kommt vor Usern zu verbergen, die nicht die notwendige Leseberechtigung haben. Dagegen können andere Module sehr komplex sein und Drupal umfangreich erweitern. Ein Beispiel hierfür ist das Modul Organic Groups, mit dessen Hilfe man eine eigene Community mit getrennten Bereichen einrichten kann, die sich selber verwalten kann. Daneben es Module mit sehr speziellen Funktionen, die nur für ganz bestimmte Anwendungsfälle in Frage kommen. Andere sind dagegen fast in jeder Drupal-Installation unverzichtbar. Und diese möchte ich vorstellen:

Nr. 1: Views

Nicht ohne Grund steht dieses Modul auf Platz eins der meist installierten Module. Mit Views wird es überhaupt erst möglich, die Inhalte, die Drupal verwaltet mit Hilfe von SQL-Abfragen auszugeben, ohne dass man als User SQL können muss. Über ein spezielles Backend kann man sich seinen Datenbankabfragen zusammenstellen und per Vorschau sehen, ob diese die gewünschte Ausgabe produzieren. Dabei gibt es vielfältige Filtermöglichkeiten und jedes einzelne Datenfeld, auf das man zugreifen kann, lässt sich in dem View platzieren. So erstellte Views können dann direkt einen Menüpunkt bereitstellen oder über einen eigenen Pfad angesprochen werden. Aber auch die Einbettung in ein Panel ist möglich. So lassen sich sehr flexible Seiten erzeugen. Das Views-Modul ist auf auge.de an vielen Stellen im Einsatz und stellt - zum Teil in Verbindung mit Panels - die Startseite, die UM-Übersichtsseite, die UM-Rubriken, die Regionalseiten und fast alle Seiten im Mitgliederbereich bereit. Es gibt außerdem viele zusätzliche Module, die ihrerseits die Funktionalität von Views erweitern, beispielhaft sei hier nur Views Bulk Operations genannt, mit dessen Hilfe man die über Views ausgewählten Datensätze "in einem Rutsch" mit verschiedenen Operationen bearbeiten kann.

Nr. 2 Content Construction Kit (CCK)

Fast ebenso unverzichtbar wir das Views-Modul ist das Content Construction Kit (regelmäßig "CCK" abgekürzt). Damit lassen sich beliebige benutzerdefinierte Inhaltstypen erzeugen oder die standardmäßig in Drupal enthaltenen Typen "Artikel" und "Seite" um eigene Felder erweitern. Der Feldertyp lässt sich dabei natürlich genauso festlegen wie die Länge eines Feldes und ob es sich um ein Pflichtfeld handelt. An Typen stehen Text-, Datums-, Zahlen- oder Dateiformate zur Verfügung. Darüber hinaus können andere Module ebenfalls Feldtypen definieren und für CCK bereitstellen. Da CCK mit den Modulen Views und Panels zusammenarbeitet, lassen sich damit viele Anwendungsfälle abbilden, ohne dass der User auch nur eine einzige Zeile PHP-Code selber schreiben muss. Auf auge.de wird CCK unter anderem für die UM-Artikel verwendet, und stellt dort zusätzliche Felder für den Workflow, den Autor oder ein Teaser-Bild zur Verfügung

Nr. 3 Token

Zunächst scheint das Token-Modul wenig Spektakuläres zu bieten. Im Gegensatz zu Views und CCK bietet es dem Benutzer erstmal nichts Sichtbares. Seine einzige Funktion liegt darin, eine zentrale API bereitzustellen, die andere Module nutzen können, um Platzhalter - sogenannte Tokens (man kann auch sagen Variabeln) - bereitzustellen. Damit lassen sich dann beispielsweise Tokens wie [user] oder %site-name generieren und innerhalb von Drupal verwenden, ohne dass der Benutzer sich um die Variablennamen innerhalb von Drupal kümmern muss. Und wozu das Ganze? Nun, beispielsweise um, in Verbindung mit dem Pathauto-Modul, ansprechende, lesbare URLs zu generieren (dazu mehr beim Modul Pathauto). Oder man füllt die von einem View bereitgestellten Ansichten und übergibt Tokens, um bestimmte Inhalte auszugeben. Beispielsweise wird auf auge.de Tokens verwendet, um auf den Regional-Unterseiten jeweils nur die Inhalte der zugehörigen Regionalgruppe auszugeben.

Nr. 4 Pathauto

Drupal verfügt zwar von Haus aus über eine Funktion, um "lesbare URLs" zu erzeugen. Aber das Ergebnis ist nicht wirklich schön. So wird beispielsweise aus der Original-URL das Artikels "Suchmaschinenoptimierung mit Drupal" http://auge.de/?q=node/1042 einfach nur http://auge.de/node/1042. Das ist natürlich nicht gerade optimal und weder für menschliche Leser noch für Suchmaschinen eine aussagekräftige URL. An dieser Stelle kommt Pathauto in Verbindung mit dem Token-Modul zum Einsatz. Mit Pathauto kann man Regeln festlegen, nach denen die URLs für neue Inhalte generiert werden. Dies wollen wir uns beispielhaft für einen neuen UM-Artikel anschauen:

Auf der Einstellungsseite von Pathauto findet man den Reiter "Automated alias setting". Hier werden die Regeln definiert. Für einen neuen UM-Artikel wollen wir nun eine Regel festlegen, die einen URL nach diesem Schema erzeugt:

auge.de/usermagazin/rubrik/titel-des-artikels

Dazu tragen wir unter "Node Paths >> Muster für alle UM-Artikel Pfade:" (Hinweis: "UM-Artikel" ist der selbst definierte Inhaltstyp, der alle Artikel für das Usermagazin enthält) den String "usermagazin/[termpath]/[title-raw]" ein. Wird nun ein neuer UM-Artikel angelegt und gespeichert, so erstellt Pathauto ohne weiteres zutun des Users einen URL-Alias bei dem das Token [termpath] durch die Kategorie aus der Taxonomy für die UM-Artikel ersetzt wird und der Titel des Artikel den Token [title-raw] ersetzt. Bei unserem obigen Beispiel mit dem Beitrag zur Suchmaschinenoptimierung sieht das dann so aus:

auge.de/usermagazin/internet/suchmaschinenoptimierung-drupal

Tipp: Wie so oft im Internet stellen Umlaute für das Pathauto-Modul ein Problem das. Um dies zu lösen gibt es eine Datei i18n-ascii-example.txt, in der Umlaut-Ersetzungen definiert sind. Diese befindet sich im Pfad../sites/all/modules/pathauto/ und muss in i18n-ascii.txt umbenannt werden. Anschließend setzt man auf der Konfigurationsseite von Pathauto ein Häkchen bei "Umcodieren, bevor der Alias erstellt wird". Dann werden Umlaute im Titel umgewandelt und aus "ä" wird "ae", aus "ß" wird "ss" ,usw. Da die maximale Länge einer URL begrenzt ist (standardmäßig auf 100 Zeichen) kann man noch bestimmte Wörter oder Zeichenketten aus der URL automatisch entfernen lassen, z.B. Artikel, Präpositionen oder Pronomen. Diese Wörter trägt man unter "Zu entfernende Zeichenketten" ein. Bei der Generierung der URL werden sie dann ausgelassen.

Nr. 5 WYSIWYG mit CK-Editor

Natürlich kann man Inhalte in Drupal auch einstellen, ohne einen WYSIWYG-Editor zu benutzen. Aber das ist doch reichlich unkomfortabel. Und noch dazu völlig unnötig. Zwar liefert Drupal von Haus aus keinen Editor mit, aber es gibt verschiedene Module, um einen nachzurüsten. Welchen WYSIWYG-Editor man benutzt, ist auch ein bisschen Geschmacksache. Mir gefällt der CK-Editor mit am besten. Um diesen benutzen zu können, muss man als erstes das CK-Editor-Modul installieren. Dieses stellt eine API bereit, an der der eigentliche Editor andocken kann. Anschließend lädt man sich das CK-Editor-Paket von der Homepage runter und installiert es in das Modul-Verzeichnis. Dieser Editor ist nicht nur sehr angenehm in der Bedienung, er lässt sich auch gut konfigurieren. So kann der Administrator beispielsweise für verschiedene Benutzergruppen den Editor mit unterschiedlicher Funktionalität ausstatten, um Funktionen auszublenden, mit denen unerfahrene User das Layout ihrer Artikel oder gar einer ganzen Seite beschädigen können. CK-Editor kann darüber hinaus mit anderen Modulen zusammenarbeiten. So lässt sich z.B. der komfortable File-Browser IMCE einbinden oder ein Plugin für die Einbindung von Flash-Inhalten. Der CK-Editor ist auf auge.de seit einiger Zeit im Einsatz und hat seinen Vorgänger FCK-Editor abgelöst.

Nr.6 Panels

Das Panels-Modul bietet eine sehr flexible Möglichkeit, um die unterschiedlichsten Inhaltselemente auf einer Seite zusammenzufassen. Egal ob Views, Blocks, einzelne Artikel, Webformulare, fast alle Inhaltselemente können auf einer Seite mit fast beliebig definierbaren Layout dargestellt werden. So kann der Content-Bereich mit Hilfe eines Panels in mehrere Spalten aufgeteilt werden, auch wenn das Template hier nur eine Spalte vorsieht. Es lassen sich aber auch Seiten mit unterschiedlichen Zonen erstellen. So kann der obere Teil des Content-Bereiches einspaltig sein und darunter einen weiteren Bereich enthalten, der zweispaltig ist. Die UM-Übersichtsseite ist ein schönes Beispiel hier. Oben der einspaltige Editorial-Bereich, darunter zweispaltig die übrigen Themenbereiche und zum Schluss noch einmal ein einspaltiger Bereich für die Rubrik "Vermischtes". Auf auge.de werden Panels für die Startseite, die RG-Seiten und im Mitgliederbereich eingesetzt. Überwiegend werden auf diesen Panel-Seiten Views zu einer neuen Seitenansicht zusammen gefasst.

Nr. 7 Administration Menu

Ein absolutes "Must have" für jeden Administrator ist das Modul Administration Menu, weil es bei der Verwaltung einer Drupal-Webseite ein echter Zeitsparer ist. Es stellt ein Theme-unabhängiges Pull-Down-Menü zur Verfügung mit der man auf alle Menüpunkte des Administrationsbereiches schnell zugreifen kann. Das erspart so manchen Mausklick und einige Wartezeit die normalerweise benötigt wird, wenn man sich über mehrere Seiten zum gewünschten Menüpunkt durchklickt. Ach ja, an dieser Stelle sei auch das Modul Content Management Filter (CMF) erwähnt. Es ist nicht nur für Admins gedacht, sondern für alle, die Inhalte in Drupal verwalten müssen. Die normale Inhaltsübersicht bietet leider nur sehr weniger Filtermöglichkeiten. CMF erweitert diese deutlich und erleichtert damit die Arbeit.

Und was gibt es sonst noch?

Daneben gibt es auch noch diverse weitere Module, die sehr nützlich sein können, z.B. den schon erwähnten File-Browser IMCE oder Poormanscron, mit dessen Hilfe man Drupals cron.php auch ohne den Einsatz von Cron-Jobs regelmäßig aufrufen kann. Gerade während der Test- und Entwicklungsphase wird man gerne die Module Masquerade und Devel einsetzen. Ersteres gestattet es dem Admin (aber auch anderen berechtigten Usern) in die Rolle anderer User zu schlüpfen und die Seite z.B. mit deren Berechtigungen zu testen. Devel stellt diverse Hilfsfunktionen zur Verfügung, welche die Entwicklungsarbeit erleichtern. So lassen sich schnell Inhalte wie Nodes und Kommentare generieren, Zugriffsrechte für Nodes anzeigen oder Debugging-Informationen ausgeben. Wer noch mehr nützliche Module sucht, sollte einfach mal im Modulverzeichnis von drupal.org stöbern und sich inspirieren lassen.

Links

(Hinweis: Die folgenden Seiten sind alle in Englisch)
Drupal Modulverzeichnis: https://www.drupal.org/project/project_module
Module:
Views: https://www.drupal.org/project/views
Content Construction Kit (CCK): https://www.drupal.org/project/cck
Token: https://www.drupal.org/project/token
Pathauto: https://www.drupal.org/project/pathauto
CK-Editor: https://www.drupal.org/project/ckeditor
Panels: https://www.drupal.org/project/panels
Administration Menu: https://www.drupal.org/project/admin_menu
Externe Skripte:
CK-Editor Homepage: http://ckeditor.com/
Sonstige Seiten:
Deutsche Drupal-Community: http://www.drupalcenter.de/