Task Assign Repeat Action

   Journey Manager (JM) The transaction engine for the platform.  |    System Manager / DevOps  |  All versions This feature is related to all versions.

A collaboration job can have a task assign repeat action that allows you to do the following in a single step:

  • Create a form bundle, with multiple tasks assigned to the same user, from a single form.
  • Assign the Reviews and Approval workflow with multiple tasks to different users so an application can be reviewed in parallel.

The collaboration job must provide context back to the form to differentiate tasks. The context is represented with the following properties (node names):

Assignee

It's used by Parallel tasks, in a form as a read-only parameter. The repeat processing iterates over a pipe delimited list of assignees. This shows the current assignee which can be a Username, Group or Email Address (Anonymous Tasks).

The example Job Definition - Task Assign - Job Action.

{
 "name": "Parallel Tasks",
 "type": "",
 "actions": [
 {
  "name": "Create Repeat Tasks",
  "type": "Job Task Assign",
  "properties": [
   { "name": "Task Assign Repeating", "value": "true" },
   { "name": "Task Assign Repeat Item", "value": "$func.invoke('FCT-3097 Get Repeat Item', ${formDataMap.itemDelimited}, ${assignRepeatIndex})" },
   { "name": "Task Assign User",  "value": "$formDataMap.assignDelimited" },
   { "name": "Task Form Code",  "value": "fct-3097-composer" },
   { "name": "Task Message",  "value": "Please approve or reject" },
   { "name": "Task Subject",  "value": "${assignRepeatItem} Complete Credit Card Application." },
   { "name": "Task Input XML Prefill",  "value": "$func.startSubmissionXml()" },
   { "name": "Task Type",  "value": "Form" }
  ]
 },]
}

To specify users, you must apply the Task Assign User action property with a pipe delimited list of usernames, for example, Task Assign User = $formDataMap.assignDelimited. This data extract can be evaluated as "peter|paul|mary". The first task is created for peter with the Assignee as peter. The second task is created for paul with the assignee as paul, and so on.

To specify groups, you must apply the Task Assign Groups action property with a pipe delimited list of groups.

To specify anonymous users, you must apply the action or Email Address anonymous tasks that an individual item is assigned to.

AssignRepeatIndex

It's used by Parallel tasks. It's used in a form as a read-only parameter. The repeat processing creates a is the index (Starting at 1) of the task that was created. A Forms can use this to look up a repeat section and hide show values on the form. In the example above 3 tasks will be created:

  • (Assignee: peter, AssignRepeatIndex: 1)
  • (Assignee: paul, AssignRepeatIndex: 2)
  • (Assignee: mary, AssignRepeatIndex: 3)

AssignRepeatItem

It's used by Parallel tasks. It's used in a form as a read-only parameter. A repeating section in the form may be broken down by something other than a user or group. For example, a student fills out what sports they want to play: cricket, basketball or rugby

Sport Coach Season
Basketball Al All Year
Cricket John Summer
Rugby John Winter

A student Ginger Meggs wants to do Cricket, Basketball and Rugby, the issue is that the coach John is the same for Cricket and Rugby. How do we present the unique item value? It can be done in repeat form XML, as shown below.

<Sports>
  <Sport><Name>Cricket</Name><Selected>True<Selected><Coach>john</Coach></Sport>
  <Sport><Name>Basketball</Name><Selected>True<Selected><Coach>al</Coach></Sport>
  <Sport><Name>Rugby</Name><Selected>True<Selected><Coach>john</Coach></Sport>
</Sports>

The Job Task Assign properties are like this

{ "name": "Task Assign Repeating", "value": "true" },
{ "name": "Task Assign Repeat Item", "value": "$func.invoke('Get Repeat Item From Sport Name', ${assignRepeatIndex})" },
{ "name": "Task Assign User", "value": "$formDataMap.assignDelimited" },{ "name": "Task Subject",  "value": "${assignRepeatItem} application from ${assignee}" }

$formDataMap.assignDelimited = "john|al|john"

In this example 3 tasks are created:

  • (Assignee: john, AssignRepeatIndex: 1, AssignRepeatItem: Cricket) and the Task Subject will be "Cricket application by Ginger Meggs"
  • (Assignee: al, AssignRepeatIndex: 2, AssignRepeatItem: Basketball) and the Task Subject will be "Basketball application by Ginger Meggs"
  • (Assignee: john, AssignRepeatIndex: 3, AssignRepeatItem: Rugby) and the Task Subject will be "Rugby application by Ginger Meggs"

Next, learn about task assign actions.