Hate the default BPM Inbox? Here’s how to fix it

The Problem:

One of the challenges on our project was to display the BPM work list with specific information about the specific task when the screen loads. The default BPM inbox view is useful when viewing different task types in one large work list but typically no one usually wants to see the default Inbox which contains columns like Number, Priority, Assignees.

Here is an example of the default inbox on the BPM workspace app

BPM inbox with the default columns

We know that Worklist Views can be created to display more information about a specific Human Task that users wish to act upon. But how do you display a specific view by default when the work list loads?

The Solution:

STEP 1: Create Flex fields and a custom Worklist View in the BPM Workspace app

Login as weblogic on the BPM workspace app, navigate to the Administration link and add the flex field definitions and map them to your human task payload. For more details on Flex Fields (mapped attributes) see section 32.10 in the Oracle SOA Developer’s guide here.

Map the task payload to the flex fields on BPM workspace

Then create a Worklist view in the BPM workspace

Create View

Select the flex fields you want to display in the view

Select the fields you want to display in this specific view

STEP 2: Get the VIEW ID from the SOA server

Now that you’ve created the worklist view we need to extract the VIEW ID from the SOA server. Unfortunately there’s no way to extract this other than using the migration utility provided by Oracle SOA suite. More details here on extracting the views in the Middleware administration guide for SOA Suite

Next, ssh into your SOA server and create the following migration.properties file

operationType=EXPORT
objectType=VIEW
name=ALL
user=jcooper
group=
grantPermission=true
migrationAttributeLabel=false
override=false
skip=false
migrateToActiveVersion=true

Then run the ant-t2p-worklist.xml script using this migration.properties file

ant -f ant-t2p-worklist.xml 
 -Dbea.home=/oracle/fmwhome 
 -Dsoa.home=/oracle/fmwhome/Oracle_SOA1 
 -Dmigration.properties.file=migration.properties 
 -Dsoa.hostname=localhost 
 -Dsoa.rmi.port=7001 
 -Dsoa.admin.user=weblogic 
 -Dsoa.admin.password=welcome1 
 -Drealm=jazn.com 
 -Dmigration.file=/tmp/export_all_userViews.xml 
 -Dmap.file=/tmp/export_all_userViews_mapper.xml

The “-Dmigration.file” and “-Dmap.file” property values are arbitrary file names that you can add on your own. Make sure that you provide the full path to the ant executable on your SOA server, for example here is the full path from the soa-bpm VirtualBox

/oracle/fmwhome/modules/org.apache.ant_1.7.1/bin/ant

5. Retrieve the view id that was generated as a result of running the ant script from the “/tmp/export_all_userViews.xml” file that was generated.

Get the VIEW ID

STEP 3: Apply the VIEW ID in the BPM Task List ADF task flow

Now the “viewfilter” parameter on the BPM task list ADF task flow can be set using the VIEW ID. For those who are willing to be adventurous with WebCenter or ADF, this can set using an EL expression which means this can be dynamically set.

I used WC_Spaces to demonstrate this example. I have created a Test Space and added the out-of-box task list task flow from the Process spaces WebCenter template

Edit the page to open the Oracle composer view and by clicking on the tool link

In the following screenshot the BPM worklist parameter is added to the BPM worklist task flow in WebCenter Spaces

Voila ! Here are the fruits of your labor – When you login as jcooper you will see the custom view being displayed by default

 

Vikram