6.4 Module

Module sind der Dreh- und Angelpunkt in Drupal. Module sind vergleichbar mit Legosteinen. Es gibt absolute Basisdinge wie den Vierer-, den Sechser- oder den Achter-Stein, dann gibt es die vielen anderen kleinen Bausteine und außerdem gibt es komplexere Dinge wie Figuren, Motoren, Platten etc.

Wir hatten bereits in Abschnitt 5.12.1 Bilder über die Behandlung von Bildern in Drupal gesprochen. Die dort skizzierten Lösungen erinnern an das Prinzip Lego. Es gibt auch hier unterschiedliche Module (Bausteine) in unterschiedlichen Größen und mit unterschiedlichen Funktionen, die aber alle miteinander kombiniert werden können.

Von "außen" gesehen, ist ein Modul eine Datei im Format [modulname].tar.gz, die in ein bestimmtes Drupal-Verzeichnis entpackt und danach aktiviert werden muss.

6.4.1 Kernmodule (core modules)

Drupal bringt im Auslieferungszustand (Core oder Kern) bereits zahlreiche Module mit. Eine Übersicht mit Erläuterungen über die Funktionen finden Sie unter Verwalten – Strukturierung – Module. Die Kernmodule teilen sich in Module, die zum Betrieb von Drupal notwendig sind und die anderen, die optionalen Module.

Sie können jedes Modul durch einfaches Ankreuzen der Checkbox aktivieren. Unter dem Link Verwalten – nach Modul finden Sie die Einstellmöglichkeiten nach Modulnamen sortiert. Oft verfügt Drupal nach Aktivierung eines Moduls über neue Menüeinträge, neue Blöcke, neue Berechtigungen, neue Einstellmöglichkeiten und neue Inhaltstypen wie beispielsweise bei dem schon angesprochenen Book- und Blog-Modul.

6.4.2 Neue Module installieren (contributed modules)

Module, die nicht zum Kern von Drupal gehören, heißen contributed modules (beigesteuerte Module). Wir wollen jetzt zwei dieser Module installieren. Zum einen das Modul Poormanscron, zum anderen das Administrationsmenü, das ich gern benutze.

Poormanscron: Regelmäßige Aufgaben ohne echten Cron

Ihnen ist bestimmt schon diese Meldung aufgefallen. Sie erscheint in Verwalten – Berichte – Statusbericht (Abbildung 6.17).

Cron-Hinweis
Abbildung 6.17: Cron-Hinweis

Unter einem Cron (Job) versteht man ein Programm, das regelmäßig aufgerufen wird. Solche Cron Jobs werden oft verwendet, um Aufräumarbeiten in einem System zu organisieren (Suchindex, Statistik etc.)2. Viele Module in Drupal verlassen sich auf diese regelmäßigen Aufrufe. Beispielsweise muss das Aggregator-Modul regelmäßig nachschauen, ob es etwas Neues an Newsfeed-Einträgen gibt. Das search-Modul muss seinen Suchindex aktualisieren, damit die Besucher der Seite neue Inhalte finden.

Als Administrator starten Sie Cron durch den regelmäßigen Aufruf der Datei

http://localhost/drupal62/cron.php

oder einen Klick auf den Link per Hand ausgeführt in der Fehlermeldung. Abhängig von der Aktivität verschiedener Module werden dann verschiedene Wartungsaufgaben ausgeführt. Da Sie ja nicht immer auf den Link klicken können, gibt es in jedem Betriebssystem eine Möglichkeit, regelmäßig Dateien aufzurufen.

In Unix Umgebungen existiert eine so genannte Cron-Tabelle (crontab). Falls Sie Zugriff auf diese Tabelle haben (bei Webhostern eher unwahrscheinlich), tragen Sie dort die folgende Zeile ein:

0 * * * * wget -O - -q http://www.example.com/cron.php

Sie finden die Datei crontab im Verzeichnis /etc.

Für alle, die keine Möglichkeit haben, dieses Feature zu nutzen oder einfach eine Lösung suchen, die innerhalb von Drupal funktioniert, zeige ich jetzt eine sehr gute Alternative mit dem Modul Poormanscron.

Schritt 1 – Drupal-Installation auf neue Module vorbereiten

Die contributed modules werden in der Ordnerstruktur von Drupal im Ordner sites verwaltet. Jede Drupal-Website, die Sie mit Ihrer Drupal-Installation verwalten, hat einen eigenen Ordner innerhalb von sites.3

Momentan haben Sie nur eine Website mit dem Namen default. Um die neuen Module allen sites inklusive der default-Website zur Verfügung zu stellen, legen Sie einen Ordner all und darin einen Ordner modules an (Abbildung 6.18):

Modulordner
Abbildung 6.18: Modulordner

Schritt 2 – Downloaden und entpacken des Dateipaketes

Laden Sie die Datei poormanscron-6.x-1.0.tar.gz von der Projektseite4 oder der Buch-CD und entpacken Sie sie in den gerade angelegten Ordner [drupal]/sites/all/modules, so dass unter modules der neue Ordner poormanscron liegt und darin die Dateien des Moduls (Abbildung 6.19):

