12 Working with Human Tasks

Use human tasks to define how end users interact with your process-based application. Learn how to create and edit human tasks using Oracle Business Process Composer.

12.1 Introduction to Human Tasks

Human tasks are a component of Oracle Human Workflow. Oracle Human Workflow is a component of the Oracle Service-Oriented Architecture (Oracle SOA) and Oracle Business Process Management (Oracle BPM) Suites that provides a runtime environment for managing user interaction with a process-based application. Human tasks define the user interaction, including the user interface and workflow.

Using Oracle Business Process Composer you can create new human tasks and configure its basic properties. However, for more advanced configuration of human tasks, you must use Oracle BPM Studio.

For more information about configuring human tasks using Oracle BPM Studio, see "Getting Started with Human Workflow" in Developing Business Processes with Oracle Business Process Management Studio.

Human tasks are defined as services within a BPM project and are stored in the business catalog.

Human tasks define the following:

  • Participants: Specifies the users or groups of users that perform the work of the human task.

  • Approval patterns: Specifies the order the work that is performed by the human task.

  • Access privileges: Determines who has access to a task.

  • Payload: Defines the data structures used by the human task.

    The payload data is passed from the user task of a Business Process Model and Notation (BPMN) process to the human task.

  • Expiration: Defines the duration of a human task.

  • Presentation: Defines the user interface participants who are used to interact with a BPMN process. Presentations are defined by a form.

    Oracle BPM supports two types of forms: web forms and Oracle Application Development Framework (ADF) task forms.

    For more information about creating and using web forms using Oracle Business Process Composer, see Working with Web Forms. For more information about creating ADF task forms using Oracle BPM Studio, see "Getting Started with Human Workflow" in Developing Business Processes with Oracle Business Process Management Studio.

12.1.1 Introduction to Participant and Routing Types

Human tasks allow you to determine the order in which users perform different tasks within your application. This order is defined by the routing of the human task. Participants are the users or groups that are responsible for performing each task. You can use the routing slip section of the human task editor to specify the routing flow and participant for a human task.

12.1.1.1 Participant Types

Human tasks support the following patterns for common routing scenarios:

  • Single approver

    This is the simple case where a participant maps to a user, group, or role. See Introduction to Participant Assignment for more information.

    For example, a vacation request is assigned to a manager. The manager must act on the request task three days before the vacation starts. If the manager formally approves or rejects the request, the employee is notified with the decision. If the manager does not act on the task, the request is treated as rejected. Notification actions that are similar to the formal rejection are taken.

  • Parallel

    This participant indicates that a set of people must work in parallel. This pattern is commonly used for voting.

    For example, multiple users in a hiring situation must vote, to hire or reject an applicant. You specify the voting percentage that is required for the outcome to take effect, such as a majority vote or a unanimous vote.

  • FYI

    This participant also maps to a single user, group, or role, just as a single approver. However, this pattern indicates that the participant just receives a notification task and the business process does not wait for the participant's response. FYI participants cannot directly impact the outcome of a task, but in some cases can provide comments or add attachments.

    For example, a regional sales office is notified that a candidate for employment has been approved for hire by the regional manager and their candidacy is being passed onto the state wide manager for approval or rejection.

  • Serial

    This participant indicates that a set of users must work in sequence. While working in sequence can be specified in the routing policy by using multiple participants in sequence, this pattern is useful when the set of people is dynamic. The most common scenario for this is management chain escalation, which is done by specifying that the list is based on a management chain within the specification of this pattern.

When you create a human task, it contains a default simple participant. You can use the human task editor to change the participant type or add additional participants. See How to Change the Default Participant for more information.

12.1.1.2 Routing Types

Figure 12-1 shows a basic routing that contains only one participant.

Figure 12-1 Basic Routing with a Single Participant

Description of Figure 12-1 follows
Description of "Figure 12-1 Basic Routing with a Single Participant"

In addition to participant types, human tasks support more complex types of routing that give you more control. These routing types are:

  • Sequential

    In sequential routing different participants act on a task sequentially. Figure 12-2 shows an example of sequential routing. In this example, Participant_1 is the first participant in the routing flow. After Participant_1 finishes acting on a task, the task is passed to Particpant_2. After Participant_2 finishes acting on the task, the human task is completed.

    Figure 12-2 Example of Sequential Task Routing

    Description of Figure 12-2 follows
    Description of "Figure 12-2 Example of Sequential Task Routing"
  • Parallel

    In parallel routing, participants act on a task simultaneously. Figure 12-3 shows an example of parallel routing. In this example, both Participant_1 and Participant_2 act on the task at the same time.

    Parallel routing allows you to define an outcome for the routing that determines how the task flow continues to the next participant after the parallel block. See Outcome for more information.

    Figure 12-3 Example of Parallel Task Routing

    Description of Figure 12-3 follows
    Description of "Figure 12-3 Example of Parallel Task Routing"
