Webformulare

Mit Formularen kannst du genau die Informationen erheben, die du brauchst. Die gesammelten Daten können leicht angezeigt und ausgewertet werden. So erstellst und benutzt du ein Webformular.

Formular und Stift

Einführung
Den Node erstellen
Formularkomponenten erfassen/Feldeigenschaften einstellen

  • Textfelder klonen: Akademischer Titel, Vorname, Name, Geburtsname, Straße, Stadt, Land
  • Typ Zahl: Postleitzahl
  • Typ E-Mail
  • Liste von Optionen: Anrede
  • Mehrfachauswahl-/Einfachauswahlfelder: Migrationshintergrund
  • Datumstyp: Geburtsdatum
  • Rastertyp: Fähigkeiten
  • Feldtyp: Datei
  • Textarea-Typ: Kommentar

Benachrichtigung über Datenübermittlung

Bestätigungs-E-Mail versenden

Abschließende Formulareinstellungen vornehmen

Das Formular testen

Formularergebnisse anschauen und exportieren

Formulare formatieren

Einführung

Wenn du ein Stellenangebot hast oder ein Stipendium vergibst, sowie zu vielen anderen Anlässen möchtest du vielleicht ein Formular benutzen, um ganz bestimmte Daten einzuholen. Natürlich kannst du Formulare in Word oder Adobe bauen, aber die Nutzerinnen und Nutzer verfügen vielleicht nicht über die notwendige Software, diese Formulare auszufüllen oder müssen sie ärgerlicherweise erst herunterladen, ausfüllen und dann wieder hochladen. Überdies musst du die Ergebnisse vielleicht per Hand erst in Tabellen oder Datenbanken übertragen, was sehr zeitaufwendig sein kann. Webformulare hingegen, liefern die Ergebnisse per E-Mail. Zusätzlich werden sie automatisch in einer Online-Datenbank gespeichert und du kannst sie dir anschauen, indem du durch Datenblätter scrollst oder sie dir als Tabelle anzeigen lässt. Wenn du Tabellenkalkulationsprogramme (wie Excel) oder eine Datenbankensoftware oder Statistikprogramme für die Analyse der Daten bevorzugst, kannst du sie auch exportieren. Übrigens: Formulare können in Drupal auch übersetzt, also leicht in mehreren Sprachen erstellt werden.

Dennoch sind unsere Webformulare kein Ersatz für gute Umfragetools wie das OpenSource-Programm Limesurvey, das noch mehr Möglichkeiten für die Entwicklung und Veröffentlichung von Online- und Offline-Umfragen und ihre Analyse bietet. Übrigens haben wir auch gar nicht die Ressourcen, dich zu unterstützen, wenn du eine sehr ausgefeilte Umfrage im CMS erstellen willst.

Lass uns jetzt anschauen, wie ein einfaches Stellenausschreibungsformular gebaut wird. Achtung! Wir können die Funktionsweise von Formularen hier nur exemplarisch beschreiben. Du musst diese Informationen selbst auf deine eigenen Anwendungen übertragen und auch Sachen ausprobieren oder dich an die Drupal help Community wenden, wenn du ein tieferes Verständnis gewinnen willst.

Den Node erstellen

Lass uns damit beginnen, den Node für das Webformular zu erstellen. Klicke dazu auf Inhalt - Inhalt hinzufügenWebform:

Ich vergebe einen Title und tippe die Informationen über die zu vergebende Stelle im Body ein. Diese Informationen werden als Einleitung zum Formular angezeigt werden. Wenn ich fertig bin, speichere ich:

Beachte: Für mein Webformular habe ich das Kommentarfeld geschlossen, das standardmäßig offen ist. Formulare werden sofort nach dem Speichern veröffentlicht. Da niemand die URL kennt, solange du das Formular nicht auf einer Landingpage einbaust, ist das aber unkritisch und niemand wird es benutzen können, so lange er/sie die URL nicht kennt.

