Workflow Commands

Print Friendly, PDF & Email

◷ Reading Time: 5 minutes

Workflow

The main workflow definition that has some workflow specific nodes as well as flow nodes.

Summary

Parameters

  1. name
    1. Description: Name of the workflow
    2. Mandatory: Yes
    3. Type: String
  2. version
    1. Description: The version number of the workflow
    2. Mandatory: Yes
    3. Type: String (Version format: a.b.c.d., in which a,b,c, and d are numbers)

Example

 <Workflow name="process1" version="1.0.0.0">
  <Declaration>
…
  </Declaration>
 
  <Nodes>
    <Start name="start">
      <Transition name="tr0" to="pause"/>
    </Start> 

ListenerSplit

Signal listener node that allows the workflow to receive external event flow nodes.

Summary

This node is very similar to SplitNode and transitions the execution to multiple branches.

The big difference is that the branches in workflow type must be a ScopeNode that is directly connected to a ListenerJoinNode. Each of the scope’s branches must start with a ReceiverNode that is waiting for a signal.

Parameters

  1. name:
    1. Description: Name of the node
    2. Mandatory: Yes
    3. Type: String

Example

 <Workflow name="sample">
  <Nodes>
    <Start name="Start1">
      <Transition name="Transition1" to="ListenerSplit1" />
    </Start>
    <End name="End1" />
    <ListenerSplit name="ListenerSplit1">
      <Transition name="toApprover" to="Scope1" />
      <Transition name="toRejector" to="Scope2" />
    </ListenerSplit>
    <ListenerJoin name="ListenerJoin1">
      <Transition name="Transition6" to="End1" />
    </ListenerJoin>
    <Scope name="Scope1" initialNode="task1" finalNode="SampleActivity1">
      <Nodes>
        <Task name="task1" title="approve" displayName="Approve document">
          <Transition name="Transition8" to="SampleActivity1" />
        </Task>
        <Activity name="SampleActivity1" />
      </Nodes>
      <Transition name="Transition5" to="ListenerJoin1" />
    </Scope>
    <Scope name="Scope2" initialNode="task2" finalNode="SampleActivity2">
      <Nodes>
        <Task name="task2" title="reject" displayName="Reject document">
          <Transition name="Transition9" to="SampleActivity2" />
        </Task>
        <Activity name="SampleActivity2" />
      </Nodes>
      <Transition name="Transition4" to="ListenerJoin1" />
    </Scope>
  </Nodes>
</Workflow> 

ListenerJoin

Synchronization point of ListenerSplit that allows different external signals to come to a conclusion.

Summary

This command is similar to JoinNode. It synchronizes the execution of multiple ScopeNodes attached to a ListenerSplitNode.

Parameters

  1. name
    1. Description: Name of the node
    2. Mandatory: Yes
    3. Type: String

Example

 <ListenerJoin name="split0" type="All">
      <Transition name="tr2" to="decision1"  />
</ListenerJoin> 

Action

The external event defined as an action that allows the outside world to send named-signals to workflow in order to process a task.

Summary

This node is a type of ReceiverNode that sets the process state into a Waiting mode. This means the process execution will be returned back to the host application and the process will be ready to receive a signal.

Parameters

  1. name
    1. Description: Name of the node
    2. Mandatory: Yes
    3. Type: String
  2. displayName
    1. Description: displays the name of the action that may be displayed on the client
    2. Mandatory: No
    3. Type: String
  3. namespace
    1. Description: a name or url that categorized the action
    2. Mandatory: Yes
    3. Type: String
  4. title
    1. Description: title of the action
    2. Mandatory: Yes
    3. Type: String

Example

<Action name="action1" title="Accept" namespace="http://helpdek/CaseHAndling" displayName="Accept Task">
</Action> 

Timeout

Manages a timeout action in a workflow. When it expires, the workflow automatically executes the defined path of execution.

Summary

his node is another type of ReceiverNode that sets the process state into Waiting mode. When the amount of time that is set as a timeout is passed, the Scope of this receiver will be activated. Please note that this node must be the first node in a Scope

Parameters

  1. name
    1. Description: Name of the node
    2. Mandatory: Yes
    3. Type: String
  2. displayName
    1. Description: display name of the action that may be displayed on the client
    2. Mandatory: No
    3. Type: String
  3. namespace
    1. Description: a name or url that categorized the action
    2. Mandatory: Yes
    3. Type: String
  4. title
    1. Description: title of the action
    2. Mandatory: Yes
    3. Type: String
  5. timeout
    1. Description: the amount of time
    2. Mandatory: Yes
    3. Type: TimeSpan (D.HH:MM:SS)

Example

 <Action name="timeout2" title="TimeoutEmail" namespace="http://helpdek/CaseHandling" displayName="Timeout for email" timeout="00:10:00">
</Action> 

Updated on July 31, 2019

Was this article helpful?

Related Articles