12.1.1.3 Outcome

Outcome specifies possible outcome arguments of the Human Task. Oracle BPM Worklist and Process Workspace display the possible outcomes you select as the available tasks to perform at runtime.

You can specify a voted-upon outcome that overrides the default outcomes selected in the Default Outcomes list. This outcome takes effect if the required percentage is reached. Outcomes are evaluated in a specific order.

You can define the following outcomes for a human task:

  • Defer

  • Yes

  • Approve

  • Accept

  • Reject

  • No

For more information about configuring the outcome for a human task, see How to Configure Basic Task Properties. For more information about configuring outcomes in a parallel routing, see How to Configure the Outcome for Parallel Routing.

You can also define custom outcomes using Oracle BPM Studio. For more information about how to define custom outcomes, see in Designing Human Tasks in Oracle BPM in Developing Business Processes with Oracle Business Process Management Studio.

12.1.2 Introduction to Participant Assignment

Participant assignment is the process of mapping human task participants to the people in your organization that use your application. This is done by mapping each participant to one of the following:

  • Users

    You can assign individual users to act upon tasks. For example, you may assign users jlondon or jstein to a particular task. Users are defined in an identity store configured with the SOA Infrastructure. These users can be in the embedded LDAP of Oracle WebLogic Server, Oracle Internet Directory, or a third-party LDAP directory.

    As with users, groups are defined in the identity store of the SOA Infrastructure.

  • Groups

    You can assign groups to act upon tasks. Groups contain individual users who can claim and act upon a task. For example, users jcooper and fkafka may be members of the group LoanAgentGroup that you assign to act upon the task.

  • Application Roles

    You can assign users who are members of application roles to claim and act upon tasks.

See How to Assign Users_ Groups_ and Roles to a Participant for procedures on assigning users, groups, or roles to a human task participant.

12.1.3 Introduction to Duration

Duration defines how long a human task can remain idle before some other action is performed. Duration can be defined globally for the human task or for each human task participant.

See How to Configure the Deadline (Duration) for a Human Task for information on defining duration globally for a human task.

12.2 Introduction to the Human Task Editor

Oracle Business Process Composer provides a human task editor that enables you to create and edit human tasks.

The human task editor consists of a tabbed pane as shown in Figure 12-4.

The human task editor contains the following tabs:

12.3 Working with Human Tasks

Oracle Business Process Composer enables you to create new human tasks directly from the Project Welcome Page. Human tasks are defined as services and stored in the business catalog of a BPM project.

The following sections describe how to create, configure, and edit human tasks.

12.3.1 Walkthrough: Creating and Configuring a Human Task

The following procedures describe the general steps required to create and configure a human task.

  1. Create a new human task.

    You can create a new human task directly from the Project Welcome page. See How to Create New Human Task for more information.

  2. Open the human task.

    See How to Open a Human Task for more information.

  3. Configure the basic properties and deadline for the human task.
  4. Define the payload data for a human task.
  5. Assign a form to the human task.
  6. Assign the human task to a user task.

12.3.2 How to Create New Human Task

To create a new human task:

  1. Open the project where you want to create a new human task.
  2. Ensure the project is in edit mode.
  3. From the Project Welcome page, select the Human Tasks tab.
  4. Click the New icon.
  5. Provide a name for the new human task, then click Create.

The new human task is displayed in the list of human tasks, as shown in Figure 12-5.

Figure 12-5 Project Welcome Page - Human Tasks

Description of Figure 12-5 follows
Description of "Figure 12-5 Project Welcome Page - Human Tasks"

12.3.3 How to Open a Human Task

You can open an existing human task for viewing or editing.

To open an existing human task:

  1. Open the project containing the human task you want to view or edit.
  2. From the Project Welcome Page, select Human Tasks, as shown in Figure 12-5.
  3. Click the name of the human task you want to open.

The human task is opened in the human task editor. See Introduction to the Human Task Editor for more information.

12.3.4 How to Configure Basic Task Properties

Use the Basic area of the Human Task editor to configure the basic properties of the human task, including the task title, task priority and outcomes.

To configure basic task properties:

  1. Open the human task.

  2. In the human task editor, select Basic.

  3. From the drop down list next to Task Title, select one of the following:

    • Plain text: Defines the task title using a text box.

      After selecting this option, enter the task title in the text box.

    • XPath: Defines the task title based on an XPath function.

    • Translation: Defines a translated version of the task title.

    The task title defines the title of the human task that is displayed in Process Workspace.

  4. From the drop down list next to Priority, select a priority for the human task.

    Valid values are between 1 (highest) and 5 (lowest). This value is displayed in Process Workspace.

  5. Define the outcome for the human task:

    1. Click the magnifying glass icon next to the Outcomes field.

    2. Select the outcomes you want to configure.

      You must select at least one outcome. See Outcome for more information.

    3. Click OK.

  6. Save the project to save your changes.

