Das schöne an Drupal ist, dass es von Haus aus alles mitbringt, um eine Website aufzubauen und zu pflegen. Gleichzeitig aber so flexibel ist, das man es fast unbegrenzt erweitern und sogar mitglieferte Module häufig ersetzen kann. Damit lassen sich Schwachpunkte einzelner Funktionen oft problemlos beseitigen.
Ein solcher Schwachpunkt steckt in dem Contact-Modul, das zu den optionalen Core-Modulen gehört. Es dient dazu, Kontaktformulare bereitzustellen, sowohl für die gesamte Website, als auch für den einzelnen User. Das Problem: wenn man es aktiviert, steht es den Usern immer zur Verfügung. Zwar kann man defaultmäßig einstellen, dass das Formular beim Anlegen eines neuen Users deaktiviert ist. Man kann jedoch nicht verhindern, dass der User es eigenständig in seinem Profil aktiviert. Nun kann man die Benutzung des Formulars noch auf bestimmte Rollen beschränken und so beispielsweise Gäste von ihrer Benutzung ausschließen aber das löst das Problem nicht immer. Bei einem aktuellen Projekt hat es sich jedenfalls als hinderlich erwiesen. Der Grund: für die Kommunikation der Mitglieder der Website sollte nicht das Kontaktformular eingesetzt werden, sondern das Modul Privatemsg, das es erlaubt seiteninterne private Nachrichten zu verschicken und die Empfänger auch per E-Mail über neue Nachrichten informiert. Soweit so gut. Um nun aber zu verhindern, dass die User ihr persönliches Kontaktformular aktivieren und die Kommunikation plötzlich über verschiedene Kanäle läuft, blieb als einzige Möglicheit, das Abschalten des Contact-Moduls. Damit fehlte dann leider das globale Kontaktformular, dass auch Gästen zugänglich sein sollte.
Aber zum Glück gibt es Webform. Mit Webform kann man beliebige Formulare erstellen und mit unterschiedichen Eingabefeldern versehen. Text-, Datums- oder E-Mail-Felder sind genauso möglich, wie Radio-Buttons oder Felder mit mehreren Optionen zum Ankreuzen. Bei jedem Feld kann man angeben, ob eine Eingabe durch den Benutzer erforderlich oder optional ist und ob der Inhalt per E-Mail an den Empfänger des Formulares geschickt werden soll. Auf diese Weise läßt sich weitaus mehr gestalten, als ein einfaches Kontaktformular. Umfragen, Fragebögen und Wahlzettel sind ebenfalls machbar. Eine gute Auswertungsfunktion hilft beim Verarbeiten der Ergebnisse. Die Ergebnisse können einzeln betrachtet, feldweise zusammen gefasst oder in einer großen Tabelle ausgegeben werden. Eine Exportfunktion liefert sie im CSV- oder Excel-Format für die Weiterverarbeitung. Bei registrierten Benutzern (Rolle "authenticated") kann die Anzahl der Absendungen begrenzt werden. Stündliche, tägliche oder wöchentliche Grenzwerte sind ebenso möglich, wie eine Gesamtzahl für den gesamten Zeitraum, den das Formular zur Verfügung steht - so lassen sich beispielsweise Abstimmungen kontrollieren.
Natürlich lassen sich die Meldungen, die das Formular an den User zurückgibt oder den es in Benachrichtigungs-Mails verwendet, ebenfalls anpassen. Alles in allem eine runde Sache, mit der man sehr viele Formular-Aufgaben erledigen kann. Das oben beschriebene Problem mit der Community-Website, die Privatemsg nutzen, aber keine User-eigenen Kontaktformulare zulassen sollte, war damit ruck zuck gelöst. Jetzt versieht dort ein eigens mit Webform erstelltes Formular seinen Dienst und das Contact-Modul von Drupal ist deaktiviert.