11
Working with Human Tasks

This chapter describes how to create and edit human tasks using Oracle Business Process Composer.

This chapter includes the following sections:

11.1 Understanding Human Tasks

Human Workflow is a component of the Oracle SOA and BPM suites that allow you to define how users interact with your business applications. Human Workflow also provides a runtime environment for managing this interaction.

Human tasks are the specific component of Oracle Human Workflow that allows you to define the user interaction of your application. Oracle Business Process Composer enables you to create and edit human tasks.

Note:

Not all properties of human tasks can be created or edited using Oracle Business Process Composer. To create and edit these properties, you must use Oracle JDeveloper. See the Oracle BPM Modeling and Implementation Guide for more information.

Human tasks enable you to specify the following:

  • Routing

  • Assignment

  • Deadlines

  • Notification

  • Presentations

  • Task data

These components are described in the following sections.

11.1.1 Introduction to Routing and Participants

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

11.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 Section 11.1.2, "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 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 needed 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 in 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.

11.1.1.2 Routing Types

Figure 11-1 show a basic routing that contains only one participant.

Figure 11-1 Basic Routing with a Single Participant

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

However, 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 11-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 11-2 Example of Sequential Task Routing

    Description of Figure 11-2 follows
    Description of "Figure 11-2 Example of Sequential Task Routing"

  • Parallel

    In parallel routing, participants act on a task simultaneously. Figure 11-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 Section 11.1.1.3, "Outcome" for more information.

    Figure 11-3 Example of Parallel Task Routing

    Description of Figure 11-3 follows
    Description of "Figure 11-3 Example of Parallel Task Routing"

11.1.1.3 Outcome

Outcome specifies possible outcome arguments of the Human Task. Oracle BPM Worklist displays the possible outcomes you select as the available tasks to perform at run time.

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 the order listed in the table as shown in.

See Section 11.3.4, "How to Configure the Outcome for Parallel Routing" for information on how to configure outcome.

11.1.2 Introduction to Participant Assignment

Participant assignment is the process of mapping human task participants to the people in your organization that will 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 Section 11.3.5, "How to Assign Users, Groups, or Roles to a Participant" for procedures on assigning users, groups, or roles to a human task participant.

11.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 Section 11.3.7, "How to Define the Duration for a Human Task" for information on defining duration globally for a human task.

See Section 11.3.6, "How to Define the Duration for a Participant" for information on defining duration for a human task participant.

11.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 11-4.

Figure 11-4 The Human Task Editor

Description of Figure 11-4 follows
Description of "Figure 11-4 The Human Task Editor"

Within the tabbed pane, there are three tabs that enable you to configure different properties of a human task:

  • General: Enables you to edit basic properties of a human task. It also allows you to define the participants and routing.

  • Data: Enables you to configure task data.

  • Duration: Enables you to configure the duration globally for the human task.

11.3 Working with Human Tasks

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

11.3.1 How to Create New Human Task

Oracle Business Process Composer enables you to create new human tasks. These are stored in the business catalog and can be incorporated within your business processes.

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 Human Tasks.

  4. Click New Human Task.

  5. Provide a name for the new human task, then click Create.

The new human task is displayed in list of human tasks.

Human tasks are available in the business catalog. You can incorporate it within a BPMN process by assuaging it to a user task. See Section 6.3.2, "Introduction to the User Task" for more information.

11.3.2 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. Ensure the project is in edit mode.

  3. From the project welcome page, select Human Tasks.

  4. Click the name of the human task you want to open.

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

11.3.3 How to Add Participants to a Human Task

Using the human task editor, you can add additional participants to a human task.

To add participants to a human task:

  1. Open the human task.

  2. Select the General tab.

  3. In the Participants editor, select an existing participant.

  4. Click the Add icon, then select one of the following routing types:

    • Sequential

    • Parallel

    See Section 11.1.1.2, "Routing Types" for more information.

  5. Select one of the following participant types:

    • Single

    • FYI

    • Serial

    • Parallel

    See Section 11.1.1.1, "Participant Types" for more information.

The new participant is added to the human task routing.

11.3.4 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. Open your human task.

  2. Select the General tab.

  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 11-5.

    Figure 11-5 Voted Outcomes Editor

    Description of Figure 11-5 follows
    Description of "Figure 11-5 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.

11.3.5 How to Assign Users, Groups, or Roles to a Participant

You can assign users, groups or roles to a human task participant. See Section 11.1.2, "Introduction to Participant Assignment" for more information. about assignment.

To assign a user, group, or role to a participant using names and expressions:

  1. Open your human task.

  2. Select the General tab.

  3. Double-click the participant.

  4. Select names and expressions from the drop down list.

  5. Click Add, then select one of the following:

    • Add User

    • Add Group

    • Add Application Role

  6. Under Data Type, select one of the following:

    • By Name

    • By Expression

  7. To assign a name to the participant:

    1. Click the Search icon in the Value column.

    2. Click Search to display a list of available users or groups.

    3. Select the user or group you want to add in the Available column.

    4. Click Move Selected Items to Other list.

    5. Click OK.

  8. Click OK.

To assign a user, group, or role to a participant using lane participants:

  1. Open your human task.

  2. Select the General tab.

  3. Double-click the participant.

  4. Select Lane Participants from the drop down list.

  5. Click Add, then select one of the following:

    • Previous lane participant

    • Current lane participant

  6. Click OK.

To assign a user, group, or role to a participant using parametric roles:

Using Business Process Composer, you can configure a human task to use parametric roles.

Note:

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

  1. Open your human task.

  2. Select the General tab.

  3. Double-click the participant.

  4. Select Parametric Role from the drop down list.

  5. Click OK.

11.3.6 How to Define the Duration for a Participant

You can define the duration for each participant within a human task.

Additionally, you can define duration for the entire human task. See Section 11.3.7, "How to Define the Duration for a Human Task" for more information.

To create task data for a human task:

  1. Open the human task where you want to assign a user, group, or role to a participant.

  2. Select the Data tab.

  3. Click the Add button.

  4. Select one of the following:

    • string

    • int

    • boolean

    • TaskExecutionData

    The task data appears in Task Data table.

  5. Enter a name for the new task data in the table.

11.3.7 How to Define the Duration for a Human Task

You can define the duration globally for a human task.

Additionally, you can define duration for each process participant within the human task. See Section 11.3.6, "How to Define the Duration for a Participant" for more information.

To define a duration for a human task:

  1. Open the human task where you want to define the duration.

  2. Select the General tab.

  3. Double-click the participant.

  4. From the Add drop-down menu, select one of the following:

    • Add User

    • Add Group

    • Add Application Role

  5. Click OK.

11.3.8 How to Create Task Data 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. Open the human task where you want to create task data.

  2. Select the Data tab.

  3. Click the Add button.

  4. Select one of the following:

    • String

    • Int

    • Int(64)

    • Decimal

    • Real(32)

    • Real

    • Bool

    • Time Interval

    • TaskExecutionData

    The task data appears in Task Data table.

  5. Enter a name for the new task data in the table

11.3.9 How to Specify the Presentation of a Human Task

Presentations define the user interface of your application. Oracle Business Process Composer does not allow you to view or edit the presentation of a human task. However, you can specify the connectivity information used to access the presentation at runtime.

Note:

This information should be provided by a process developer or administrator.

To specify the presentation of a human task:

  1. Open the human task whose presentation you want to specify.

  2. Select the Data tab.

  3. Expand Presentation.

  4. Enter the following:

    • 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.