Mit den Workflows ist es möglich, basierend auf einer Liste einen Arbeitsprozess zu definieren.
Klassisches Beispiel dazu ist ein "Urlaubsantrag".

Einen Workflow ist aus folgenden Elementen festgelegt:


FeldBeschreibung
 Neuen Workflow hinzufügen
Öffnet den Dialog, um einen neuen Workflow anzulegen
[Workflowname]Öffnet das Verwaltungsfenster dieses Workflows (Anzeige aller zugehörigen Datensätze, neuen Workflow starten, Detailansicht öffnen). Über Filter kann die Liste reduziert werden. Der Administrator kann alle Felder und auch den Status bearbeiten.
[basiert auf Liste]ffnet den Typen (um die Datesätze zu sehen/bearbeiten)
[basiert auf Typ]Öffnet den Typen (um die Felder zu sehen/bearbeiten)
Bearbeitet die Workflowdefinition
Löscht den Workflow
[Zustandsregeln]Öffnet den Dialog zur Einstellung der Zustandsregeln und der Statusmails (siehe unten)

Neuen Workflow hinzufügen


Bei der Anlage eines neuen Workflows wird ein Assistant gestartet:

Workflow bearbeiten

FeldBeschreibung
ListeDie zugehörige Liste, deren Datensätze mit dem Workflow verarbeitet werden
NameGgf. abweichender Workflowname. Standardmäßig wird der Listenname verwendet.
Formular neuer WorkflowHier können Sie ein Formular auswählen, das verwendet wird, wenn ein neuer Workflow-Datensatz angelegt, d.h. der Workflow gestartet wird.
StatuswerteListe der möglichen Statuswerte und zugeordneten Formulare.
Beispiel:
- beantragt
- zugestimmt
- abgelehnt
Die angebbaren Formulare werden später verwendet, wenn ein Datensatz in diesem Status geöffnet wird.
 Speichern
Speichert die Eingaben und schließt das Fenster
Abbrechen
Schließt das Fenster ohne die Eingaben zu speichern

Zustandsregeln

Die Zustandsregeln legen fest, welche Rolle einen Workflow-Datensatz von welchem Zustand in einen anderen bringen kann und wie die Aktion heisst (die Aktion bestimmt, wie der Button im Workflow später heisst).
Beispiel:
Wenn StatusWenn RolleAktionNeuer Status
(Neuer Datensatz) Beantragenbeantragt
beantragtVorstandZustimmenzugestimmt
beantragtVorstandAblehnenabgelehnt

Die Spalten haben folgende Bedeutung:


BefehlBedeutung
Wenn Status gibt an, dass diese Zeile gilt, wenn der Workflow aktuell diesen Status hat
Wenn Rolle gibt an, dass die nachfolgenden Aktionen nur gelten, wenn der Benutzer ein Mitglied der Rolle ist
und erfüllt folgede Bedinugng hiermit kann eine zusätzliche Prüfung erfolgen, möglich sind (!... negiert):
IstGruppenleiter(FELDNAME)
IstMitglied(FELDNAME)
IstAntragsteller
Email(FELDNAME)
PruefeMitglied(FELDNAME)
FELDNAME1=WERT | FELDNAME2=WERT & FELDNAME3=WERT (|=ODER, &=UND)
Aktion (=Button-Beschriftung) Wenn der Nutzer in der Rolle und ggf. die zusätzliche Bedingung erfüllt ist, dann sieht der Benutzer einen Button mit dieser Beschriftung.

Speziell: die Aktion "Auto()" wird sofort nach Zustandswechsel ausgeführt, "Auto(24 Std)" automatisch nach 24 Std., "Auto(1.9.)" wird am 1.9. ausgeführt.
Neuer Status Wenn der Nutzer auf den Aktion-Button klickt, dann bekommt der Workflow diesen neuen Status.
Spezial hier können Spezialaktionen angeben werden. Format: Befehl1(..);Befehl2(..);Befehl3(..)

Mögliche Spezial-Befehle:

