12.2. Using User Tasks in Processes

JBoss BPM Suite supports the use of human tasks inside processes using a special User Task node defined by the BPMN2 Specification. A User Task node represents an atomic task that is executed by a human actor.
Although JBoss BPM Suite has a special user task node for including human tasks inside a process, human tasks are considered the same as any other kind of external service that is invoked and are therefore implemented as a domain-specific service.
You can edit the values of User Tasks variables in the Properties view of JBoss Developer Studio after selecting the User Task node.
A User Task node contains the following core properties:
  • Actors: The actors that are responsible for executing the human task. A list of actor id's can be specified using a comma (',') as separator.
  • Group: The group id that is responsible for executing the human task. A list of group id's can be specified using a comma (',') as separator.
  • Name: The display name of the node.
  • TaskName: The name of the human task. This name is used to link the task to a Form. It also represent the internal name of the Task that can be used for other purposes.
  • DataInputSet: all the input variables that the task will receive to work on. Usually you will be interested in copying variables from the scope of the process to the scope of the task.
  • DataOutputSet: all the output variables that will be generated by the execution of the task. Here you specify all the name of the variables in the context of the task that you are interested to copy to the context of the process.
  • Assignments: here you specify which process variable will be linked to each Data Input and Data Output mapping.
A User Task node contains the following extra properties:
  • Comment: A comment associated with the human task. Here you can use expressions.
  • Content: The data associated with this task.
  • Priority: An integer indicating the priority of the human task.
  • Skippable: Specifies whether the human task can be skipped, that is, whether the actor may decide not to execute the task.
  • On entry and on exit actions: Action scripts that are executed upon entry and exit of this node, respectively.
Apart from the above mentioned core and extra properties of user tasks, there are some additional generic user properties that are not exposed through the user interface. These properties are:
  • ActorId: The performer of the task to whom the task is assigned.
  • GroupId: The group to which the task performer belongs.
  • TaskStakeholderId : The person who is responsible for the progress and the outcome of a task.
  • BusinessAdministratorId: The default business administrator who performs the role of the task stakeholder at task definition level.
  • BusinessAdministratorGroupId : The group to which the administrator belongs.
  • ExcludedOwnerId: Anybody who has been excluded to perform the task and become an actual or potential owner.
  • RecipientId: A person who is the recipient of notifications related to the task. A notification may have more than one recipients.
To override the default values of these generic user properties, you must define a data input with the name of the property, and then set the desired value in the assignment section.