12.3.5 How to Configure the Deadline (Duration) for a Human Task

Use the task editor to define the duration for

To configure the deadline (duration) for a human task:

  1. Open the human task.
  2. In the human task editor select the Basic tab.
  3. From the drop down list under Deadlines, select one of the following:
    • Never expire: Indicates that the human task has no deadline or expiration.

    • Expire after: Indicates that the human task expires after a specified duration.

      When the option is selected, you can configure the following:

      • Fixed duration: Defines the duration of the human task.

        When this option is selected, you can define a specific number of days, hours, and minutes.

      • By expression: Allows you to use an expression to define the duration of the human task.

      • Base expiration on Business Calender: Select this option to base the duration of the human task on a business calendar.

    • Renew after: Extends that expiration date of a human task.

      When this option is selected, you can configure the following:

      • Fixed duration: Defines how long the expiration of the human task is extended.

        When this option is selected, you can define a specific number of days, hours, and minutes.

      • By expression: Allows you to use an expression to define how long the expiration of the human task is extended.

      • Maximum renewals: Defines the number of times the expiration deadline can be renewed.

      • Base expiration on Business Calender: If selected, this option bases the duration of the human task on a business calendar.

    • Escalate after: Escalates the task to a manager after the duration expires.

      When this option is selected, you can configure the following:

      • Fixed duration: Defines the duration of the human task.

        When this option is selected, you can define a specific number of days, hours, and minutes.

      • By expression: Allows you to use an expression to define the duration of the human task.

      • Maximum escalation levels: Defines the number of levels the task can escalate after expiration.

      • Highest approval title: Defines the title of the highest level in the management chain the escalation reaches.

      • Base expiration on Business Calender: If selected, this option bases the duration of the human task on a business calendar.

  4. Save the project to save your changes.

12.3.6 How to Specify the Presentation of a Human Task

The presentation of a human task defines the user interface of your application. Presentations are associated with a form which define the user interface, data structures and connectivity information for a human task. Oracle BPM supports two types of forms: web forms and ADF task forms.

For more information about creating, editing, and using forms, see Introduction to Forms in Oracle BPM.

12.3.6.1 Specifying the Presentation of a Human Task with an ADF Task Form

To specify the presentation of a human task using an ADF task form:

  1. Open the human task.
  2. Select the Basic tab.
  3. Under Presentation, select ADF Form.
  4. Enter the following connectivity information for the ADF form:
    • Hostname: Specifies the hostname of the server where the presentation is deployed.

    • HTTP Port: Specifies the port of the server where the presentation is deployed.

    • HTTPS Port: Specifies the secure port of the server where the presentation is deployed.

    • URI: Specifies the Uniform Resource Indicator of the presentation.

  5. Click OK.
12.3.6.2 Specifying the Presentation of a Human Task with a Web Form

To specify the presentation of a human task using a web form:

  1. Open the human task.
  2. Select the Basic tab.
  3. Under Presentation, select Web Form.
  4. Click the Browse button.

    The web form browser appears.

  5. Click the name of the web form you want to select.

12.3.7 How to Change the Default Participant

When you create a new human task, it contains a default simple participant. Use the human task editor to change the type of the default participant.

To change the default participant of a human task:

  1. If you are working on a shared project, ensure that you are in edit mode.
  2. Open the human task, then select Routing Slip.
  3. Click the participant, then click the Delete (X) icon as shown in Figure 12-6 to delete the participant.

    Figure 12-6 The Add and Remove Icons of a Participant

    Description of Figure 12-6 follows
    Description of "Figure 12-6 The Add and Remove Icons of a Participant"
  4. Click the routing slip box.
  5. Click the Add (+) icon, then select a participant type.

    See Introduction to Participant and Routing Types for information about each participant type.

The new participant appears in the routing slip box. See the following procedures for information about adding additional participants to a human task.

12.3.8 How to Add Participants and Routing to a Human Task

Use the human task editor to add participants or routing types to a human task.

To add participants to a human task:

  1. If you are working on a shared project, ensure that you are in edit mode.
  2. Open the human task, then select Routing Slip.
  3. Click on the routing slip block.
  4. Click the + icon, then select a participant type.

    See Introduction to Participant and Routing Types for information about each participant type.

The new participant is added to the routing slip in the far right position.

12.3.9 How to Assign Users, Groups, and Roles to a Participant

