November 7 2014

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.

Join the Conversation

February 5, 2015

WHat about the security? Once you generate thi url, you can just open that url from any browser without login page. Isn't that correct?

February 5, 2015

Vikas - True, you can open the URL from any browser. But this is no different than opening a new browser window by you double-clicking on a task in the workspace. That same URL is generated in this window and can be copied and pasted to a different browser too. I don't see a new security threat presented by creating this URL in a custom BPM worklist in an ADF form. Giving out your context ID is like giving someone a temporary password to your session. The context ID expires whereas your password does not. 

 

 

August 7, 2015

Thanks for the info.But I would like to know that while invoking human task by this url do we need to create ADF UI project by using option-"ADF Task Flow Based on Human Task"  or provide a uri path for human task in em console

Bhargavi
August 4, 2016

Vikas,

I am using TaskQuery service WSDL to get the task details but how to get the bpmWorklistContext before calling the URL in ADF

Thanks

Bhargavi

Enter your first name. It will only be used to display with your comment.
Enter your email. This will be used to validate you as a real user but will NOT be displayed with the comment.
By submitting this form, you accept the Mollom privacy policy.