Script action
Definition
This step is used to define a custom script that will be executedÂ
Steps Tabs
Task details
All the process types have the same Task details for the Custom step:
- Script: allows you to define a Script this step allows you to add a script to be executed.
Example
comments = executionContext.getToken().getComments();
selector = executionContext.getVariable("userSelector");
if (selector == null || selector.equals("")) {
return ("The userName is mandatory");
}
user = serviceLocator.getUserService().findUserByUserName(selector);
if (user != null) {
subject = "Soffid - Notification";
message = "Automated mail sent ..............";
if (comments != null && !comments.isEmpty()) {
for (comment : comments) {
message += comment.message;
}
}
serviceLocator.getUserService().sendHtmlMailToActors(new String[]{user.userName}, subject, message);
}
Incoming transitions
The Incoming transitions tab displays the previous steps where the flow comes from. When you create a process from a template or from scratch default incoming transitions are defined. It is allowed to customize the default setup, add new transitions, or delete transitions.
- From: the previous step, where the flow comes. Allows you to select where the workflow comes from.
- Incoming transition: brief name to identify the transition. That is the name of the action the form will show to the final user.
- To: current step.
- Action: allows creating a custom script to perform specific actions.
Example
Scroll through the list of roles and the list of grant hierarchies to execute some actions.
userName = executionContext.getVariable("userName");
roleList = serviceLocator.getApplicationService().findRolesByUserName(userName);
for (role:roleList) {
//TO-DO
}
user = serviceLocator.getUserService().findUserByUserName(userName);
roleGrantList = serviceLocator.getApplicationService().findRoleGrantHierarchyByUser(user.id);
for (roleGrant:roleGrantList) {
//TO-DO
}
Outgoing transitions
The Outcoming transition tab displays the next steps where the flow can go from the current step. When you create a process from a template or from scratch default outcoming transitions are defined. It is allowed to customize the default setup, add new transitions, or delete transitions.
- From: current step.
- Incoming transition: name of the transition.
- To: the next step, where the flow goes.
- Action: allows creating a custom script to perform specific actions.
When you create an outcoming transition, Soffid creates the proper incoming transition.
Example
Delete additional attribute
userName = executionContext.getVariable("userName");
attribute = serviceLocator.getUserService().findDataByUserAndCode(userName, "country");
if (attribute != null) {
serviceLocator.getAdditionalDataService().delete(attribute);
}