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).
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):
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):

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):

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):

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).

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.
-
3 Mehr zum Thema Multisites findes Sie in Abschnitt 9.9 Multisite: Viele Sites mit einem Drupal
- Neuen Kommentar schreiben
- 13049 mal gelesen








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
?
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
Poormanscron - neue Version
Es gibt in der neuen, für Drupal 7 kompatiblen Version (wenn von 6 auf 7 aktualisiert wird) keine manuelle Konfiguration mehr.
Unter Verwalten - Einstellungen - Website-Informationen kann man die Intervalle eingeben, mehr aber nicht.
Die Arbeit erledigt die neue Version selbst, in Drupal 7 soll der Cron Job wohl standardmäßig laufen.
Infos unter dem von Ihnen angegebenen Link:
http://drupal.org/project/poormanscron
Damit verändert/vereinfacht sich auch dieses Kapitel :)
Modulprogrammierung Tutorial
Hallo Hagen,
sehr gutes Videotutorial. habs intensiv durchgearbeitet und schon oft als Nachschlagewerk genutzt. Sehr gelungen.
Um jetzt flexibler zu programmieren, suche ich Hilfe in der Modulprogrammierung, die leider bei Drupal extrem komplex erscheint. Vorhandene Module sind unübersichtlich und es findet sich nirgends eine verständliche (deutschsprachige) Dokumentation. Programmierkenntnisse sind vorhanden, jedoch die Zusammenhänge und der Syntax der Drupal-Modul-Programmierung soll erlernt werden.
Erschwerend dazu, gibt es keine umfangreiche deutschsprachige Community um zeitnah qualitative Antworten zu erhalten.
Gibt es irgendwo empfehlenswerte, idealer Weise deutschsprachige Literatur oder Video-Tutorials, bzw. Schulungsangebote?
Danke für eine Nachricht!
Stephan
Für den Anfang ist das hier gut
http://drupal.cocoate.com/de/bestellung/drupal6-das-entwickler-buch