Journey Manager (JM) The transaction engine for the platform. | System Manager / DevOps | All versions This feature is related to all versions.
A collaboration job consists of a number of steps and actions. Each action executes an instance of an action service or a job function. There are a number of predefined actions that you can use. You can also create GroovyGroovy is a powerful scripting language which runs on the Java Virtual Machine. Across theTemenos Journey Manager platform, Groovy is used to create services in Manager. These services are primarily used to create plug-in style systems that interact with Manager. actions and expiry services to implement customer requirements. You can view all actions associated with the collaboration job. A Action can have one or more action properties.
An action can be assigned to a different user. However, more often a single user is assigned to work on several actions. To achieve a seamless transition between the actions, the "redirectNext": true
property is used to show next action to the same user upon the completion of the previous action.
An action can be anonymous. In this case, you should set the "name": "Task Type", "value": "Anonymous"
property.
Manager allows you to use various actions, such as a simple, auto retry, or wait actions, that are processed differently.
A job controller processes a simple action as described below:
An action service completes an action and sets the its status as Completed. Then, a job controller proceeds to the next action or a step.
An action service may stop processing an action, depending on errors:
An action service can implement polling or looping logic to check if a certain event has occurred, for example, whether a receipt has been generated. If the event has occurred, the service sets the action status as Completed and the job controller proceeds to the next action or step. If the event has not occurred, the service sets the action status as In Progress.
You can configure an action to expire by setting an expiry time, so the action status will be set as Expired. You can also configure a step to expire.
An action with the Error or In Progress statuses can implement the retry (looping) behavior, when it is retried each time a job controller service runs. By default, the job controller service tries to retry an action after a five minute delay, but you can change it by updating the actionRetryDelayMins
service parameter. To illustrate it with an example, let's assume your action calls a web service. If the web service is down for a couple of minutes, the action instance status will be set as Error and the next time the action will be run is set as the current time plus 5 minutes. The next time your action is executed, the web service is running, so the action completes and its status is set as Completed. This concludes the life cycle of your action.
You can always write a custom job action in Groovy script to specify the next time it runs.
A wait action implements a callback to handle asynchronous events, such as a user completing a task. A Job Task Wait Action service is paired with a single step having one or more Job Task Assign Action. The Job Task Assign Action creates a task and assigns it to a user or a group. The user completes the task by submitting it, which could be within hours, days or even weeks after the task was assigned. The submission triggers a callback, which enables the collaboration job to complete.
The examples below show how to use different actions within various steps.
The state changes associated with the actions in a task step are illustrated in the diagram below.
The Job Task Wait Action service can wait on more than one Job Task Assign action services to complete. The diagram below shows a step with three assigned tasks that run in parallel. This can be created using the same form assigned to different users or groups.
Form bundles can create multiple Task Assign action instances that are assigned back to the original submitter.
Actions can assign a group to a collaboration job. The example below shows how to assign the Job Reviewers group to a collaboration job.
"actions": [
{
"name": "Create Task",
"type": "Job Task Assign",
"properties": [
...
{ "name": "Task Assign Group", "value": "Job Reviewers" },
...
]
}
]
Next, learn how to view collaboration job steps.