Formularkomponenten erfassen/Feldeigenschaften einstellen

Ich fahre fort und erfasse die gewünschten Komponenten. Das sind die Feldnamen meines Formulars. Dazu klicke ich zunächst in der blauen Linkzeile oben auf Webform und befinde mich in der Komponentenübersicht:

Ich beginne mit Vorname, einem einfachen Textfeld:

Da der Vorname in Bewerbungen unbedingt benötigt wird, wähle ich Erforderlich und klicke auf Hinzufügen.

Jetzt stelle ich die Feldeigenschaften ein in Komponente bearbeiten.

Die Felder in Komponente bearbeiten sind im CMS ausführlich beschrieben, das soll hier nicht wiederholt werden. Hier nur einige Bemerkungen:

Der Feldschlüssel sollte nicht verändert werden. Feldschlüssel müssen eineindeutig sein (es kann nicht zwei Felder mit identischem Schlüssel geben).

Token Werte-Bereich: Da ich keine Tokens durch Datenbankwerte überschreiben möchte, nehme ich hier keine Anpassungen vor. Dieser Bereich sollte in den allermeisten Fällen nur von sehr erfahrenen Nutzerinnen und Nutzern, die über entsprechendes Hintergrundwissen zur Datenbank verfügen, bearbeitet werden.

Überprüfungsbereich: 

  • Erforderlich: Wenn ich dieses Feld in der Komponentenübersicht noch nicht angekreuzt habe, tue ich es hier, da der Vorname in Bewerbungen erforderlich ist und Nutzerinnen und Nutzer dieses Feld nicht leer lassen dürfen.
  • Eindeutig: Da Bewerberinnen und Bewerber den selben Vornamen haben können, bleibt dieses Feld unangekreuzt. Kreuze dieses Feld nur an, wenn Eingaben sich nicht wiederholen dürfen.

Auch im Anzeige-Bereich belasse ich alle Einstellungen so, wie sie sind. Die gesetzten Werte sind für diesen Feldtyp erprobt. Ich fahre fort, indem ich die Komponente  speichere und gelange zurück in die Komponentenübersicht.

Textfelder klonen: Akademischer Titel, Nachname, Geburtsname, Straße, Stadt, Land

Es soll im Formular weitere Textfelder geben, die dem Vornamensfeld sehr ähnlich und deren Eigenschaften nahezu gleich sind. Deshalb klone ich einfach das Feld Vorname, indem ich rechts auf Duplizieren klicke:

Im Formular Komponente bearbeiten kann ich jetzt einfach Vorname durch Nachname ersetzen und einen anderen Feldschlüssel eintragen, da Feldschlüssel eineindeutig sein müssen. Dann speichere ich.

Danach wiederhole ich das Duplizieren für alle anderen einfachen Textfelder, also Geburtstsname, Akademischer Titel, Straße, Stadt und Land.

Typ Zahl: Postleitzahl

In einigen Feldern kann die Zahl der Tippfehler oder Falscheinträge durch Nutzerinnen und Nutzer reduziert oder sogar verhindert werden, indem kluge Einstellungen für Feldtyp und Eigenschaften vorgenommen werden. Ich möchte das am Beispiel der Postleitzahl erklären. Hier sollen nur Zahlen eingegeben werden können. Deshalb klone ich das Feld nicht, sondern erstelle ein neues vom Typ Zahl.

Beachte: Eigentlich dient der Feldtyp "Zahl" dazu, mit den Eingaben rechnen zu können (z. B. um Preise zu berechnen). Natürlich rechnet niemand mit Postleitzahlen, zur Erläuterung soll PLZ hier dennoch als Beispiel benutzt werden:

