Drupal: Module

Diese Website wird mit dem CMS/Framwork Drupal gebaut und betrieben. Allein mit der Basisinstallation lässt sich noch keine anständige, moderne Website betreiben, weshalb man sich mit bestimmten Erweiterungen behelfen muss. Hier stelle ich in einer nicht abschliessenden Liste Drupal-Module vor, die ich in jedem Fall empfehlen und aktivieren würde. Natürlich hoffe ich, dass es dem einen oder anderen zur Inspiration gereicht. Im weiteren dient mir diese Liste auch zur eigenen Dokumentation.

Entwicklung (Development)

Admin Menu

Erst mit diesem Modul, das ein gut bedienbares Administrator-Menü am Kopf der Seite einblendet, macht das Arbeiten mit Drupal zum Vergnügen. Zudem verschafft es eine verständliche Übersicht über die Einstellungsmöglichkeiten von Drupal und dessen Module.

Links: Zur Webseite

Module Filter

Wenn sich mit der Zeit viele Module ansammeln, ist man um eine einfach und effizient zu bedienende Benutzeroberfläche mit Suchfunktionen dankbar. Nebst der Ablage der Module in Kategorie-Reiter (Tabs) erleichtert dem Admin die flinke Filterfunktion das Suchen enorm.

Links: Module Filter

CCK (Content Construction Kit)

Sicher bin ich nicht der einzige, der sich fragt, wieso dieses Modul nicht schon im Kern vorhanden ist, denn mit diesem Modul lassen sich verschiedene Inhaltstypen wie «Veranstaltung», «Produkte», «Filiale» etc. erstellen und einsetzen. Erst dadurch wird eine Drupal-Website individuell.

Links: CCK

Views

Mit Views bzw. Ansichten lassen sich Datenbank-Abfragen visualisieren, z.B. alle kommenden Veranstaltungen oder alle Mitarbeiter einer Firma oder Abteilung. Views ist sehr umfangreich und eine gute Einarbeitung empfiehlt sich. Auch dieses Modul gehört eigentlich in den Kern, und es sind Bestrebungen vorhanden, Views darin zu integrieren.

Links: Views

Chaos tool suite (Ctools)

Dieses populäre Modul bietet eine Menge an Schnittstellen, mit denen der Drupal-Entwickler schneller eigene Module schreiben kann. Aus diesem Grunde erfordern viele andere Module als Voraussetzung die vorgängige Installation von CTools. Selbst einfachere Drupal-Worker tun gut daran, dieses Modul gleich in den Anfängen zu installieren.

Links: CTools

Libraries API

Wer externe Libraries (Plugins), die unabhängig von Drupal entwickelt wurden, einsetzen will (z.B. Plupload für den Multifile-Upload oder diverse Player für Video und Audio), wird dieses Modul benötigen. Die externen Libraries werden im Verzeichnis /sites/all/libraries/ gespeichert, dieses Modul selber wie alle anderen Module unter /sites/all/modules/. Es steht für sich selber und weist keine Benutzerschnittstelle auf.

Links: Libraries API

Multiple forms

Dieses API-Modul bietet anderen Modulen die Möglichkeit, mehrere Formulare zu einem Formular zusammenzufassen. Erst als ich dieses Modul installiert hatte, konnte ich bestimmte Drupal-Sites so richtig ausbauen, zum Beispiel mit Media Browser Plus.

Links: Multiple forms

Backup and Migrate

Dieses sehr populäre Modul gehört dringend auch installiert, denn die Datensicherung sowie das Einspielen von Datenbank-Kopien gehört zu dem elementaren Arbeiten eines Drupal-Workers. Es lassen sich damit auch verschiedene Profile anlegen, was die Entwicklung vereinfacht. Auch die Erweiterungen zu Backup & Migrate können sich sehen lassen, z.B. für die Datensicherung in einen Dropbox-Account oder die Datensicherung der Dateien. Auch die Drush-Integration ist ein gutes Argument für dieses Modul. 

Links: Backup & Migrate, Drush-Dokumentation

Benutzerverwaltung

User Protect

Damit schützt man bestimmte Benutzer und Rollen vor den Zugriffen anderer Benutzer, denen die Benutzerverwaltung ermöglicht wird. Hier gilt es in der erster Linie die Administratoren zu schützen. Dieses Modul ist sogar zwingend für Drupal-Sites, in denen es bestimmten Benutzern bzw. Rollen ausser Admin erlaubt ist, Benutzer erstellen und verwalten können.

Links: User Protect

Role Assign

Dieses Modul ermöglicht es, dass bestimmte Rollen, die mit der Benutzerverwaltung betraut sind, nur festgelegte Rollen vergeben dürfen, z.B. die Rolle «Kunde» oder «Mitglied». Dieses Modul ist vor allen für diejenigen Drupal-Sites zwingend, in denen mehrere Benutzer ohne Administratorrechten Benutzer anlegen und verwalten können.

Links: RoleAssign

