BC006 Erweiterte Funktionen in ConfiForms

Inhalte in diesem Video

Workflows mit ConfiForms

In dieser Anleitung wollen wir zeigen, wie man mit Hilfe von ConfiForms einen Workflow generieren kann. Als konkretes Beispiel haben wir uns einen Bestellvorgang für Büromaterialien überlegt.

Der Bestellvorgang soll wie folgt ablaufen:

  1. Ein Mitarbeiter beantragt neues Büromaterial über ein Formular
  2. Die Teamleiter werden via E-Mail benachrichtigt, dass es einen neuen Antrag gibt
  3. Auf der Seite "Anträge" können die Teamleiter die Anträge genehmigen oder ablehnen
  4. Bei einem genehmigten Antrag bekommt das Sekretariat eine E-Mail
  5. Auf der Seite "Genehmigte Anträge" können Mitarbeiter des Sekretariats den Bestellstatus aktualisieren ("bestellt" und "geliefert").

Eine Besonderheit in dem Bestellformular ist, dass die Liste an Büromaterialien auf einer externen Seite liegt. Diese wird über die "Smart Dropdown" Funktion im Bestellformular eingebunden. Das erlaubt uns die Büromaterialliste in weiteren Formularen wiederzuverwenden und Änderungen an der Liste nur einmal durchführen zu müssen.

Insgesamt gibt es in diesem Workflow 5 Seiten mit unterschiedlichen Berechtigungen:

  1. Meine Workflow Definition
    • Formular Administrator hat Lese- und Schreibrechte
  2. Büromaterialliste
    • Formular Administrator hat Lese- und Schreibrechte
    • Eventuell Leserechte für zusätzliche Admins, die die Liste in ihren Formularen verwenden wollen. Schreibrechte, falls diese Administratoren die Liste auch pflegen können sollen
  3. Büromaterialanforderung 
    • Jeder Mitarbeiter hat Leserechte
    • Formular Administrator hat Lese- und Schreibrechte
  4. Anträge
    • Teamleiter haben Lesezugriff
    • Formular Administrator hat Lese- und Schreibrechte
  5. Genehmigte Anträge
    • Sekretariat hat Lesezugriff
    • Formular Administrator hat Lese- und Schreibrechte

Büromaterialliste

Bevor wir das Formular definieren, wollen wir eine Liste an Büromaterialien auf einer anderen Seite anlegen.

Dafür muss dort ein "ConfiForms Form Definition" Macro eingefügt werden, also ein eigenes Formular definiert werden. Innerhalb des Formulars gibt es eine einzige "Field definition", in der die Liste an Büromaterialien steht.


Formular Definition 

Um ein Formular zu definieren, fügen wir das "ConfiForms Form Definition" Macro ein.

Wir füllen die Formulardefinition ähnlich wie im ersten Video aus:

Der Körper unserer Formular Definition besteht aus einem Textfeld für den Namen des Nutzers, einem Dropdown für das gewünschte Büromaterial und einem Nummernfeld für die Stückanzahl.  All diese Felder sind "required", also zwingend benötigt. Der Name wird wie im Weihnachtsbuffet Formular aus der ersten Anleitung mittels "ConfiForm Rules for Field Definition" automatisch gesetzt.

Das Dropdown Feld ist ein "Smart Dropdown" und bezieht die Werte aus dem Dropdown Feld der "Büromaterialliste" Seite.

Um den Status des Antrags in unserem Workflow nachvollziehen zu können, fügen wir ein Statusfeld ein. Dieses soll nur vom Formular Administrator bearbeitbar sein. Um das zu erreichen, muss im folgenden Feld der Username des Administrators stehen:

Zusätzlich gibt es einige "Action Buttons", die den Status verändern können und dadurch den Workflow erst ermöglichen. Durch klicken des Knopfes wird der Wert direkt verändert. Da das Statusfeld einem Dropdown Feld mit vordefinierten Werten enspricht, müssen wir uns an die ConfiForms Dokumentation halten um den Wert korrekt zu setzen. Jede Farbe entspricht einem eigenen Wert:

Ebenso ist es wichtig, dass nicht jeder die Knöpfe sehen kann. Den Knopf um einen Antrag zu genehmigen sollen zB. nur der Formularadministrator bzw. die Administratorin und die Teamleiter bzw. Teamleiterinnen sehen können.

Wir fügen einen Knopf ein, der es den Team-Leitern ermöglicht einen Fehlklick zu korrigieren (Sichtbarkeit wie oben):

Und einen um einen Antrag abzulehnen:

Für das Sekretariat, welches genehmigte Anträge bearbeitet, gibt es zwei Knöpfe. Der erste setzt den Status auf "bestellt" und der zweite auf "geliefert". Die Sichtbarkeit muss dementsprechend angepasst werden, damit nur die Sekretariats-Mitarbieter die Knöpfe bedienen können.

E-Mail Benachrichtigung

Um E-Mail Benachrichtigungen zu ermöglichen, müssen "IFTTT Integration Rule" Makros in den Körper der Formular Definition eingefügt werden:

Die erste E-Mail Regel hört auf das "onCreated" Event und sendet E-Mails an Teamleiter.

Die zweite Regel hört auf das "onModified" Event und sendet E-Mails an das Sekretariat.


Formular Darstellung mit "Registrations control"

Wir verwenden das Makro "ConfiForm Registrations Control" um das Formular auf einer eigenen Seite darzustellen.

Wir füllen den Namen der Formulardefinition und die Seite auf der es definiert ist ein. Die Darstellungsform ist wieder "embedded".

Mitarbeiter, die Büromaterial bestellen wollen, werden genau 3 Felder sehen: Ihren Namen, das Dropdown der Materialliste und das Nummernfeld für die Anzahl.

Damit der Statuswert standardmäßig mit dem "default" Wert (in unserem Fall "beantragt") abgespeichert wird, muss in der Registrations control Einstellung ein key value Paar gesetzt werden. 

Darstellung der Ergebnisse 1: Anträge

Auf der Seite "Anträge" werden alle noch nicht genehmigten Anträge für Teamleiter angezeigt.

Dafür verwenden wir das "ConfiForms TableView" Makro.

Wichtig ist es hier einen Filter zu setzen, damit auch nur die richtigen Formulareinträge sichtbar sind. Diesen setzt man in dein Einstellungen des TableView Makros. 

Für die Teamleiter wird die Seite nun so aussehen:

Darstellung der Ergebnisse 2: Genehmigte Anträge

Die Seite "Genehmigte Anträge" für das Sekretariat ist sehr ähnlich wie "Anträge".  Sie unterscheidet sich dadurch, dass wir einen anderen Filter im TableView Makro gesetzt haben und andere Felder im TableView Makro Körper stehen haben (andere Action Buttons, um genau zu sein).

Das ganze sieht nun so in Aktion aus: