Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

User substitution involves defining a substitute for a particular user for a given time window. This is particularly useful in BPMN user tasks when the original task assignee becomes unavailable, for instance, goes on vacation. In this case, all the tasks assigned to this user will get delayed until the particular assignee is available again and nobody else will be able to work on these tasks either. To avoid this kind of unnecessary processing delay, you can use the user substitution feature. This means that when a user is not available for a certain period of time, all tasks assigned to that user will be assigned to the defined substitute instead. 

How it works

  • Users are allowed to define a substitute for themselves within the time period that they are going to be unavailable. 
  • Once this specified period (substitution period) starts, all the existing tasks of the user are transferred to the substitute (i.e.,bulk reassignment). 
  • From this point onwards, any tasks that are going to be assigned to the user will be assigned to the substitute user instead.

...

  •  
  • The substitute user will also be added as a candidate user to all the existing tasks for which the

...

  • orginal assignee is

...

  • a candidate user.

If the given substitute is also not available (i.e., the substitute also goes on vacation), you can enable transitivity. Enabling transitivity allows the engine to try and find a transitive substitute by going through available substitution records. In this way, the engine uses the best available user as the substitute. However, if the system could not find a proper substitute (i.e., there is a cyclic dependency between substitutions), it will return an error, rejecting the substitution request. This rejection is possible only for the substitutions that start just after the substitute request. For a scheduled substitution, if the engine ends up without a proper substitute, the tasks of the user will be assigned to the ‘task owner’. If the task owner is not defined, the assignee will be removed from the tasks and it will be claimable.

...