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
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
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;" |'''Name des Attributs'''
!'''Source'''
!'''Beschreibung'''
!'''Description'''
!'''Typ'''
!'''Type'''
|-
|-
|<code>title</code>
|<code>title</code>
|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 <code><nowiki>{{FULLPAGENAME}}</nowiki></code>
|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>
|string
|string
|-
|-
| style="width:70px;" |<code>user</code>
| style="width:70px;" |<code>user</code>
|UIActivity
|Benutzer der in die Revisionsgeschichte geschrieben wird
|User that is shown in the revision history
|user
|user
|-
|-
|<code>template-index</code>
|<code>template-index</code>
|''InstructedActivity?''
|Index der Vorlage auf der Wikiseite (beginnend bei 0)
|Index of the template on the page (starting at 0)
|number
|number
|-
|-
|<code>template- param</code>
|<code>template- param</code>
|
|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.
|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)
|<nowiki>int|string</nowiki>
|<nowiki>int|string</nowiki>
|-
|-
|<code>value</code>
|<code>value</code>
|
|Neuer Wert des Parameters, der durch den Workflow gesetzt wurde.
|New value of the parameter, set by the workflow
|string
|string
|-
|-
|<code>minor</code>
|<code>minor</code>
|
|Markiert die Version als kleine Änderung, falls der Wert auf "1" gesetzt ist.
|Marks the revision as a minor edit if set to 1
|boolean
|boolean
|-
|-
|<code>revisionId</code>
|<code>revisionId</code>
|
|Neue Seitenrevisions-ID
|Sets a new page revision ID
|number
|number
|-
|-
|<code>timestamp</code>
|<code>timestamp</code>
|
|Datumsstempel der Revision
|Sets the page revision timestamp
|timestamp
|timestamp
|-
|-
|comment
|<code>comment</code>
|
|Kommentar in der Revisionsgeschichte.
|Comment that is shown in the revision history
|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 82:
<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 94:
</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"?>
Zeile 136: Zeile 128:
             <!-- New value to set -->
             <!-- New value to set -->
             <bpmn:property name="value" default="Super edited param"/>
             <bpmn:property name="value" default="Super edited param"/>
            <bpmn:property name="comment" default="Edited template param"/>
             <bpmn:property name="minor" default="1"/>
             <bpmn:property name="minor" default="1"/>
             <!-- Output properties -->
             <!-- Output properties -->

Aktuelle Version vom 5. Februar 2024, 15:58 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 Beschreibung Typ
title 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 Benutzer der in die Revisionsgeschichte geschrieben wird user
template-index 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="comment" default="Edited template 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.