Task node

This type of node finds application in multiple scenarios, including:

  • Executing a business rule on the process instance data
  • Initiating a subprocess
  • Transferring data from a subprocess to the parent process
  • Transmitting data to frontend applications

Configuring task nodes

One or more actions can be configured on a task node. The actions are executed in the configured order.

Node configuration is done by accessing the Node Config tab. You have the following configuration options for a task node:

General Config

  • Node name - the name of the node
  • Can go back - switching this option to true will allow users to return to this step after completing it

When encountering a step with canGoBack switched to false, all steps found behind it will become unavailable.

  • Swimlane - choose a swimlane (if there are multiple swimlanes on the process) to make sure only certain user roles have access only for certain process nodes- if there are no multiple swimlanes, the value is Default
  • Stage - assign a stage to the node

Response Timeout

  • Response timeout - can be triggered if, for example, a topic that you define and add in the Data stream topics tab does not respect the pattern, the format used for this is ISO 8601 duration format(for example, a delay of 30s will be set up like PT30S)

Data stream topics

  • Topic Name - the topic name where the process engine listens for the response (this should be added to the platform and match the topic naming rule for the engine to listen to it) - available for UPDATES topics (Kafka receive events)

A naming pattern must be defined on the process engine configuration to use the defined topics. It is important to know that all the events that start with a configured pattern will be consumed by the Engine. For example, KAFKA_TOPIC_PATTERN is the topic name pattern where the Engine listens for incoming Kafka events.

  • Key Name - will hold the result received from the external system, if the key already exists in the process values, it will be overwritten

Task Management

  • Update task management - force Task Manager Plugin to update information about this process after this node

Configuring task nodes actions

Multiple options are available when configuring an action on a task node. To configure and add an action to a node, use the Actions tab at the node level, which has the following configuration options:

Action Edit

Depending on the type of the action, different properties are available, let’s take a business rule as an example.

  1. Name - used internally to differentiate between different actions on nodes in the process. We recommend defining an action naming standard to be able to quickly find the process actions.
  2. Order - if multiple actions are defined on the same node, their running order should be set using this option
  3. Timer Expression - can be used if a delay is required on that action. The format used for this is ISO 8601 duration format (for example, a delay of 30s will be set up like PT30S)
  4. Action type - defines the appropriate action type
  5. Trigger type - (options are Automatic/Manual) - choose if this action should be triggered automatically (when the process flow reaches this step) or manually (triggered by the user); In most use cases, this will be set to automatic.
  6. Required type - (options are Mandatory/Optional) - automatic actions can only be defined as mandatory. Manual actions can be defined as mandatory or optional.
  7. Repeatable - should be checked if the action can be triggered multiple times

Parameters

Depending on the type of the action, different properties are available. We refer to a Business rule as an example

  1. Business Rules - business rules can be attached to a node by using actions with action rules on them, these can be specified using DMN rules, MVEL expressions, or scripts written in Javascript, Python, or Groovy.

Supported scripting languages

Business Rule action

A business rule is a Task action that allows a script to run. For now, the following script languages are supported:

  • MVEL
  • JavaScript (Nashorn)
  • Python (Jython)
  • Groovy
  • DMN - more details about a DMN business rule configuration can be found here

For more details on how to configure a Business Rule action, check the following section:

Business rule action