Custom
Definition
This step is used to define a custom script that will be executed
Steps Tabs
Task details
All the process type have the same Task details for the Custom step:
- Script: allows you to define a Script this step allows 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 tabs show 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 set up, add new transitions or delete transitions.
- From: the previous step, where the flow come. 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 hierarchy to execute some actions.
userName = executionContext.getVariable("userName");
roleList = serviceLocator.getApplicationService().findRolesByUserName(userName);
for (role:roleList) {
//TODO
}
user = serviceLocator.getUserService().findUserByUserName(userName);
roleGrantList = serviceLocator.getApplicationService().findRoleGrantHierarchyByUser(user.id);
for (roleGrant:roleGrantList) {
//TODO
}
Outgoin transitions
The Outcoming transition tab shows 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 set up, add new transitions or delete transitions.
- From: current step.
- Incoming transition: name of the transition.
- To: the next step, where the flow go.
- Action: allows creating a custom script to perform specific actions.
When you create an outcoming transition, Soffid creates the proper incoming transition.
Example
Delete adtional attribute
userName = executionContext.getVariable("userName");
attribute = serviceLocator.getUserService().findDataByUserAndCode(userName, "country");
if (attribute != null) {
serviceLocator.getAdditionalDataService().delete(attribute);
}