Studio Developer Manual / Version 2107
Table Of ContentsThe following section describes the ways to customize the workflow validation in Studio Client
Validating custom workflow variables
If you want to validate a custom field, introduced by the mechanism described in Section 7.23.1.2, “Adding Workflow Fields”
its key
and value
can be accessed in the WorkflowValidationParameterModel#getAdditionalParameters
.
As the remote validation of a workflow could be potentially expensive (for example, when a lot of content is part of the
workflow) you need to manually
trigger a workflow validation from your IAdditionalWorkflowField, by calling the passed
remoteValidationTrigger
. Be careful, not to trigger
a remote validation too often, as this could lead to performance issues.
If you have the possibility to perform a validation in the client you can use the localValidationTrigger
,
which is a function that needs to be called with a WorkflowSetIssues
object, that should hold the Issues
resulting from your validation.
If you return an Issue with the Severity ERROR
, continuing the workflow will not be possible until the issue is solved.
Note
If you want to use the remoteValidationTrigger
, or localValidationTrigger
, make sure only
to call if after the afterWorkflowFieldInitialized
has been called!
In order to display the new issues from your new workflow validator correctly you can use the AdditionalWorkflowIssuesPlugin were you can give each issue a priority and define a component in the workflow window that should react to the validation state of the issue (this is not possible for additional workflow fields). The issue with the highest priority will appear within the NagBar, the rest of the issues will appear within the issues and warnings window
In order to localize new issues you need to provide a localization for the ResourceBundle ContentSetErrors
with the following pattern: workflow_contentSetIssue_{issueCode}_{multiplicity}_text
.
The multiplicity
needs to be sg
or pl
.
Use pl
if your issue has more than one argument and therefore needs another localization.
Custom icon for your tasks
If you want to mark a task with a special icon in your process list, you can use the CustomProcessIconPlugin.