Introduction

This is a process tool plugin to allow one to iterate through records/assignments to execute process tool plugin. When iterating through individual record/assignment, the target process tool will be set to record/assigment context. This enables the use of hash variables under the correct context.

There are 2 plugins in this bundle to cater to different use cases.

  1. Iterator Process Tool (Record)
  2. Iterator Process Tool (Assignment)

If the records loaded are activity instances, please use the latter.

A plugin named "Database Query Process Tool" is also bundled together as utility for loading records.

Configurations

Load Records

NameDescription
Iterator Method
  • Method to load the dataset.
  • Choose to load records either by using a Process Tool or from Datalist
List
  • Choose list to retrieve dataset from.
  • This option is needed when "Iterator Method" is set to "Datalist".
Iterator Process Tool
  • Choose a process tool to retrieve the dataset from.
  • Process Tool must return collection of map as dataset.
  • You may use "Database Query Process Tool" bundled with this plugin to enter a SQL query string.
  • This option is needed when "Iterator Method" is set to "Process Tool".
Record IDSpecify which column to be used as record ID / primary key from the dataset.

Execute Process Tool

NameDescription
Process Tool
  • With the dataset loaded, the plugin will iterate through each record, and set the record or assignment as the context, and execute the process tool defined here.
  • For correct parsing of hash variable, replace # with $$ in your plugin for parsing to take place in correct context.
    • EXAMPLE - Assignment mode, use $$form.request.name$$.
    • EXAMPLE - Record mode, use $$form.request.name[@recordId@]$$.
    • EXAMPLE - Retrieve values from iterator's dataset, use {columnName}.

Advanced

NameDescription
Debug ModeTurn this mode on to print out debugging information to the server log.
Delay Between Execution
  • Introduce delay of 1 second between each record.
  • This option is useful in some use cases such as sending out email to prevent hitting the send limit per second.

Download Plugin

Please visit https://github.com/jogetoss/iterator-process-tool/releases to download the plugin.