Neues Modul poormanscron
Abbildung 6.19: Neues Modul poormanscron

Schritt 3 – Aktivieren und Konfigurieren

Jetzt müssen Sie das neue Modul unter Verwalten – Strukturierung – Module aktivieren. Sie können das Modul unter Verwalten – Einstellungen – Poormanscron konfigurieren. Die vorgegebenen Einstellungen sorgen dafür, dasss alle 60 Minuten ein Cron-Lauf stattfindet und eine Meldung an das Berichtssystem von Drupal geschickt wird. Unter Verwalten – Berichte – Neue Logeinträge können Sie die Meldungen einsehen. Der Benutzer, der neben der Meldung steht, hat den Cron-Lauf mit seinem Aufruf der Website gestartet (Abbildung 6.20):

Protokolleinträge des Moduls poormanscron
Abbildung 6.20: Protokolleinträge des Moduls poormanscron

Administration Menu: Drupal mit weniger Klicks verwalten

Als ich Drupal das erste Mal benutzte, war ich fasziniert von den vielen Einstellmöglichkeiten, oft ist es mir aber auch passiert, dass ich müde wurde vom vielen Klicken.

Das Modul „Administration Menu“ blendet eine aufklappbare Menüleiste in die Website ein, über die Sie sehr schnell im Verwaltungsbereich navigieren können. In Kombination mit einem speziellen Verwaltungstheme (siehe Abschnitt 7.12 Verwaltungs-Theme) wird Drupal dadurch sehr übersichtlich. Der Weg ist der gleiche wie bei jedem anderen Modul:

  • Download5 und Entpacken des Modulpakets (admin_menu-6.x-1.x-dev.tar.gz)

  • Kopieren des ausgepackten Paketes (admin_menu) in die Ordnerstruktur von Drupal (sites/all/modules)

  • Aktivieren des Moduls über Verwalten – Strukturierung – Module

  • Konfiguration ist modulabhängig, meist unter Verwalten - Einstellungen

Wenn alles funktioniert hat, haben Sie jetzt ein Menü am oberen Rand Ihrer Website, mit dem Sie alle Links im Verwalten-Menü komfortabel erreichen können (Abbildung 6.21):

Administrationsmenü
Abbildung 6.21: Administrationsmenü

6.4.3 Module deinstallieren

Manchmal wollen Sie natürlich auch ein Modul wieder deinstallieren. Es kann sein, dass das Modul zusätzliche Tabellen in Ihrer Datenbank angelegt hat und eine eigene Deinstallationsroutine mitbringt:

  • Klicken Sie auf Verwalten – Strukturierung – Module – Deinstallieren (Abbildung 6.22).

Deinstallation eines Moduls
Abbildung 6.22: Deinstallation eines Moduls

Hier sehen Sie alle Module, die sich automatisch deinstallieren lassen. In diesem Fall das Modul Sitenotes.

Andere Module wie Poormanscron oder Administration Menu lassen sich hier nicht deinstallieren. Diese Module müssen Sie zunächst deaktivieren und dann anschließend das entsprechende Verzeichnis im Ordner /sites/all/module löschen.


Ihre Bewertung: Nichts

Poormanscron unter XAMPP

Ich habe XAMPP für Windows Version 1.6.7 und Drupal 6.4 installiert - leider funktioniert dann Poormanscron nicht. Es kommt immer wieder eine Fehlermeldung, dass die Zeit überschritten wurde.

Kann mir jemand helfen? Danke

Wie ist die Fehlermeldung?

Was ist der genaue Text der Fehlermeldung?

Hast Du es mal mit unserem Playground Paket probiert Smiling ?

Poormanscron unter XAMPP

Die Fehlermeldung lautet:

Fatal error: Maximum execution time of 60 seconds exceeded in D:\xampp\htdocs\drupal_64\includes\common.inc on line 511

Der Fehler ist unter Windows XP als normaler Benutzer aufgetreten. Liegt es vielleicht an den Rechten?

Ich versuche es jetzt auch mal mit dem cocoate-Paket.

Playground Paket

Vielen Dank für den Hinweis!

Da funktioniert es - warum auch immer ...

Sowohl bei http://localhost/drupal6-with-modules als auch bei der Installation unter http://localhost/drupal6-naked läuft das Modul.

Lösung für Fehler unter XAMPP

Bei XAMPP-Installation die Datei php.ini ändern:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 500 ; Maximum execution time of each script, in seconds - vorher 60
max_input_time = 500 ; Maximum amount of time each script may spend parsing request data - vorher 60
memory_limit = 64M ; Maximum amount of memory a script may consume (16MB) - vorher 32M

Poormanscron und große Uploads sind möglich!

Danke für das gute Buch und die Anregungen - so konnte ich die Lösung finden.

Achtung Fehlerteufel

Kopieren des ausgepackten Paketes (admin_menu) in die Ordnerstruktur von Drupal (sites/modules/all)
sollte wohl
Kopieren des ausgepackten Paketes (admin_menu) in die Ordnerstruktur von Drupal (sites/all/modules)
heißen

=)

habs geändert

Danke für den Tipp