In Komponente-bearbeiten-Formular wähle ich  Ganzzahl, da Postleitzahlen in Deutschland ausschließlich ganzzahlig sind. Im Ergebnis werden Nutzerinnen und Nutzer eine Fehlermeldung erhalten, wenn sie etwas anderes als ganze Zahlen in dieses Feld eintragen. Außerdem habe ich als Minimum-Wert 0 eingetragen (damit keine negativen Zahlen eingetragen werden können). Hier sind meine Einstellungen:

E-Mailadresse

E-Mail ist eine der Komponenten, für die Falscheingaben ebenfalls reduziert werden können, da sie einem vorgegebenen Muster folgen. Ich wähle deshalb E-mail als Komponententyp (statt eines Textfeldes). Wenn ich E-Mail für die Kommunikation nutzen will, mache ich es zum Pflichtfled. Ich kann fast alle Komponenteneinstellungen so lassen, wie sie sind und kreuze lediglich Eindeutig im Bereich Überprüfungsbereich an. Dann speichere ich.

Liste von Optionen: Anrede

Manchmal kann ich eine höhere Validität (Gültigkeit) und auch mehr Benutzerfreundlichkeit dadurch erzielen, dass ich voreingestellte Optionen in einer Auswahlliste oder als Auswahlfeld bereitstelle. In unserem Beispiel soll das für das Feld Anrede gemacht werden. Es soll zwischen Frau oder Herr ausgewählt werden können. In Optionen  muss ich diese beiden Varianten eintragen. Pro Zeile kann ich einen Wert eingeben, also tippe ich:

Frau in Zeile 1
Herr in Zeile 2

Die 01| and 02| am Anfang der Zeile, also vor den Optionswerten, sind Schlüssel. Mit diesen selbst gewählten Schlüsseln teile ich der Datenbank mit, wo die Werte gespeichert werden sollen. Die Schlüssel müssen in der Form: "schlüssel|" (senkrechter Strich) eingegeben werden. Statt 01/Frau hätte ich beispielsweise aber auch a|Frau eingeben können.

Weiter unten im Formular sage ich dem System, dass meine Optionen in einer Auswahlliste angezeigt werden sollen. Und so sehen die Eigenschaften nun aus:

Felder für eine Mehrfach- oder Einfachauswahl: Migrationshintergrund

Im Formular soll erhoben werden, ob Bewerberinnen und Bewerber einen Migrationshintergrund haben. "Migrationshintergrund" ist nicht wirklich eine klare Formulierung, deshalb habe ich mich entschlossen, das Feld in Beschreibung zu erläutern. Dadurch verstehen Nutzerinnen und Nutzer hoffentlich besser, was gemeint ist.:

Außerdem will ich diese Information in Auswahlfeldern erheben. Ich habe also eine neue Komponente Migrationshintergrund vom Typ Select options hinzugefügt. In den Optionen habe ich Mehrfach nicht angehakt, da die Frage nur mit entweder ja oder nein beantwortbar und somit nur ein Klick möglich sein soll. Diese Auswahl soll durch Radio Buttons (Einfachauswahlfelder) angezeigt werden. Nun muss ich wiederum die möglichen Optionen mit dem Schlüssel, gefolgt von "|" angeben. So sehen meine Einstellungen aus:

Datumstyp: Geburtsdatum

Um das Geburtsdatum zu erfassen, wähle ich Datum als Typ. Der Datumstyp hat gegenüber dem Texttyp für die Eingabe von Nutzerdaten viele Vorteile: Zum Einen, können Nutzerinnen und Nutzer das Datum aus einer Liste auswählen. Dadurch sind einheitliche Eingaben, z. B. in der Form tt.mm.jjjj gewährleistet. Überdies kann das System mit Datumsangaben sogar rechnen, z. B. das Alter aufgrund des Geburtsdatums berechnen und das funktioniert so:

Ich möchte, dass sich nur Leute zwischen 18 und 67 (Rentenalter in Deutschland) auf die Ausschreibung bewerben können, deshalb schränke ich die Bandbreite der angezeigten Jahreszahlen über Startdatum und Enddatum wie folgt ein:

