Beschreibung[Bearbeiten | Quelltext bearbeiten]

Dialogfenster zum Sammeln benötigter Daten
Dialogfenster zum Sammeln benötigter Daten

Die Aktivität CustomForm it eine generische Aktivität, die auf einem benutzerdefinierten Formular basiert. Diese Aktivität sammelt Daten für den Workflow, der ausgeführt werden soll. Daher hängen die Eingabefelder von der Art des Workflows ab, die der Benutzer wählt. Generell sind die Daten immer gleich und unterscheiden sich nur im Bezug auf den jeweiligen Workflow und die benötigte Benutzeranzahl. Die CustomForm-Aktivität enthält meist leere Werte, die auch als Standardwerte eingefügt werden können. Dies hängt mit der Metadatenpflege im Zusammenhang mit der Verwendung von Wikitext zusammen.

Kurzprofil
Name CustomForm
Async Nein
Input/Formular Abhängig vom Workflow-Typ, aber generell:
  • Benutzerauswahl / Gruppenauswahl
  • Texfeld für Kommentare
  • Textfeld für Email/Benutzername
  • ...
BPMN Element bpmn:userTask
BPMN Extension Element "wf:type" custom_form

Extension Elemente[Bearbeiten | Quelltext bearbeiten]

Name des Extension Elements Beschreibung Typ
formModule element
formModule/module ResourceLoader-Modul, das geladen werden soll string
formModule/class Klasse der Formulardefinition, die angezeigt werden soll string

Beispiel[Bearbeiten | Quelltext bearbeiten]

<bpmn:extensionElements>
    <wf:type>custom_form</wf:type>
    <wf:formModule>
<wf:module>my.custom.form</wf:module>
<wf:class>MyCustomForm</wf:class>
</wf:formModule>
</bpmn:extensionElements>

Dies läadt das ResourceLoader-Modul my.custom.form und erwartet, dass hierfür die JavaScript-Klasse MyCustomForm implementiert ist. Ein solches RL-Modul kann durch eine Erweiterung oder durch ein benutzerdefiniertes Gadget bereitgestellt werden.

Attribute[Bearbeiten | Quelltext bearbeiten]

Name des Attributs Quelle Beschreibung Typ
due_date UIActivity Fälligkeitsdatum der Aufgabe date/timestamp

Each field provided by the form specified in formModule/class needs to be listed as a property with a default value.

Beispiel[Bearbeiten | Quelltext bearbeiten]

Formular spezifiziert in <wf:class> :

MyCustomForm = function( cfg, activity ) {
MyCustomForm.parent.call( this, cfg, activity );
};

OO.inheritClass( MyCustomForm, workflows.object.form.Form );

MyCustomForm.prototype.getDefinitionItems = function() {
return [
{
name: 'username',
label: "Username",
type: 'user_picker',
required: true
},
{
name: 'comment',
label: 'Comment'
type: 'wikitext',
}
];
};

Die Attribute können so aussehen:

<bpmn:property name="username" />
<bpmn:property name="comment" default="Some default comment text" />

Wenn die id der Aktivität im Element <bpmn:userTask> als "CollectData" spezifiziert wurde, dann können verbundene Aktivitäten auf die Ausgabedaten in ihren jeweiligen Attributen zugreifen:

<bpmn:task id="SomeActivity">
    ...
    <bpmn:property name="user" default="{{{CollectData.username}}}"></bpmn:property>
    <bpmn:property name="intro" default="{{{CollectData.comment}}}"></bpmn:property>
    ...




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