For the complete documentation index, see llms.txt. This page is also available as Markdown.

Voting Sub-Process instructions

The Voting Sub-Process is not a standalone workflow and you use it as part of a parent workflow. The configuration of this out-of-the-box workflow is different from the rest because you define how the sub-process works through the parent workflow.

The voting process collects approval and rejection votes from a predefined list of users. Each of the users defined in voterUserExpression is assigned a voting task that expires after the voteTimeoutDuration limit. The outcome stored in the votingSuccess variable depends on whether the approval votes meet the required votePercentage threshold. This is as a percentage of the total number of voters. If earlyComplete is enabled, voting stops as soon as the result becomes mathematically certain. Otherwise the voting continues until everybody voted or the voting tasks expire.

Voting Sub-Process start form variables

The following process variables are available for the Voting Sub-Process:

Id
Name
Type
Default
Required
Readable
Writable

decisionInfo

Decision Info

string

true

true

true

voterUserExpression

The user expression resulting to users required to vote

string

true

true

true

votePercentage

The percentage of voters that are needed to approve (%)

long

50

true

true

true

voteWarningTimeDuration

Time duration before a warning mail is send to vote

string

B3D

true

true

true

voteTimeoutDuration

Time duration before the voting is stopped and the process continued

string

B5D

true

true

true

addComments

Add voting comments to resource

boolean

false

true

true

true

addCommentsToParent

Provide the id if you want comments to be added to a parent comment

string

false

true

true

earlyComplete

Stop voting if votingPercentage is impossible to reach

boolean

false

true

true

true

voteTaskName

The name of the actual voting task

string

true

true

true

sendActionEmail

Send a mail to the users allowing completing the vote by sending a email

boolean

false

false

true

true

resultTemplate

Email template for sending voting result

string

result

false

true

true

reminderTemplate

Email template for sending voting reminder

string

reminder

false

true

true

names

Email Template Names

string

resultTemplate,reminderTemplate

true

false

true

defaults

Defaults

string

result,reminder

true

false

true

Most of the process variables are required. You must provide a value for all required variables when calling the Voting Sub-Process from the parent workflow because the workflow cannot use the defaults, except for names and defaults, which you can configure on the workflow definition page in Collibra.

Call the Voting Sub-Process workflow

To use the Voting Sub-Process, edit the parent workflow with the Workflow Designer and add a Call activity to your diagram where you would like the voting to happen. Edit the properties of the call activity to set the values of the required process variables:

  • In the Process reference field, link to the Voting Sub-Process.

    The out-of-the-box key of the Voting Sub-Process is votingSubProcess.

  • Create nine new In variable mappings that have each one of the required process variables as Target variables.

  • Provide a value for the variables:

    • Use parent workflow variables in the Source variable field.

    • Use expressions in the Source Expression field.

      Expressions are always written as ${ }.

Although the Voting Sub-Process is restricted to assets, you can use it in a parent workflow that has other or no restrictions. Voters can only add comments when the parent workflow refers to a community, domain or asset, but the voting can work without comments even as part of a global workflow.

Voting Sub-Process results

The main output of the Voting Sub-Process is the boolean process variable, votingSuccess. In the Variable mapping section of the call activity, add a new Out mapping, where the Source variable is votingSuccess and the Target variable is a process variable of the parent workflow. You can then use the value of that variable to route the parent workflow based on the outcome of the voting.

You can map any additional process variables of the Voting Sub-Process to an output variable such as:

  • votingResult: a list of arrays containing the names the approval statuses and the comments of the participants.

  • voters: a list of the names of all the voters.

Last updated

Was this helpful?