Forms v2

Diese Erweiterung ermöglicht die Formatierung einer Wikiseite oder eines Benutzerdialogs als Formular. Es wird auch im Zusammenhang mit der Erweiterung Workflows eingesetzt. Dort stellt es Eingabeformulare für Workflow-Daten zur Verfügung.

Einführung

Um mit der Erweiterung "Forms" beispielsweise eine Checkliste als Formular zu erstellen, sind folgende Schritte notwendig:

  1. Checklisten-Formular über die Spezialseite Spezial:Form_editor erstellen und speichern. Das Formular dient als Vorlage für alle Checklisten, die damit erstellt werden.
  2. Checklisten-Instanzen über die Spezialseite Spezial:Create_form_instance erstellen und speichern.

Optional kann das Styling des Formulars angepasst werden.

Als Beispiel erstellen wir hier eine kleine Checkliste für die Durchführung einer Veranstaltung, auf der Lebensmittel ausgegeben werden.

Beispiel Veranstaltungs-Checkliste
Beispiel Veranstaltungs-Checkliste

Checklisten-Formular erstellen

  1. Definieren Sie die Haupteigenschaften des Formulars:
    1. Öffnen Sie die Seite Spezial:Form editor.
    2. Geben Sie einen Namen für das neue Formular ein, z.B. EventChecklisteHygiene.
      Formfeld und Schaltfläche zum Erstellen eines Formulars
      Formular anlegen (ab v. 4.5.2)
      Dieser Name wird für die Datenbank als eindeutige Identifikation benutzt. Benutzen Sie daher keine Sonderzeichen (außer Bindestrich "-").
    3. Klappen Sie die Formelemente aus:
      Formulareigenschaften
      Formulareigenschaften
    4. Fügen Sie einen Formularabschnitt hinzu:
    5. Wählen Sie unter Formularelemente > Anderes das Element Abschnittsüberschrift aus und ziehen Sie es mit gedrückter linker Maustaste in das darunter liegende interaktive Formulareditor-Feld.
    6. Klicken Sie auf die Optionsschaltfläche für die Abschnittsüberschrift. Der Bearbeitungsdialog wird geöffnet.
    7. Geben Sie einen Feldnamen ein. Dieser wird als Feld-ID in der Datenbank gespeichert und sollte daher keine Sonderzeichen beinhalten.
    8. Geben Sie den Titel für die Überschrift ein. Dieser wird im Formular als Anzeigetitel verwendet.
      Forms - checkliste textfeld veranstaltung.png
  2. Erstellen Sie die Formularfelder für den Abschnitt Veranstaltung. Hier fügen wir als Beispiel ein Textfeld hinzu.
    1. Ziehen Sie mit gedrückter linker Maustaste das Element Text unter die Abschnittsüberschrift.
    2. Klicken Sie auf die Optionsschaltfläche für das Textfeld.
    3. Geben Sie einen Namen ein. Dieser wird als Datenbank-ID für dieses Feld benutzt und sollte daher keine Sonderzeichen beinhalten.
    4. Geben Sie ein Label ein. Dieses wird als Bezeichnung für das Textfeld angezeigt.
    5. Fügen Sie weitere Eingabefelder hinzu, z.B. ein Datumsfeld für den Tag der Veranstaltung.
      Dialog für das Textfeld "Name der Veranstaltung"
      Formularfeld hinzufügen

  3. Definieren Sie nun, welche Formularfelder verwendet werden sollen, um den Seitennamen der mit diesem Formular erstellten Formular-Instanzen zu generieren. Als Beispiel definieren wir den Seitennamen für die Checklisten als Unterseiten zum Formularnamen mit den Werten aus den Feldern des Namens und des Datums der Veranstaltung (beide Felder müssen im Formular existieren): EventChecklisteHygiene/{{ech-veranstaltungsname}}-{{ech-datum}}
    1. Markieren Sie Veranstaltungsname und Datum als erforderlich, damit diese Werte immer existieren.
      erforderliches Formularfeld
      erforderliches Formularfeld
    2. Wechseln Sie in den Formulareigenschaften zur Ansicht Ziel.
    3. Wählen Sie als Zieltyp "Json in einer Wikiseite".
    4. Geben Sie den gewünschten Titel ein: EventChecklisteHygiene/{{ech-datum}}-{{ech-veranstaltungsname}}
      Dialogfeld für Formulareigenschaften
      Seitenname der Formularinstanzen definieren
  4. Klicken Sie anschließend auf Speichern. Das Formular ist nun im Hauptnamensraum als EventChecklisteHygiene.form gespeichert.
    Gespeichertes Formular
    Gespeichertes Formular
    Um das Formular anschließend weiter zu bearbeiten, wechseln Sie in den Bearbeitungsmodus der Seite (1).