Within a human task, participants abstractly define the users who are responsible for performing the work of a human task and its work flow. You can define how the participants and routing defined in the human task are mapped to the real-world participants of your organization by configuring participant selection.

The following ways of selecting participants are available:

  • Names and expressions

  • Lane participants

  • Parametric roles

Note:

Although you can configure a human task to use parametric roles, you cannot create or configure the parametric roles using Oracle Business Process Composer. These must be created and assigned to the human task using Process Workspace or Oracle BPM Studio.

Each of these is covered in the following procedures.

12.3.9.1 Selecting Participants using Names and Expressions

To select participants using names and expressions:

  1. If you are editing a shared project, ensure that you are in edit mode.

  2. Open the human task, then select Routing Slip.

  3. Double click on the participant.

  4. In the drop down box next to Build a list of participants using: select Names and Expressions.

  5. Under Participant Names, click the Add icon, then select one of the following:

    • Add user:

    • Add group:

    • Add application role:

    After selecting one of these options, it appears in the table. You can change the value, if necessary, using the drop down list in the table.

  6. In the Data Type column, select either By name or By Expression from the drop down list.

  7. Select a value for the participant:

    1. Click the Search icon in the Value column.

    2. From the drop down list select either User, Groups, or Application Roles.

    3. Enter the name you want to search, then click Search.

      To view a list of all names, groups, or roles, leave the text field empty, then click Search.

    4. Select the check boxes next to the users, groups, or roles you want to add.

    5. Click OK.

The name appears in the Value column.

12.3.9.2 Selecting Participants using Lane Participants

To select participants using lane participants:

  1. If you are editing a shared project, ensure that you are in edit mode.
  2. Open the human task, then select Routing Slip.
  3. Double click on the participant.
  4. From the drop down box next to Build a list of participants using, select Lane Participants.
  5. Select one of the following:
    • Previous lane participants

    • Current lane participants

12.3.9.3 Selecting Participants using Parametric Roles

To select participants using parametric roles:

  1. Ensure that you have created parametric roles for the project using Oracle BPM Studio.

  2. If you are editing a shared project, ensure that you are in edit mode.

  3. Open the human task, then select Routing Slip.

  4. Double click on the participant.

  5. From the drop down box next to Build a list of participants using, select Parametric roles.

  6. In the Data Type column, select either By name or By Expression from the drop down list.

  7. Select a value for the participant:

    1. Click the Search icon in the Value column.

    2. From the drop down list select either User, Groups, or Application Roles.

    3. Enter the name you want to search, then click Search.

      To view a list of all names, groups, or roles, leave the text field empty, then click Search.

    4. Select the check boxes next to the users, groups, or roles you want to add.

    5. Click OK.

12.3.10 How to Configure the Outcome for Parallel Routing

You can configure the routing outcome for parallel blocks.

To configure the outcome for parallel routing:

  1. If you are editing a shared project, ensure that you are in edit mode.
  2. Open the human task, then select Routing Slip.
  3. In the Participants editor, double-click on one of the intersections of the parallel block.

    The Voted Outcomes editor appears as shown in Figure 12-7.

    Figure 12-7 Voted Outcomes Editor

    Description of Figure 12-7 follows
    Description of "Figure 12-7 Voted Outcomes Editor"
  4. Click the Add icon, the select one of the following outcomes:
    • Approve

    • Reject

  5. In the table, enter a value for the outcome.
  6. Select a value for Default Outcome from the drop-down list.
  7. Click OK.

12.3.11 How to Create and Configure the Data Payload for a Human Task

Using the human task editor, you can define the data types used within the human task. This data is used to store the information entered during user interaction.

To create task data for a human task:

  1. If you are editing a shared project, ensure that you are in edit mode.
  2. Open the human task.
  3. Select the Data tab.
  4. Click the Add button.
  5. Select an element or type from the list of primitives and components, as shown in Figure 12-8.

    Figure 12-8 Human Task: Data - Add Element Dialog

    Description of Figure 12-8 follows
    Description of "Figure 12-8 Human Task: Data - Add Element Dialog"

    The task data appears in Task Data table.

  6. Enter a name for the new task data in the table and select whether the new task data is editable or not.

12.4 Assigning a Human Task to a User Task

After creating a human task, it becomes part of the business catalog of a BPM project. To incorporate a human task within a BPMN process, you must assign it to a user task within the process.

To assign a human task to a user task:

  1. If you are editing a shared project, ensure that you are in edit mode.
  2. Open your business process.
  3. Add a user task to the process.
  4. Right-click on the user task, then select Implement.
  5. Click the Browse icon next to the Human Task text box.

    The human task browser appears.

  6. Click the name of the human task you want to select.

    After clicking the name, the human task appears in the human task text box.

  7. Click Apply Changes in the Implementation editor.