SocialEntity:180 und Handbuch:Erweiterung/Workflows/Activity/CustomForm: Unterschied zwischen den Seiten

(Unterschied zwischen Seiten)
Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
==Beschreibung==
[[Datei:Handbuch:wf-activity-CustomForm.png|alternativtext=Dialogfenster zum Sammeln benötigter Daten|mini|300x300px|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.
{| class="wikitable"
! colspan="2" |'''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
|<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 [
{
{
    "wikipageid": 1138,
name: 'username',
    "namespace": 0,
label: "Username",
    "titletext": "Handbuch:Erweiterung/Workflows/Activity/CustomForm",
type: 'user_picker',
    "description": "",
required: true
    "parentid": 0,
},
    "id": 180,
{
    "ownerid": 6,
name: 'comment',
    "type": "wikipage",
label: 'Comment'
    "archived": false,
type: 'wikitext',
    "tags": [
        "Handbuch:Erweiterung/Workflows/Activity/CustomForm"
    ],
    "resolved": false
}
}
];
};
</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>

Aktuelle Version vom 16. Dezember 2021, 16:46 Uhr

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>
    ...
Keine Kategorien vergebenBearbeiten