WSO2 Business Process Server v3.0.1 Documentation

##### Overview

- Home
- Release Note
- WS-BPEL Compliance
- License

##### Downloads

- Releases

##### Installation Guide

- Installing WSO2 BPS

##### Quick Start Guide

- Modeling the process
- Deploying the process
- Testing the process

##### User Guide

- Deploying BPEL Processes
- Deploying Human Tasks
- Managing BPEL processes
- Managing BPEL process instances
- QoS for BPEL processes
- Securing BPEL processes
- Invoking secured partner services
- Versioning
- Management API

##### Human Task Guide

- Human Tasks Quick Start Guide
- Deploying HumanTasks
- Managing Tasks
- Developing a Human Task Artifact
- Human Task Management and Configuration
- Human Task Concepts

##### Administrator Guide

- External data sources Configuration
- Registry Configuration
- Events
- Unified Endpoints
- BPEL Extensions
- Transaction Factory Configuration
- Message Exchange Interceptors
- OpenJPA specific properties
- JMS Transport Configuration
- Process Instance Cleanup Tasks
- Process Hydration and Dehydration
- Enabling Peer-to-Peer(P2P) Communication
- Setting up a BPS Cluster

##### Best Practices

- Process Deployment Best Practices

##### Concepts

- Process Versioning
- Process instance events
- Partner links

##### WS-BPEL Extensions

- Activity Failure and Recovery
- Extension Activities and Extensible Assign Operations
- XPath Extensions
- Iterable ForEach
- Flexible Assigns
- BPEL4People Extension

##### Samples

- HelloWorld
- If-Else
- ForEach
- While
- Repeat Until
- Flow and Links
- Pick
- Synchronous and Asynchronous Service Invocations
- Fault Handling
- Split
- XslTransform
- Compensation Handler
- Event Handler

##### Resources

- FAQ
- External Articles
- Library
- Source Code

##### Community

- Forum
- Mailing Lists

##### Project Information

- Issue Tracking

# Concepts - TODO

### Table of Content

- Generic Human Roles
- Logical People Groups
- Presentation Elements

## Generic Human Roles

Generic human roles define what a person or a group of people resulting from a people query can do with tasks and notifications. The permissions on task operations are based on the generic human role(s) a specific individual belongs to. The following generic human roles are taken into in Human Task specification:

- Task initiator:

  A task initiator is the person who creates the task instance.

- Task Stakeholders:

  The task stakeholders are the people ultimately responsible for the oversight and outcome of the task instance. A task stakeholder can influence the progress of a task, for example, by adding ad-hoc attachments, forwarding the task, or simply observing the state changes of the task.

- Potential owners:

  Potential owners of a task are persons who receive the task so that they can claim and complete it. A potential owner becomes the actual owner of a task by explicitly claiming it. Before the task has been claimed, potential owners can influence the progress of the task, for example by changing the priority of the task, adding ad-hoc attachments or comments

- Actual Owner

  An actual owner of a task is the person actually performing the task. When task is performed, the actual owner can execute actions, such as revoking the claim, forwarding the task, suspending and resuming the task execution or changing the priority of the task.

- Business administrators

  Business administrators play the same role as task stakeholders but at task definition level. Therefore, business administrators can perform the exact same operations as task stakeholders. Business administrators can also observe the progress of notifications.

- Notification recipient

  Notification recipients are persons who receive the notification, such as happens when a deadline is missed or when a milestone is reached. This role is similar to the roles potential owners and actual owner but has different repercussions because a notification recipient does not have to perform any action and hence it is more of informational nature than participation. A notification has one or more recipients

## Logical People Groups

The WSO2 BPS 3.0.1 supports people assignments for generic human roles via the concept of logical people groups with role names. A logical people groups can be defined as a top level element in a human task definition. In WSO2 BPS 3.0.1 , Carbon role name is used to resolve people query for a particular role. For an example a logical people group could be defined as follows:

        <htd:logicalPeopleGroups>
            <htd:logicalPeopleGroup name="regionalClerks">
                <htd:documentation xml:lang="en-US">
                    The group of clerks responsible for the region specified.
                </htd:documentation>
                <htd:parameter name="role" type="xsd:string"/>
            </htd:logicalPeopleGroup>
        </htd:logicalPeopleGroups>

The parameter role will be used to assign the role name inside the task definition

Once the logical people groups are defined, we can use that particular logical people group for people assignments in the task definition. Refer the following segment for an example :

                <htd:peopleAssignments>
                    <htd:potentialOwners>
                        <htd:from logicalPeopleGroup="regionalClerks">
                            <htd:argument name="role">
                                regionalClerksRole
                            </htd:argument>
                        </htd:from>
                    </htd:potentialOwners>
                </htd:peopleAssignments>

The above example shows how people assignment is done for the Potential Owners role in the task definition. For the argument role we provide the value regionalClerksRole. In the HumanTask runtime we would evaluate this role for it's people and the people associated to that role at evaluation time would be qualified to act as potential owners of the particular task.

## Presentation Elements

Presentation elements define the human readable information about a task. For example, a user queries for her tasks, getting a list of tasks she could work on, displaying a short description of each task. Upon selection of one of the tasks, more complete information about the task is displayed by the user interface.

Types of presentation elements:

- Presentation Name :
  This element is the short title of a task.
- Presentation Subject :
  This element is a longer text that describes the task.
- Presentation Description :
  This element is a long description of the task.

Presentation Parameters
Presentation Parameters are a special set of parameters used in presentation elements subject and description. When a presentationParameter is used within subject and description, the syntax is {$parameterName}. The Human Task runtime will automatically evaluate the presentation parameter and replace the occurrences with the actual value(s).

### References

(WS-HumanTask) Specification Version 1.1