Profile 2

Dieses Modul bietet die Anlage von verschiedenen Benutzerprofilen, die jeweils in eigenen «Seiten» angelegt sind, z.B. «Mitglieder» oder «Kunde», getrennt von den eigentlichen Benutzerkonto-Daten wie Benutzername und Passwort. Diese Profile eignen sich z.B. für die Anzeige von Mitarbeitern auf einer Website (mit Funktion, Ausbildung etc.)

Links: Profile2

Menu Admin per Menu

Damit ist es möglich, bestimmten Rollen nur die Bearbeitung von ausgewählten Menus zu gewähren. Dabei gilt es zu beachten, dass die allgemeinen Rechte zur Bearbeitung der Menü deaktiviert werden müssen.

Links: Zum Modul

User Settings Access

Damit kann der Zugriff auf die Kontoeinstellungen für die Benutzerverwaltung nach Rolle geregelt werden. In der Regel soll dies ja nur der Administrator dürfen.

Links: Control Access to User Settings

Taxonomy Access Control

Um die Berechtigungen für Erstellung, Bearbeitung und Löschen von Vokabularen und Tags zu setzen, eignet sich dieses handlich zu bedienende Modul. Bestimmte Vokabulare sollten ja auch von gewöhnlichen Benutzern bearbeitet werden, was man damit einstellen kann.

Links: Taxonomy Access Control

Inhaltsverwaltung

IMCE und IMCE Wysiwyg

Der Dateimanager IMCE mag sicher nützlich sein auf Drupal 6-Websites, doch mit dem umfangreichen und flexiblen Media-Modul ab Drupal 7 ist IMCE vor allem für die Integration in einen Texteditor mit IMCE Wysiwyg hilfreich, um z.B. Bilder in einen Text einfügen zu können.

Links: IMCE, IMCE Wysiwyg

Administration Views

Die Auflistung der Objekte in Drupal ist ein wenig umständlich zu filtern, vor allem fehlt das Filtern nach Autor sowie Titel und eine einfachere Bedienung. Dieses Modul ersetzt das Drupal-eigene Filterpanel am Kopf der Liste durch ein wirklich sehr brauchbares Filter- bzw. Such-Panel.

Links: Administration Views

Node Clone

Wiederkehrende oder ähnliche Inhalte wie bestimmte Veranstaltungen lassen sich mit Node Clone und der Erweiterung Node Clone Tab einfach kopieren und anpassen.

Links: Node Clone, Node Clone Tab

Wysiwyg

Wer einen anderen Wysiwyg-Editor einsetzen will als den von Drupal favorisieren CKEditor, der kann dieses Modul einpflegen, das eine Vielzahl an Editoren unterstützt. Allerdings sollte frühzeitig abgeklärt werden, ob der eingesetzt Editor nicht Ziel von häufigen Angriffen ist, wie z.B. TinyMCE, der punkto Sicherheit in keiner Weise empfohlen werden kann.

Links: Wysiwyg

CKEditor

Ohne Rich Text Format (RTF) sähen heute Textinhalte trist und schwer lesbar aus, vor allem technische. Aus diesem Grunde setzen heute fast alle CMS Wysiwyg-Editoren ein. Mit Drupal ist der Einsatz von verschiedenen Alternativen Wysiwyg-Editoren möglich, doch selber musste ich die Erfahrung, dass man gewisse Editoren am besten aussen vor lässt, z.B. den TinyMCE, der ein beliebtes und lohnendes Ziel für Einbrecher ist. Für Drupal ab Version 8 ist der CKEditor in der Basis-Installation von Drupal vorgesehen, und das vielleicht aus gutem Grund.

Links: CKEditor-Modul, Library von ckeditor.com

Medienverwaltung

File Entity

Dieses Modul erweitert die File Entität des Drupals Kern enorm und bietet als Interface die Typisiereung und die Art der Anzeige (Display) der Dateien an. Im weiteren wird mit diesem Modul auch der Datentyp «Datei» geboten. Auch andere Module wie Media benötigen die Erweiterung File Entity, die grösstenteils in den Core von Drupal 8 gelangen könnte.

Links: File Entity

Media

Media ist ein erweiterbares Framework für Multimedia-Elemente wie Bilder, Töne, Dokumente und Filme. Viele Zusatzmodule basieren auf diesem Modul, weshalb die Installation dieses Modul sozusagen zur Standard-Installation gehört..

Links: Media

Transliteration

Ehrlich gesagt, sind viele Anwender zu faul, um Dateien mit klare und effizient anwendbare Namen zu versehen. Da muss man mitunter schon viel Zeit für die Suche nach bestimmten Dateien (Medien) aufwenden. Damit aber noch nicht genug: auch Sonderzeichen gehören zu den weiteren Torheiten vieler Anwender. Damit der Admin und Entwickler nicht auch noch damit geplagt wird, sorgt das Modul Transliteration für Abhilfe und übersetzt einfach alle Zeichen in die englische bzw. maschinenlesbare Notation. Gehört zu den Standardmodulen. 