Startdatum: -67 Jahre bedeutet: Das erste Jahr, das im Kalender angezeigt wird ist das Jahr 2015 minus 67 Jahre, also 1948.

Enddatum: -18 Jahre bedeutet: Der Kalender endet bei 2015 minus 18 Jahre, also 1997, da sich erst Menschen ab 18 bewerben können.

 

Rastertyp: Fähigkeiten

Nun würde ich Bewerberinnen und Bewerber gern bitten, ihre Fähigkeiten selbst einzuschätzen und mache dazu ein paar Vorgaben in einem Raster. Ich erstelle also die neue Komponente Fähigkeiten als Typ Raster. Das sind meine Einstellungen:

In Optionen habe ich die Werte für die Spaltenüberschriften definiert. Ich habe auch wieder Schlüssel am Anfang jeder Zeile vergeben (d|, e|, f|). Außerdem habe ich ein paar Leerzeichen (&nbsc;) um die einzelnen Optionen gesetzt, um sie ein wenig auseinander zu rücken. Beachte, dass du HTML-Kenntnisse benötigst, um stattdessen eine schicke Tabelle zu formatieren.

Im Fragen-Feld habe ich die Zeilenüberschriften meines Rasters und ebenfalls Schlüssel eingetragen:

Feldtyp: Datei

Schließlich sollen Bewerberinnen und Bewerber ihre Dokumente hochladen können. Dazu wähle ich den Komponententyp Datei. In Komponente bearbeiten kann ich die max. Dateigröße und den Dateityp (zugelassene Endungen) für hochzuladende Dateien festlegen. Im Beispiel habe ich nur Textdateien zugelassen:

Text area type: Comment

Schlussendlich möchte, dass Bewerberinnen und Bewerber einen Kommentar abgeben können und füge deshalb ein Feld vom Typ Text area hinzu. Es ist kein Pflichtfeld, sollte aber mehrere Zeilen für Text haben. Ich belasse alle Voreinstellungen wie sie sind und speichere.

Nun habe ich alle Komponenten meines Formulars noch in die Reihenfolge gebracht (hin- und her geschoben), in der sie im Formular erscheinen sollen und meine Komponentenübersicht sieht so aus:

Benachrichtigung über Datenübermittlung

Wenn jemand ein Formular abgeschickt hat, möchte ich per E-Mail über informiert werden und die Daten zugeschickt bekommen. Deshalb klicke ich in der Komponentenübersicht oben rechts auf den Tab E-Mails und gebe dort meine Mailadresse im Feld E-MAIL-An ein. Danach klicke ich auf Hinzufügen, um meine Einstellung zu speichern.

Bestätigungs-E-Mail versenden

Wenn ich möchte, dass FormularnutzerInnen eine Bestätigung über das Absenden ihrer Daten per E-Mail erhalten (z. B. wenn das Formular für die Anmeldung zu einer Veranstaltung genutzt wird und eine Anmeldebestätigung versandt werden soll), muss ich die E-Mailadresse festlegen, an die die Bestätigung gehen soll. Das tue ich ebenfalls über den E-mails-Tab, indem ich dort E-Mail als component value aus der Liste der Datenfelder auswähle. Wenn ich dann auf Hinzufügen klicke, um meine Eingabe zu speichern, öffnet sich ein weiteres Formular, in dem ich den Betreff, die Absende-E-Mail-Adresse und den Absende-Namen eintragen kann:

Bild entfernt.

Im Bereich E-Mail-Vorlage kann ich entweder die Standardvorlage auswählen (nicht empfohlen) oder meine eigene Vorlage für den E-Mailtext, den UserInnen erhalten sollen, konfigurieren. Im Fall der Bestätigung einer Veranstaltungsanmeldung könnte der Text lauten: "Wir haben Ihre Anmeldung erhalten und bestätigen sie." Die "submitted values" sollten drin bleiben, weil sie darüber informieren, welche Daten übermittelt wurden:

 

