11 Working with Human Tasks

This chapter describes how the business catalog displays and handles human tasks. It also describes how to update a user task using the update task.

This chapter includes the following sections:

For detailed information on how to create, edit, and configure human tasks, see Designing Human Tasks in Oracle BPM.

11.1 Introduction to Human Tasks in BPM

Human Tasks are interactive steps performed by the end user and are used to implement user tasks. Human Tasks contain a payload (data associated to the Human Task), forms, and policies to define escalation, notifications and reminders.

The implementation of user tasks requires you to define a Human Task. You can use an existing Human Task or define a new one.

If your project contains Human Tasks, then they automatically appear in the business catalog under the HumanTasks predefined module.

You can add new Human tasks to your project in the following ways:

  • Using the simplified interface Oracle BPM Studio provides

  • From the SOA New Gallery

  • From the SOA Composite Editor

When you double click a Human Task component in the business catalog, Oracle BPM Studio opens the SOA Human Task editor. You can edit the Human Task using this editor.

Figure 11-1 shows a Human Task component in the Sales Quote example.

Figure 11-1 Human Task components in the Business Catalog

Description of Figure 11-1 follows
Description of "Figure 11-1 Human Task components in the Business Catalog"

You can define the participants in a Human Task using swimlanes in the BPMN process or dynamically by evaluation and expression based on process data. The workflow pattern used for the human tasks defines the number of participants. For more information about workflow patterns, see Using Human Task Patterns in Oracle BPM.

At run time, when a token arrives at a user task control is passed from the BPMN process to the Oracle Human Workflow. Although both are part of Oracle BPM run time, control is not passed back to the BPMN process until the Human Tasks is completed.

After the workflow is complete, control is passed back the BPMN process, any required data objects are passed back to the user task, and the token moves to the next sequence flow of the process.

However human tasks are independent from BPMN processes. If you terminate a BPMN process while it runs a user task, the associated human tasks keeps running independently. For more information see Understanding the Relationship Between SOA Composites and SOA Components.

If the process instance leaves the user task before the human tasks is completed, the human task continues running and can you can still access it. This is because human tasks are independent from the BPMN process. Any changes you make to a human task after the process instance left the corresponding user task, do not appear in the audit trail.


When you define a human task in BPM the callback is implicitly defined.

11.2 Using Human Task Patterns in Oracle BPM

Human task patterns allow you to use a predefined flow to create the Human Task. These predefined patterns contain standard process flows that are common to all business processes.

Oracle BPM supports the following Human Tasks patterns:

  • Complex: combines different routing patterns, each pattern represents a different stage.

  • FYI: notifies the participants, the process does not wait for this task to complete before running the following tasks in the process flow.

  • Group

  • Initiator: the process starts when the end user fills in a form.

  • Management: assignees perform the work in a serial sequence based on a management chain.

  • User: a single assignee performs the work.

  • Parallel: assignees perform work in parallel.

  • Manual: these are tasks performed by humans that are not managed by the BPM runtime.

You can add a Human Tasks that uses patterns by selecting the specific user task in the Interactive Activities section in the Component Palette, or you can add a generic user task and when you create the Human Task select the pattern you want to use.

For more information about Human Task patterns, see Using Approval Management.

11.3 Updating User Tasks Using Update Tasks

Update tasks enable you to update certain properties of specific user tasks in your process. You can choose to update a specific user task, all user tasks or to dynamically generate the ID of the user task to update using an expression. Update tasks do not require you to specify the taskId or the context.

You can use user tasks to perform the update operations based on the status of your process or the different paths the process instance takes. Update tasks enable you to model the updating sequence in your business process making the process flow easier to understand.

You can only update active user tasks. If the user task is completed or did not start yet, then you cannot update it using the update task.

11.3.1 Update Task Operations

Update tasks enable you to change the value of some of the properties of the human task used to implement the user task. For a description of the properties involved in the different operations, see Creating a Human Task from Oracle BPM Studio.

Update tasks support the following operations:

  • Update Outcome: updates the outcome of the human task used to implement the specified user task. You must specify the new outcome using an expression. You can choose to write the expression using literals, simple expressions or XPath expressions.

  • Update Priority: updates the priority of the human task used to implement the specified user task. You must specify the new priority using an expression. You can choose to write the expression using literals, simple expressions or XPath expressions.

  • Withdraw: withdraws the task from the task list shown to other assignees.

  • Suspend: suspends the task.

  • Resume: resumes the task.

  • Escalate: escalates the task using the escalation hierarchy or escalation callbacks specified in the human task that implements the specified user task.

  • Reassign: reassigns the human task used to implement the specified user task, to a new user. You must specify the new user using an expression. You can choose to write the expression using literals, simple expressions or XPath expressions

  • Suspend Timers: suspends the timers that are running over the human tasks that implements the specified user task. Suspending the timers results in the suspension of the expiration policies defined for the human task.

11.3.2 How to Update a User Task Using Update Tasks

You can update different parameters of user tasks from your business process using an update task.

To update user tasks using update tasks:

  1. Open the business process that contains the user task.
  2. Add an update task.
  3. Configure the update task.

11.3.3 How to Configure Update Tasks

You can configure an update task to perform different operations over the user tasks you specify.

To configure an update task:

  1. Right-click the update task.
  2. Select Properties.
  3. Click the Implementation tab.
  4. From the target list select how to specify the target user task.

    The available options are:

    • Select a specific user task: The user tasks in your process appear in this list, you can select any of them and update it using this update task.

    • All User Tasks: This option enables you to update all the user tasks in the process.

    • Task Id: This option enables you to specify a task Id that identifies the user task, using an expression. When you select this option the Task Id field appears.

  5. From the Operation list, select an operation.

    For more information about the available operations, see Update Task Operations.