AVIO Consulting

Creating Custom BPM Work List for Human Tasks based in ADF

Nov 7, 2014 | ADF

If you ever need a custom work list and need to open the human task from this list, then this blog can help you. All you really need to do is find the list of tasks and create the URL that opens the task from the custom work list. This is not as straightforward as it seems since the URL contains some dynamic fields that you will need to derive from information about the tasks.

The need for a custom work list usually involves some sort of relationship between instances in a process, or between tasks in different processes such that the OOTB functionality of the BPM workspace is not sufficient. The user wants to see a logical grouping of tasks or between parent and child tasks. These tasks should be shown grouped together. These tasks can be shown in a table or tree format and each task should have a link to click on to open the task directly from the form. This is an example of such a list and grouping.

Use Cases

The relationships between tasks may consist of simple parent/child relationships. The above table was used to implement a custom ACM UI where each of these tasks (children) are activities for a given case (parent). Here a work request (case) with several child tasks, or activities are listed along with the status, description due date, started date and assignee. Notice the links to open the task or reassign the task.

Another example is when a tasks is related to another other (like siblings) by customer or account ID. In all of these examples, the user wants a convenient way to jump directly to the related task, without closing the current task or form, going to the work space, finding and opening the task from the work space. Here are some example users stories this post can help you implement.

  1. As an agent, I want to open a task associated with a leg of a trip from the trip overview page, so I don’t have to search and find the task in the workspace, when I’m working on the trip.
  2. As a user, I want to be able to see all tasks associated with a work requests and be able to open a task to work on it without having to find the task in the workspace when I’m working on the work request.
  3. As a underwriter, I want to be able to see all related line items on a insurance policy and be able to jump to any of these line items from any other line item in the policy without need to find and open the line item from the workspace.

ADF URL Parameters

The URL pattern you need to construct is as follows:

<hostname>:<port>/faces/adf.task-flow?bpmWorklistContext=<ContextID>&bpmWorklistTaskId=<TaskId>&_id=<taskName>+”_TaskFlow”&_document=<taskName>+”_TaskFlow.xml”

The following parameters needs to be derived and appended to this URL using the amphersand “&” as a delimiter between parameters and an equal sign “=” between the parameter and value. The parameter value pair a listed in the following table.

Parameter Value
_id

<taskName>+”_TaskFlow”

_document

<taskName>+”_TaskFlow.xml”

bpmWorklistTaskId

<TaskID>
bpmWorklistContext <ContextID>

Summary

Using these guidelines you will be able to create a list of tasks and launch into the task from a custom task table. Since the task here is implement in ADF, the URL is somewhat complex, but doable. Most of the complexity involves many parameters that are needed by ADF or by the BPM workspace to tie the task back to the workspace.