Abschließende Einstellungen

Dann nehme ich noch einige weitere Formulareinstellungen vor und klicke dazu auf den Tab Formulareinstellungen. Hier kann ich eine Bestätigungsnachricht schreiben, die die Formularabsenderin oder der Formularabsender bekommt, wenn sie ihre Daten übermittelt haben:

 

Stattdessen (und das könnte vielleicht für andere Formularanwendungen interessant sein) hätt ich auch eine Landingpage bauen können, die sich nach der Formularübermittlung im Browser öffnet.  Deren URL hätte ich dann unter Weiterleitungsziel eingetragen.

Außerdem möchte ich, dass Bewerberinnen und Bewerber das Webformular nur einmal einmal ausfüllen und abschicken dürfen. Deshalb setze ich das Per user submission limit auf "1 immer".

Im Bereich Einsendungen ansehen wird festgelegt, wer Formulare übermitteln darf und hier klicke ich auf jeden Fall noch "reader" an, da auch nicht eingeloggte Personen diese Berechtigung haben sollen:

Das Formular testen

Bevor du auf dein Formular verlinkst und es so endgültig für die Benutzung freigibst, ist es sehr wichtig, es umfassend zu testen. Bitte plane dafür ausreichend Zeit ein und spiele wirklich alle möglichen Eingaben durch. Prüfe, ob sie funktionieren und die gewünschten Ergebnisse liefern. Zu Testzwecken wirst du eine Einstellung auch nochmal ändern müssen, nämlich die, wie oft ein Formular abgeschickt werden darf. Beim Testen wirst du es wahrscheinlich häufiger abschicken müssen als nur einmal. Außerdem kann es auch notwendig sein, bestimmte Felder, die Du als eindeutig festgelegt hast, noch einmal zu verändern (z. B. die E-Mailadresse, wenn du mit dir selbst testest), so dass sie mehrfach mit dem selben Wert ausgefüllt und übermittelt werden können.

Formularergebnisse anschauen und exportieren

Gratulation! Dein Formular scheint zu funktionieren und du kannst es publizieren. Wenn Bewerberinnen und Bewerber nun auf Abschicken klicken, bekommst Du eine E-Mail:

Um die Ergebnisse anzuschauen, klicke auf den entsprechenden Link in der Mail. Jetzt kannst du durch die Ergebnisblätter blättern, indem du oben rechts immer zur vorherigen oder nächsten Eingabe weiterschaltest.

Wenn du die Formularergebnisse als Tabelle sehen willst, klicke oben rechts auf den Tab Resultate, am besten aus der Komponentenübersicht heraus:

Alternativ kannst du dir auch das Formular selbst anzeigen lassen und dort in der blauen Linkzeile auf Resultate klicken.

Um deine Daten in ein Tabellenkalkulations- oder Datenbankprogramm zu exportieren, klicke auf Herunterladen und nimm die gewünschten Einstellungen für den Export vor. Mit diesen Einstellungen habe ich alle Ergebnisse als Excel-Datei exportiert:

Das Formular formatieren

Beachte, dass außer den im CMS vorgebenen Möglichkeiten für die Formatierung (dazu gehört z. B. auch die die Verteilbarkeit der Fragen auf mehrere Seiten) standardmäßig kaum weitere Formatierungsmöglichkeiten bestehen. Insbesondere ist es nicht so einfach möglich, mehrere Tabs für ein Formular zu gestalten oder Felder nebeneinander zu setzen, wie es hier zu sehen ist. Dazu bedarf es einer Sonderanfertigung.

Obwohl die Designmöglichkeiten also limitiert sind und obwohl es nicht ganz einfach ist, so ein Webformular zu bauen, sind unsere Webformulare dennoch ein tolles Werkzeug, um damit Daten einzuholen und jederzeit darauf Zugriff zu haben.

Probiere es aus. Viel Erfolg!