Checklisten-Instanz erstellen

Um nun das Formular zu benutzen, erstellen Sie Ihre erste Checkliste.

  1. Laden Sie das Formular über die Seite Spezial:Formularinstanz erstellen/EventChecklisteHygiene
  2. Füllen Sie die Formularfelder aus.
  3. Klicken Sie Abschicken.
    Geladenes Formular "Event Checkliste"
    Checkliste erstellen

Die Checkliste ist nun im Wiki gespeichert und kann weiter bearbeitet werden.

Checkliste zur Releaseparty
Gespeicherte Checkliste

Email senden

Als Ziel des Formulars kann anstelle der Ausgabe als Wikiseite auch "Email" ausgewählt werden. Das Formular wird dann als Email versendet und nicht im Wiki selbst angezeigt.

Zieltyp "Email"
  • Zieltyp: Email
  • Empfänger: Mögliche Empfänger müssen aus Sicherheitsgründen auf dem Server konfiguriert worden sein. Beispiel:
 $wgFormsTargetEMailRecipients = [

'Marketing' => "marketing@example.com",

'Administration' => 'WikiSysop'

];
  • Betreff: Hier können existierende Formularfelder als Variablen eingesetzt werden. Der Wert wird aus dem Formular übernommen.
  • Inhalt: Wie im Betreff könnne auch hier existierende Formularfelder als Variablen benutzt werden. Der Wert wird aus dem Formular übernommen.

Als Betreff oder Email können auch Lokalisations-Systemnachrichten in Kombination mit Formfeldern verwendet werden:

{{int:Mailsubject| {{{name}}}|{{{surname}}} }}

Styling des Formulars anpassen

Common.css

Um einzelne Elemente im Formular zu stylen, gibt es den Reiter styling in den Optionen. Dort kann ein Klassenname eingegeben werden. Das Styling wird dann auf der Seite MediaWiki:Common.css definiert (admin-Rechte sind nötig).

So stylen Sie die Abschnittsüberschrift:

  1. Öffnen Sie den Reiter styling im Optionsmenü der Überschrift Veranstaltung.
  2. Fügen Sie eine neue CSS-Klasse hinzu und geben Sie einen Selectornamen (Feld CSS Classes) ein, z.B. frm-sectionhd.
    CSS-Klasse hinzufügen
    CSS-Klasse hinzufügen
  3. Fügen Sie die Style-Deklarationen auf der Seite MediaWiki:Common.css ein, z.B.:
    border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;
    
    Abschnittsüberschrift mit angepasstem Styling.
    Abschnittsüberschrift mit angepasstem Styling.

Wenn Sie keine Berechtigung für diese Seite haben, können Sie die Stilinformation direkt für jedes Element im Formular eingeben.

Inline-Styling

Ohne Zugriff auf MediaWiki:Common.css kann die Stilinformation direkt im Formular eingegeben werden. Bei vielen wiederkehrenden Stil-Deklarationen ist dies jedoch nicht effizient im Gegensatz zur Definition von CSS-Klassen in MediaWiki:Common.css.

Als Beispiel wenden wir nun das vorige Beispiel der Abschnittsüberschrift direkt als Inline-Styling an. Öffnen Sie hierzu wieder das Optionsmenü des Formelements ech-veranstaltung. Geben Sie dort im Feld Styling folgende Anweisung ein und speichern Sie die Änderung:

border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;
Inline-Styling eines Formelements
Inline-Styling eines Formelements




Feedback zur Dokumentation ist im Community-Forum möglich.