|
|
Zeile 1: |
Zeile 1: |
| ==Beschreibung==
| | {{BSExtensionInfo |
| [[Datei:Handbuch:wf-activity-CustomForm.png|alternativtext=Dialogfenster zum Sammeln benötigter Daten|mini|300x300px|Dialogfenster zum Sammeln benötigter Daten]]
| | |status=stable |
| 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.
| | |developer=HalloWelt |
| {| class="wikitable"
| | |type=BlueSpice |
| ! colspan="2" |'''Kurzprofil'''
| | |edition=BlueSpice free, BlueSpice pro, BlueSpice Farm, BlueSpice Cloud |
| |-
| | |compatible=BlueSpice |
| |Name
| | |category=Infrastruktur |
| |CustomForm
| | |license=GPL v3 only |
| |-
| | |features= '''DistributionConnector''' dient als zentrale Schnittstelle, um verschiedene MediaWiki Erweiterungen in eine BlueSpice Distribution zu integrieren. |
| |Async
| | }} |
| |Nein
| |
| |-
| |
| |Input/Formular
| |
| |''Abhängig vom Workflow-Typ, aber generell:''
| |
| *Benutzerauswahl / Gruppenauswahl
| |
| *Texfeld für Kommentare
| |
| *Textfeld für Email/Benutzername
| |
| *...
| |
| |-
| |
| |BPMN Element
| |
| |<code>bpmn:userTask</code>
| |
| |- | |
| |BPMN Extension Element "wf:type"
| |
| |<code>custom_form</code>
| |
| |}
| |
| | |
| == Extension Elemente==
| |
| {| class="wikitable" style="width:100%;"
| |
| !'''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 ===
| |
| <syntaxhighlight lang="xml">
| |
| <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>
| |
| </syntaxhighlight>Dies läadt das ResourceLoader-Modul <code>my.custom.form</code> und erwartet, dass hierfür die JavaScript-Klasse <code>MyCustomForm</code> implementiert ist. Ein solches RL-Modul kann durch eine Erweiterung oder durch ein benutzerdefiniertes Gadget bereitgestellt werden.
| |
| | |
| ==Attribute==
| |
| {| class="wikitable" style="width:100%;"
| |
| !'''Name des Attributs'''
| |
| !'''Quelle'''
| |
| !'''Beschreibung'''
| |
| !'''Typ'''
| |
| |-
| |
| |<code>due_date</code>
| |
| |UIActivity
| |
| |Fälligkeitsdatum der Aufgabe
| |
| |date/timestamp
| |
| |} | |
| Each field provided by the form specified in <code>formModule/class</code> needs to be listed as a property with a default value.
| |
| | |
| ===Beispiel===
| |
| | |
| Formular spezifiziert in <code><wf:class></code> :<syntaxhighlight lang="javascript">
| |
| 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',
| |
| }
| |
| ];
| |
| };
| |
| </syntaxhighlight>Die Attribute können so aussehen:<syntaxhighlight lang="xml">
| |
| <bpmn:property name="username" />
| |
| <bpmn:property name="comment" default="Some default comment text" />
| |
| </syntaxhighlight>
| |
| Wenn die <code>id</code> der Aktivität im Element <code><bpmn:userTask></code> als <code>"CollectData"</code> spezifiziert wurde, dann können verbundene Aktivitäten auf die Ausgabedaten in ihren jeweiligen Attributen zugreifen:<syntaxhighlight lang="xml">
| |
| <bpmn:task id="SomeActivity">
| |
| ...
| |
| <bpmn:property name="user" default="{{{CollectData.username}}}"></bpmn:property>
| |
| <bpmn:property name="intro" default="{{{CollectData.comment}}}"></bpmn:property>
| |
| ...
| |
| </syntaxhighlight>
| |