Links: Transliteration

Plupload

Plupload ist ein CMS-unabhängige Bibliothek, die den Multi-File-Upload über eine grafische Oberfläche bietet, also den Upload via Drag & Drop. Die Benutzeroberfläche wird durch Flash, HTML5, Silverlight und anderen Technologien zur Verfügung gestellt. Damit Drupal diese coole Schnittstelle integrieren kann, wird nebst der Library, die unter /sites/all/libraries/ gespeichert sein muss, auch noch das Modul zur Integration von von Plupload benötigt, gespeichert unter /sites/all/modules/

Links: Plupload (Library), Plupload Integration (Drupal-Modul)

Video

Wer auf seiner Drupal-Website Video zum Uploaden und Ansehen anbieten will, erhält mit diesem Modul sozusagen ein Schweizer Taschenmesser. Im Zusammenspiel mit anderen Modulen konvertiert dieses Modul Video mit dem H.246-Codec und stellt Player für verschiedene Geräte zur Verfügung, auch innerhalb eines Wysiwyg-Feldes (das Wysiwyg-Modul ist dazu erforderlich). 

Links: Zur Webseite

Media Browser Plus

Dieses Modul erweitert Media um einige grafische Erweiterungen, zum Beispiel um Datei-Ordner, die mit Drag&Drop verwaltet werden können. War der Einsatz dieses Moduls anfänglich sehr mühsam und fehleranfällig, zeigt es sich heute (Dezember 2013) von seiner besten Seite. Das Benutzer-Interface ist verständlich und attraktiv gehalten, die Möglichkeit der Mehrfachauswahl von Dateien zum Verschieben oder Löschen ist ebenfalls gegeben. Dieses Modul erweitert die Drupal-eigene Dateiverwaltung um ein paar ganz nette Features. Zusätzlich benötigt das Modul für die Darstellung der Ordner in Baum-Ansicht das Modul «Views Tree».

Links: Media Browser Plus, Views Tree

Menüs

Menu Position

Für bestimmte Nodes (z.B. Veranstaltungen) braucht es keine eigene Menüposition, doch es ist hiflreich, wenn die entsprechende übergeordnete Menüposition hervorgehoben wird. Für dieses Feature eignet sich dieses vielseitige Modul bestens, denn es berücksichtigt Inhaltstypen, Taxonomien, Vokabulare, einfache Seiten und sogar Sprachen.

Links: Menu Position

Menu Block

Um Menüs nur an bestimmten Stufen einer Website einzublenden, beispielsweise hierarchisch tiefer gelegene Inhalte, als es die Haupt- und Sekundarmenüs anzuzeigen ermöglichen, kann man mit diesem Modul spezifische Blöcke z.B. für Submenüs  anlegen, was besonders für umfangreiche Sites nützlich sein kann. Dieses Modul erzeugt unter -> Struktur -> Blöcke den Position «Add Menu Block», mit der man einen neuen Block anlegt. Dabei kann man festlegen, welche Hierarchiestufen in diesem Menü angezeigt werden sollen.

Links: Menu Block

Feldformate/-typen

Viewfield

Manchmal ist es sinnvoll, den «einfachen» Autoren die Möglichkeit zu geben, Texte vor oder nach einer View bearbeiten lassen zu können. Dazu muss der Autor aber ein Feld bearbeiten können, ohne dass er in die komplexe View-Bearbeitung für Experten einsteigen muss. Ein View-Feld ermöglicht das Anlegen eines Auswahlfeldes für festgelegte Views, sodass der Entwickler z.B. einen Inhaltstyp «Objektliste» anlegen kann, in dem verschiedene Views angezeigt werden können. Somit werden Views auch zu «gewöhnlichen» Knoten verlagert, was mehr Flexibiltät verschafft.

Links: Viewfield

Date

Auch wenn «Date» als Modul für den Feldtyp schon in Drupal 8 integriert wird, lohnt es sich, dieses Modul hier besonders hervorzuheben. Datum und Zeit können sehr komplex sein und international auch formal abweichen. Es empfiehlt sich, gleich zu Beginn eines Drupal-Projekts die erforderlichen Formate (Lang- und Kurzformen etc.) in allen anzuwendenden Sprachen festzulegen, um damit für alle Ewigkeit arbeiten zu können.

Links: Date

Libraries & mehr

Drush

Drush ist kein Modul sondern eine Kommando-Zeilen-Schnittsstelle für Drupal. Hat man als Drupal-Worker immer wieder Probleme nach den Updates lösen müssen, kommt man unter bestimmten Umständen nicht um Drush herum. Eine zerschossene Site lässt sich u.U. nur mit Drush-Anweisungen wieder in Ordnung bringen. Und wenn man ein Drupal-Multi-Site-System betreibt, spart man mit einem Drush-Script jede Menge Zeit und Nerven. 

Links: Drush.org