BefehlBedeutung
MitgliedAnlegen(formularfeld1,mitgliedsfeld=formularfeld2,...)Legt ein Mitglied an
anrede,vorname,nachname,p_email=email,..
Erkennung (nachname UND geburtstag) ODER email, Wenn erkannt dann nur noch leere Felder füllen, zuordnen und keine Zugangsdaten versenden.
Standardwerte werden gesetzt.
ExternerKontaktAnlegen(formularfeld1,mitgliedsfeld=formularfeld2,...)Legt einen externen Kontakt an
anrede,vorname,nachname,p_email=email,..
(nachname UND geburtstag) ODER email, Wenn erkannt dann nur noch leere Felder füllen, zuordnen.
Standardwerte werden gesetzt.
RolleSetzen(Mitglied [,feld] )Setzt bzw. entfernt (- vor Rolle) die gegebene Rolle.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller.
GruppeSetzen(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller.
GruppeSetzenLeiter(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe als Leiter.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller.
GruppeSetzenStvLeiter(Fitness [,feld] )Setzt bzw. entfernt (- vor Gruppe) die gegebene Gruppe als Stv. Leiter.
Bei Angabe eines Mitgliederfeldes wird dieses Feld als Mitglied genutzt, andernfalls der Antragsteller.
MitgliedWertSetzen(WORKFLOWFELDMITGLIED, aufnahmemitglied, WORKFLOWFELDWERT) Setzt im Mitgliederdatensatz (Workflow-Feld WORKFLOWFELDMITGLIED) das Feld (aufnahmemitglied o.ä.) mit dem Wert aus dem Workflow-Feld WORKFLOWFELDWERT

Auch möglich mit +-Verkettung, bei Mitgliedsnummer # erzeugt eine eindeutige ID: MitgliedWertSetzen(WORKFLOWFELDMITGLIED, mitgliedsnummer, WORKFLOWFELDWERT1+WORKFLOWFELDWERT2+#)
ZugangsdatenSenden()
ZugangsdatenSenden(FELDNAME)
Sendet dem Mitglied eine Mail mit den Login-Zugangsdaten. Kein Parameter: Ersteller, mit Parameter: Feld in dem das Mitglied steht.
Anmelden(FeldVAID)Meldet den Antragsteller zu der angegebenen Veranstaung an und sendet eine Mail an den Veranstaltungs-Kontakt
Loeschen()Löscht den Workflow
BeitragSetze(FELDUSER, BEITRAGSNAME [,FELDBETRAG]) Setzt dem im "FELDUSER" angebenen Mitglied den Beitrag BEITRAGSNAME (2. Parameter kann auch Feldname sein). Wenn als 3. Parameter ein Feld angegeben wird, dann wird diesem Feld der Betrag entnommen (ansonsten wird Anzahl=1 gesetzt). 3.Parameter -1 löscht die Beitragszuordnung.
BeitragSetzeGruppe(FELDUSER, BEITRAGSGRUPPE [,FELDBETRAG]) Setzt dem im "FELDUSER" angebenen Mitglied die Beitragsgruppe BEITRAGSGRUPPE (2. Parameter kann auch Feldname sein). Wenn als 3. Parameter ein Feld angegeben wird, dann wird diesem Feld der Betrag entnommen (ansonsten wird Anzahl=1 gesetzt). 3.Parameter -1 löscht die Beitragszuordnung.
RechnungErstellen(FELDUSER, RECHNUNGSPOSITION, FELDBERAG [,BANKKONTO [,ERTRAGSKONTO [,FORDERUNGSSKONTO]]]) Erstellt eine Rechnung an den im "FELDUSER" angebenen Mitglied mit dem 2. Parameter "Text der Rechnungsposition" und dem 3. Parameter dem Feld mit dem Betrag. 4. Parameter optional: Das Bankkonto, 5. Parameter optional: Das Ertragskonto, 6. Parameter optional: Das Forderungkonto.
GutschriftErstellen(FELDUSER, RECHNUNGSPOSITION, FELDBERAG [,BANKKONTO [,ERTRAGSKONTO [,FORDERUNGSSKONTO]]]) Erstellt eine Gutschrift an den im "FELDUSER" angebenen Mitglied mit dem 2. Parameter "Text der Rechnungsposition" und dem 3. Parameter dem Feld mit dem Betrag. 4. Parameter optional: Das Bankkonto, 5. Parameter optional: Das Ertragskonto, 6. Parameter optional: Das Forderungkonto.
ErstelleNummer(FELDNAME=JJ-{#region#}-####) Setzt das Feld FELDNAME mit dem Wert, JJ/JJJJ wird eesetzt durch das Jahr, {#region#} durch andere Felder (bzw. Unterfelder {#region:nr#} ), #### wird eine eindeutige Nummer.
ErstelleText(FELD=Text) Setzt das Feld FELDNAME mit dem Wert, Sonderfälle: Text: {#HEUTE#} ist das aktuelle Datum, {#USER#} ist die aktuelle Benutzer-ID
ErstelleVeranstaltung Legt eine Veranstaltung an, z.B. ErstelleVeranstaltung(titel=name,datum=anreise1,kontaktemail=email,kontaktstrasse=strasse,kontaktort=ort,kontakttelefon=telefon)

VERANSTALUNGSFELD = FELDNAME
VERANSTALUNGSFELD = Wert
tage=DIFF(FELD1-FELD2) (setzt das Feld "Datum" aus einer Differenz aus zwei Datums-Feldern)
zeit=ZEIT:FELD1-FELD2 (setzt das Feld "Zeit" mit den Werten aus den angegebenen Feldern)

Dieser Befehl setzt das Extrafeld "veranstaltung" im Datensatz.
AktualisiereVeranstaltung Aktualisiert die Veranstaltung, z.B. AktualisiereVeranstaltung(titel=name,...).
Dieser Befehl nutzt das Extrafeld "veranstaltung" im Datensatz.
LoescheVeranstaltung() Löscht die Veranstaltung. Dieser Befehl nutzt das Extrafeld "veranstaltung" im Datensatz.
SetzeUser(FELDNAME) Falls in dem angegebenen Mitglieder-Feld ein Wert enthalten ist, setzt der Befehl dieses Mitglied als Workflow-Antragsteller.
SetzeUserExit(FELDNAME) Falls in dem angegebenen Mitglieder-Feld ein Wert enthalten ist, setzt der Befehl dieses Mitglied als Workflow-Antragsteller. Weitere folgende Spezialbefehle werden NICHT ausgeführt.
FormularNeueRechnung() Zeigt das Formular "Neue Rechnung" an. Der Ersteller wird dabei vorselektiert.
InkrementText(FELDNAME) Erhöht den Inhalt des Feldes um 1 (Zähler)

Statusmails


Diese Mails basieren auf Vorlagen aus dem Modul Mitglieder und werden bei einem Statuswechsel an die angegebenen Empfänger (Antragstellet oder bestimmte Rollenmitgieder) verschickt.

BefehlBedeutung
Wenn neuer Status Die Mailvorlage wird verschickt, wenn der Workflow in diesen Status kommt.
und erfüllt folgede Bedinugng hiermit kann eine zusätzliche Prüfung erfolgen, möglich sind (!... negiert):
IstGruppenleiter(FELDNAME)
IstMitglied(FELDNAME)
IstAntragsteller
Email(FELDNAME)
PruefeMitglied(FELDNAME)
FELDNAME1=WERT | FELDNAME2=WERT & FELDNAME3=WERT (|=ODER, &=UND)
an diesen Empfänger-Rollen schickt die Mail an die Mitglieder der angegebenen Rolle
und diese Empfänger ggf.weitere Empfänger, möglich sind:
Gruppenleiter(FELDNAME)
Mitglied(FELDNAME)
Sprache (falls Mehrsprachigkeit aktiviert) Versendet die Mail nur an Empfänger mit dieser Spracheinstellung
Versendeart Legt fest, ob die Mail sofort automatisch versendet wird (Standard) oder manuell bearbeitet und versendet werden lann.
dann sende diese Mailvorlage Auswahl der Mailvorlage.

Die Mailvorlagen müssen unter "Mitglieder/Mail Serienbrief senden/Vorlagen" in einem Ablageordner, dessen Name mit "Workflow" beginnt, gespeichert sein.

Damit an einem anonymen Antragsteller eine Mail geschickt werden kann, muss im Formular ein Feld mit dem Feldnamen "email" vorhanden und gefüllt sein.

Folgende Platzhalter sind möglich:
  • {#workflow:name#} der Name des Workflows
  • {#workflow:status#} der aktuelle Status des Workflows
  • {#workflow:id#} die ID des Workflows
  • {#workflow:dataid#} die ID des Datensatzes
  • {#workflow:link#} der komplette anonyme Link des Workflows (auch ohne Login aufrufbar!)
  • {#workflow:mitgliedsantrag#} der Link zum Mitgliedsantrag
  • {#workflow:MITGLIEDSFELD.vorname#} Zugriff auf Mitglieds-Feld-Details
  • %anrede%, {#mitglied:nachname#}, {#workflow:FELDNAME#}, ...
  • {#workflow:_user.nachname#} ... Zugriff auf die Daten des Antragstellers
Betreff Alternativ zur Mailvorlage: Der Betreff der E-Mail
Nachricht Alternativ zur Mailvorlage: Die E-Mail-Nachricht
Anhänge Angabe vom Formularnamen, diese Formulare werden mit den Workflow-Daten gefüllt und als Anhang im PDF-Format verschickt.

Mitgliedsbescheinigung(FELDNAME) erstellt eine Mitgliedsbescheinigung mit dem im Feldnamen angegebenen Mitglied.

Hinweise:
Der "admin"-Benutzer kann auch den Status und den Antragsteller im Workflow-Datensatz ändern!