This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Managing Human Tasks

Most processes depict real-life, practical business or scientific scenarios which need the interactions of a human at least once in its workflow design. Typically, these interactions are initiated by the process itself, and requests a user input to proceed. For example, consider a "bank loan request" process which often requires the final decision to be taken by a human.

These human interactions are referred to as human tasks. Human Tasks enable human interactions to be initiated from a process, so that the process issues tasks that can be completed by humans. Within a BPEL processes, such tasks are modeled as outgoing service calls, but those service calls are intended for and processed by a human. For example, a loan issuing process may include a human task step in its workflow to let a bank manager/executive review and approve a loan. Such a task can typically trigger an email/alert to the manager, allowing him to click on a link, review the loan, and approve it. While the approval is pending, the calling processes wait, and the approval or rejection triggers a message in the process which takes the process to the next step of execution in its workflow.

In SOA, human tasks management is generally facilitated by a Web service. For example, the human tasks server, which manages all human task related operations, is defined as a web service by the Human Tasks specification. Human tasks are realized using two technical specifications: Web Services for Human Task (WS-HumanTask: http://docs.oasis-open.org/bpel4people/bpel4people-1.1-spec-cd-09.pdf) Specification and WS-BPEL Extension for People (BPEL4People: http://docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cd-10.pdf) specification. WS-HumanTask defines interfaces for a task server that enable the workflow engine to create tasks, enabling the organizations to map the tasks to humans and manage them. Support for users to interact with the tasks. On the other hand, BPEL4people specification extends workflow process definitions to include human tasks definitions.

EI Business Process implements the WS-Human Task specification. It has WS-Human Task API and UI which expose the functionality in Task Management API. It enables users to bundle a human tasks definition as a zip file and upload it, where the tasks definition includes input and output message formats for the human task.

Adding a human task

Follow the instructions below to add a human task.

  1. Log on to the product's management console and select "Human Tasks-> Add" under the "Main" menu.
  2. The "New HumanTask Package" window opens. Provide the file and click "Upload.
  3. The "Deployed Task Configurations" window opens with the newly-added human task listed. For example,
    • Package Name: The name of the package.
    • Task Definition: The task definition
    • Type: Whether this definition is a Task or a Notification
    • Status: The package status.
  4. Click on a selected "Task Definition".

Using the Human Task Explorer

You can access the WS-HumanTask-Explorer of EI Business Process via https://<hostIP>:9445/humantask-explorer/login.

Login

Screen Shot 2015-09-23 at 11.45.18 AM.png

After login with valid username and password, user will be directed to the task inbox.

Inbox

Tasks assigned to logged-in user are listed in the MY TASKS tab.

Screen Shot 2015-09-23 at 11.51.16 AM.png


Click on a task list entry, the user will be directed to the task view. Tasks can be filtered based on status by clicking on the particular status in left sidebar.

Task View

Task view display the detailed description of the task. The content of the UI depends on the relationship of logged-in user and the viewed task.

Screen Shot 2015-09-23 at 11.59.35 AM.png


Task Abstract

List down abstract details (subject, description)

Task Operations (1)

Provide support to change state of the task (only provided to task owner)


Start : Start progress of the task

Stop : Stop progress

Release : Release assigned task (release operation will update state of the task to READY, which allowing other users to claim it to themselves)

Suspend : suspend task.

Resume : resume suspended task

Fail : fail the task

Assign : assign task to another user.

Skip: skip a task from further action


Note that allowed operations differ depending on the state of the task and user permissions.

Additional Task information (2)

Additional information related to the task. This section consists of three tabs:

  1. Comments : list down comments added by users (users can add comments to tasks, which are viewable to them)

  2. History : list down history details of state changes of the task

  3. Attachments : list down attachments related to the task including downloading (users can add/download attachments to tasks, which are viewable to them) and uploading attachments.

Summary (3)

Summary of task information


Claimable Tasks

All the tasks which is claimable to the logged-in user, are listed down in the claimable tasks tab.

 

 

By clicking on each entry, the user can view the task and claim it in the task view.

 

Screen Shot 2015-09-23 at 12.32.01 PM.png

 

When viewing a claimable task, which is in READY state(not assigned to a particular user), the task view is similar to above. The viewer can assign it to himself by clicking the claim button, located top left corner among task operations.

Apart from the pages explained above, Notification tab displays the notifications to the user. Search tab can be used to search tasks. Search has options to search by task status and category. Results can be ordered based on the task name, created date, updated date or priority.

For a set of samples on managing human tasks, see Human Task Samples.