Skip Headers
Oracle® Fusion Middleware Business Process Composer User's Guide for Oracle Business Process Management
11g Release 1 (11.1.1.7)

Part Number E15177-11
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub

11 Working with Human Tasks

This chapter describes how to use human tasks to define how end users interact with you process-based application. It describes how to create and edit human tasks using Oracle Business Process Composer.

This chapter includes the following sections:

11.1 Introduction to Human Tasks

Human tasks are a component of Oracle Human Workflow. Oracle Human Workflow is a component of the Oracle SOA Suite and 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 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. See "Getting Started with Human Workflow" in the Oracle BPM Modeling and Implementation Guide for more information.

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

Human tasks define the following:

11.1.1 Introduction to Participant and Routing Types

Human tasks enable you to determine the order 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 human task editor specify the routing flow and participant for a human 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.

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 Section 11.3.6, "How to Change the Default Participant" for more information.

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"

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

You can define the following outcomes for a human task:

  • Defer

  • Yes

  • Approve

  • Accept

  • Reject

  • No

See Section 11.3.4, "How to Configure Basic Task Properties" for information on configuring the outcome for a human task. See Section 11.3.9, "*How to Configure the Outcome for Parallel Routing" for information about configuring outcomes in a parallel routing.

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.8, "How to Assign Users, Groups, and 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.5, "How to Configure the Deadline (Duration) for a Human Task" for information on defining duration globally for a human task.

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"

The human task editor contains the following tabs:

11.3 Working with Human Tasks

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

11.3.1 Walkthrough: Creating and Configuring a Human Task

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

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 Section 11.3.2, "How to Create New Human Task" for more information.

  2. Open the human task. See Section 11.3.3, "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.

11.3.2 How to Create New Human Task

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.

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

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

  3. 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.4 How to Configure Basic Task Properties

Use the Basic tab 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 the Basic tab.

  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 last one outcome. See Section 11.1.1.3, "Outcome" for more information.

    3. Click OK.

  6. Save the project to save your changes.

11.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: enables 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 the 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: enables 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: enables 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.

11.3.6 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 the Routing Slip tab.

  3. Click the participant, then click the Delete (X) icon as shown in Figure 11-5 to delete the participant.

    Figure 11-5 The Add and Remove Icons of a Participant

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

11.3.7 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 the Routing Slip tab.

  3. Click on the routing slip block.

  4. Click the + icon, then select a participant type. See Section 11.1.1, "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.

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

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.

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

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.

11.3.9 *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. Select the General tab.

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

    Figure 11-6 Voted Outcomes Editor

    Description of Figure 11-6 follows
    Description of "Figure 11-6 Voted Outcomes Editor"

  5. Click the Add icon, the select one of the following outcomes:

    • Approve

    • Reject

  6. In the table, enter a value for the outcome.

  7. Select a value for Default Outcome from the drop-down list.

  8. Click OK.

11.3.10 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 one of the following:

    • String

    • Int

    • Int(64)

    • Decimal

    • Real(32)

    • Real

    • Bool

    • Time Interval

    • TaskExecutionData

    The task data appears in Task Data table.

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

11.3.11 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. See Section 9.1, "Introduction to Forms in Oracle BPM" for more information about using forms.

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.

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.

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