Handbuch:Erweiterung/Workflows/Activity/SetTemplateParams: Unterschied zwischen den Versionen

(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:
==Description==
==Beschreibung==
The ''SetTemplateParams'' activity allows automatic setting a template parameter on a wiki page.
Die ''SetTemplateParams''-Activity ermöglicht das automatische Festlegen eines Vorlagenparameters auf einer Wiki-Seite.


* 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.
* 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.
* Parameters inside the template can be specified by their name or the index in case of non-named parameters.
* Parameter innerhalb der Vorlage können über ihren Namen oder im Falle von nicht benannten Parametern über den Index angegeben werden.
* Index for non-named params starts at 1 (not 0!), as to be consistent with how template params are accessed in the template itself.
* Der Index für nicht benannte Parameter beginnt bei 1 (nicht 0!).
* Nested templates are currently not supported.
* Verschachtelte Vorlagen werden derzeit nicht unterstützt.


== Profile ==
== Profil ==
{| class="wikitable"
{| class="wikitable"
! colspan="2" |'''Short profile'''
! colspan="2" |'''Kurzprofil'''
|-
|-
|Name
|Name
Zeile 15: Zeile 15:
|-
|-
|Async
|Async
|Yes
|ja
|-
|-
|BPMN type
|BPMN type
Zeile 24: Zeile 24:
|}
|}


==Properties==
==Attribute==
{| class="wikitable"
{| class="wikitable"
! style="vertical-align:middle;text-align:left;width:70px;" |'''Name of property'''
! style="vertical-align:middle;text-align:left;width:70px;" |'''Name des Attributs'''
!'''Source'''
!'''Quelle'''
!'''Description'''
!'''Beschreibung'''
!'''Type'''
!'''Typ'''
|-
|-
|<code>title</code>
|<code>title</code>
|UIActivity
|UIActivity
|Name of the page where the template parameter is changed. If it will be changed on the page where the workflow runs, the value is <code><nowiki>{{FULLPAGENAME}}</nowiki></code>
|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
|User that is shown in the revision history
|Benutzer der in die Revisionsgeschichte geschrieben wird
|user
|user
|-
|-
|<code>template-index</code>
|<code>template-index</code>
|''InstructedActivity?''
|''InstructedActivity?''
|Index of the template on the page (starting at 0)
|Index der Vorlage auf der Wikiseite (beginnend bei 0)
|number
|number
|-
|-
|<code>template- param</code>
|<code>template- param</code>
|
|
|Parameter to modify. This can be a string (in the case of a  named parameter) or a number (in case of a non-named param; starting from 1, accessor for the 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>
|
|
|New value of the parameter, set by the workflow
|Neuer Wert des Parameters, der durch den Workflow gesetzt wurde.
|string
|string
|-
|-
|<code>minor</code>
|<code>minor</code>
|
|
|Marks the revision as a minor edit if set to 1
|Markiert die Version als kleine Änderung, falls der Wert auf "1" gesetzt ist.
|boolean
|boolean
|-
|-
|<code>revisionId</code>
|<code>revisionId</code>
|
|
|Sets a new page revision ID
|Neue Seitenrevisions-ID
|number
|number
|-
|-
|<code>timestamp</code>
|<code>timestamp</code>
|
|
|Sets the page revision timestamp
|Datumsstempel der Revision
|timestamp
|timestamp
|-
|-
|comment
|comment
|
|
|Comment that is shown in the revision history
|Kommentar in der Revisionsgeschichte.
|string
|string
|}
|}


== Example ==
== Beispiel ==


=== Workflow task ===
=== Workflow-Aufgabe ===
This workflow task will set the value of the parameter <code><nowiki>{{{status|not set}}}</nowiki></code> to <code>Updated</code> on a page's first template.<syntaxhighlight lang="xml">
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="Updated"/>
<bpmn:property name="value" default="Aktualisiert"/>
<bpmn:property name="minor" default="0"/>
<bpmn:property name="minor" default="0"/>


Zeile 104: Zeile 104:
</syntaxhighlight>
</syntaxhighlight>


=== Template ===
=== 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>


=== Full bpmn example ===
=== 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>




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