(Die Seite wurde neu angelegt: „==Description== The ''SetTemplateParams'' activity allows automatic setting a template parameter on a wiki page. * Templates are accessed by the order of appearance on the page, starting at 0. Non-existing templates are counted as links, so they do not count in this list. * Parameters inside the template can be specified by their name or the index in case of non-named parameters. * Index for non-named params starts at 1 (not 0!), as to be consistent with…“) Markierung: 2017-Quelltext-Bearbeitung |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
== | ==Beschreibung== | ||
Die ''SetTemplateParams''-Activity ermöglicht das automatische Festlegen eines Vorlagenparameters auf einer Wiki-Seite. | |||
* | * Auf Vorlagen wird in der Reihenfolge zugegriffen, in der sie auf der Seite erscheinen, beginnend bei 0. Nicht-existierende Vorlagen werden als Links gezählt und werden daher beim Zählen ignoriert. | ||
* | * Parameter innerhalb der Vorlage können über ihren Namen oder im Falle von nicht benannten Parametern über den Index angegeben werden. | ||
* Index | * Der Index für nicht benannte Parameter beginnt bei 1 (nicht 0!). | ||
* | * Verschachtelte Vorlagen werden derzeit nicht unterstützt. | ||
== | == Profil == | ||
{| class="wikitable" | {| class="wikitable" | ||
! colspan="2" |''' | ! colspan="2" |'''Kurzprofil''' | ||
|- | |- | ||
|Name | |Name | ||
Zeile 15: | Zeile 15: | ||
|- | |- | ||
|Async | |Async | ||
| | |ja | ||
|- | |- | ||
|BPMN type | |BPMN type | ||
Zeile 24: | Zeile 24: | ||
|} | |} | ||
== | ==Attribute== | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="vertical-align:middle;text-align:left;width:70px;" |'''Name | ! style="vertical-align:middle;text-align:left;width:70px;" |'''Name des Attributs''' | ||
!''' | !'''Quelle''' | ||
!''' | !'''Beschreibung''' | ||
!''' | !'''Typ''' | ||
|- | |- | ||
|<code>title</code> | |<code>title</code> | ||
|UIActivity | |UIActivity | ||
|Name | |Name der Seite, auf der der Vorlagenparameter geändert wird. Wenn der Wert auf der Seite geändert wird, auf der der Workflow ausgeführt wird, ist der Wert <code><nowiki>{{FULLPAGENAME}}</nowiki></code> | ||
|string | |string | ||
|- | |- | ||
| style="width:70px;" |<code>user</code> | | style="width:70px;" |<code>user</code> | ||
|UIActivity | |UIActivity | ||
| | |Benutzer der in die Revisionsgeschichte geschrieben wird | ||
|user | |user | ||
|- | |- | ||
|<code>template-index</code> | |<code>template-index</code> | ||
|''InstructedActivity?'' | |''InstructedActivity?'' | ||
|Index | |Index der Vorlage auf der Wikiseite (beginnend bei 0) | ||
|number | |number | ||
|- | |- | ||
|<code>template- param</code> | |<code>template- param</code> | ||
| | | | ||
|Parameter | |Vorlagen-Parameter, der geändert wird. Dies kann eine Zeichenfolge (im Fall eines benannten Parameters) oder eine Zahl (im Fall eines nicht benannten Parameters; beginnend bei 1, Zugriffsmethode für den Parameter) sein. | ||
|<nowiki>int|string</nowiki> | |<nowiki>int|string</nowiki> | ||
|- | |- | ||
|<code>value</code> | |<code>value</code> | ||
| | | | ||
| | |Neuer Wert des Parameters, der durch den Workflow gesetzt wurde. | ||
|string | |string | ||
|- | |- | ||
|<code>minor</code> | |<code>minor</code> | ||
| | | | ||
| | |Markiert die Version als kleine Änderung, falls der Wert auf "1" gesetzt ist. | ||
|boolean | |boolean | ||
|- | |- | ||
|<code>revisionId</code> | |<code>revisionId</code> | ||
| | | | ||
| | |Neue Seitenrevisions-ID | ||
|number | |number | ||
|- | |- | ||
|<code>timestamp</code> | |<code>timestamp</code> | ||
| | | | ||
| | |Datumsstempel der Revision | ||
|timestamp | |timestamp | ||
|- | |- | ||
|comment | |comment | ||
| | | | ||
| | |Kommentar in der Revisionsgeschichte. | ||
|string | |string | ||
|} | |} | ||
== | == Beispiel == | ||
=== Workflow | === Workflow-Aufgabe === | ||
Diese Workflow-Aufgabe setzt den Wert des Parameters <code><nowiki>{{{status}}}</nowiki></code> auf der ersten Vorlage einer Seite auf „Aktualisiert“.<syntaxhighlight lang="xml"> | |||
<bpmn:task id="EditTemplate" name="Edit template"> | <bpmn:task id="EditTemplate" name="Edit template"> | ||
<bpmn:extensionElements> | <bpmn:extensionElements> | ||
Zeile 92: | Zeile 92: | ||
<bpmn:property name="template-param" default="status"/> | <bpmn:property name="template-param" default="status"/> | ||
<!-- New value to set --> | <!-- New value to set --> | ||
<bpmn:property name="value" default=" | <bpmn:property name="value" default="Aktualisiert"/> | ||
<bpmn:property name="minor" default="0"/> | <bpmn:property name="minor" default="0"/> | ||
Zeile 104: | Zeile 104: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Vorlage === | ||
The template content has the parameter <code><nowiki>{{{status}}}</nowiki></code> At the time of writing this, the workflow produced an error tif the parameter was wrapped in a <code><nowiki><div></nowiki></code> tag. Therefore, in the example below, the parameter is defined in a variable first. If the parameter is not in a <code>div</code> tag, using a variable is not necessary.<syntaxhighlight lang="text"> | The template content has the parameter <code><nowiki>{{{status}}}</nowiki></code> At the time of writing this, the workflow produced an error tif the parameter was wrapped in a <code><nowiki><div></nowiki></code> tag. Therefore, in the example below, the parameter is defined in a variable first. If the parameter is not in a <code>div</code> tag, using a variable is not necessary. | ||
Der Vorlageninhalt hat den Parameter <code><nowiki>{{{status}}}</nowiki></code> . Zum jetzigen Zeitpunkt erzeugt der Workflow einen Fehler, wenn der Parameter in ein<div><code>div</code>-Tag eingeschlossen sit. Daher wird im folgenden Beispiel der Parameter zunächst in einer Variablen definiert. Wenn sich der Parameter nicht in einem div-Tag befindet, ist die Verwendung einer Variablen nicht erforderlich. Es kann sein, dass dieses Verhalten zwischenzeitlich korriegiert wurde.<syntaxhighlight lang="text"> | |||
{{#vardefine:status|{{{status|not set}}}}} | {{#vardefine:status|{{{status|not set}}}}} | ||
<div style="background:#fbfaef;">Page status: {{#var:status}}</div> | <div style="background:#fbfaef;">Page status: {{#var:status}}</div> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== | === Komplettes BPMN-Beispiel === | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> |
Version vom 16. Oktober 2023, 13:34 Uhr
Beschreibung[Bearbeiten | Quelltext bearbeiten]
Die SetTemplateParams-Activity ermöglicht das automatische Festlegen eines Vorlagenparameters auf einer Wiki-Seite.
- Auf Vorlagen wird in der Reihenfolge zugegriffen, in der sie auf der Seite erscheinen, beginnend bei 0. Nicht-existierende Vorlagen werden als Links gezählt und werden daher beim Zählen ignoriert.
- Parameter innerhalb der Vorlage können über ihren Namen oder im Falle von nicht benannten Parametern über den Index angegeben werden.
- Der Index für nicht benannte Parameter beginnt bei 1 (nicht 0!).
- Verschachtelte Vorlagen werden derzeit nicht unterstützt.
Profil[Bearbeiten | Quelltext bearbeiten]
Kurzprofil | |
---|---|
Name | SetTemplateParams |
Async | ja |
BPMN type | bpmn:task
|
BPMN Extension Element "wf:type" | set_template_param
|
Attribute[Bearbeiten | Quelltext bearbeiten]
Name des Attributs | Quelle | Beschreibung | Typ |
---|---|---|---|
title
|
UIActivity | Name der Seite, auf der der Vorlagenparameter geändert wird. Wenn der Wert auf der Seite geändert wird, auf der der Workflow ausgeführt wird, ist der Wert {{FULLPAGENAME}}
|
string |
user
|
UIActivity | Benutzer der in die Revisionsgeschichte geschrieben wird | user |
template-index
|
InstructedActivity? | Index der Vorlage auf der Wikiseite (beginnend bei 0) | number |
template- param
|
Vorlagen-Parameter, der geändert wird. Dies kann eine Zeichenfolge (im Fall eines benannten Parameters) oder eine Zahl (im Fall eines nicht benannten Parameters; beginnend bei 1, Zugriffsmethode für den Parameter) sein. | int|string | |
value
|
Neuer Wert des Parameters, der durch den Workflow gesetzt wurde. | string | |
minor
|
Markiert die Version als kleine Änderung, falls der Wert auf "1" gesetzt ist. | boolean | |
revisionId
|
Neue Seitenrevisions-ID | number | |
timestamp
|
Datumsstempel der Revision | timestamp | |
comment | Kommentar in der Revisionsgeschichte. | string |
Beispiel[Bearbeiten | Quelltext bearbeiten]
Workflow-Aufgabe[Bearbeiten | Quelltext bearbeiten]
Diese Workflow-Aufgabe setzt den Wert des Parameters {{{status}}}
auf der ersten Vorlage einer Seite auf „Aktualisiert“.
<bpmn:task id="EditTemplate" name="Edit template">
<bpmn:extensionElements>
<wf:type>set_template_param</wf:type>
</bpmn:extensionElements>
<bpmn:property name="title" default="Testpage" validation="required,existing-title"/>
<bpmn:property name="user" default="WikiSysop" validation="existing-user"/>
<!-- Index of the template on page (starting from 0) -->
<bpmn:property name="template-index" default="0"/>
<!-- Param to modify. Can be a string in case of named params, or a number, in case of non-named params (starting from 1, accessor for the param) -->
<bpmn:property name="template-param" default="status"/>
<!-- New value to set -->
<bpmn:property name="value" default="Aktualisiert"/>
<bpmn:property name="minor" default="0"/>
<!-- Output properties -->
<bpmn:property name="revisionId"/>
<bpmn:property name="timestamp"/>
<bpmn:incoming>Flow_1qh6vpl</bpmn:incoming>
<bpmn:outgoing>Flow_0if1kyp</bpmn:outgoing>
</bpmn:task>
Vorlage[Bearbeiten | Quelltext bearbeiten]
The template content has the parameter {{{status}}}
At the time of writing this, the workflow produced an error tif the parameter was wrapped in a <div>
tag. Therefore, in the example below, the parameter is defined in a variable first. If the parameter is not in a div
tag, using a variable is not necessary.
Der Vorlageninhalt hat den Parameter {{{status}}}
. Zum jetzigen Zeitpunkt erzeugt der Workflow einen Fehler, wenn der Parameter in ein
div
-Tag eingeschlossen sit. Daher wird im folgenden Beispiel der Parameter zunächst in einer Variablen definiert. Wenn sich der Parameter nicht in einem div-Tag befindet, ist die Verwendung einer Variablen nicht erforderlich. Es kann sein, dass dieses Verhalten zwischenzeitlich korriegiert wurde.{{#vardefine:status|{{{status|not set}}}}}
<div style="background:#fbfaef;">Page status: {{#var:status}}</div>
Komplettes BPMN-Beispiel[Bearbeiten | Quelltext bearbeiten]
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:wf="http://hallowelt.com/schema/bpmn/wf">
<bpmn:process id="SetTemplateParams-Process" isExecutable="false">
<bpmn:extensionElements>
<wf:context>
<wf:contextItem name="pageId"/>
</wf:context>
</bpmn:extensionElements>
<bpmn:startEvent id="TheStart">
<bpmn:outgoing>FromTheStartToEditTemplate</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="FromTheStartToEditTemplate" sourceRef="TheStart" targetRef="EditTemplate" />
<bpmn:task id="EditTemplate" name="Edit template">
<bpmn:extensionElements>
<wf:type>set_template_param</wf:type>
</bpmn:extensionElements>
<bpmn:property name="title" default="" validation="required,existing-title">{{FULLPAGENAME}}</bpmn:property>
<bpmn:property name="user" default="WikiSysop" validation="existing-user">WikiSysop</bpmn:property>
<!-- Index of the template on page (starting from 0) -->
<bpmn:property name="template-index" default="0"/>
<!-- Param to modify. Can be a string in case of named params, or a number, in case of non-named params (starting from 1, accessor for the param) -->
<bpmn:property name="template-param" default="status"/>
<!-- New value to set -->
<bpmn:property name="value" default="Super edited param"/>
<bpmn:property name="minor" default="1"/>
<!-- Output properties -->
<bpmn:property name="revisionId"/>
<bpmn:property name="timestamp"/>
<bpmn:incoming>FromTheStartToEditTemplate</bpmn:incoming>
<bpmn:outgoing>FromEditTemplateToTheEnd</bpmn:outgoing>
</bpmn:task>
<bpmn:sequenceFlow id="FromEditTemplateToTheEnd" sourceRef="EditTemplate" targetRef="TheEnd" />
<bpmn:endEvent id="TheEnd">
<bpmn:incoming>FromEditTemplateToTheEnd</bpmn:incoming>
</bpmn:endEvent>
</bpmn:process>
</bpmn:definitions>