Process Portal

With the release of IBM BPM v8, the whole implementation of IBM Process Portal was reworked. The following focuses on IBM BPM v8 and above. If you are running a version of IBM BPM prior to that release, this information will not be applicable to you.

Process Portal is the IBM supplied environment from which users can interact with processes managed by IBM BPM. Process Portal is a browser based framework for interacting with process instances.

It can be reached at the following URL:

https://localhost:9444/ProcessPortal/login.jsp

From that location we are prompted to login with a userid/password pair.

After logging in we are shown the primary portal page.

Let us start by looking at a user's settings. In the top right of the screen is the your name. This is actually click-able and can be used to change your own profile settings.

When selected, a page is shown which shows the current details.

Most of these details can be changed.

The image used to represent the user is shown in a number of other dashboards. The biggest image seen in the web pages seems to be 105 pixels square.

See also:

Process Portal – My Tasks

The primary area of the portal is called "My Tasks" and shows lists of tasks awaiting your attention. It can be reached by clicking on the “Work” tab:

The tasks are grouped into categories:


The tasks shown in the My Tasks section have two primary textual eye-catchers. One is take from the task's Subject while the other is taken from the task's Narrative:

Immediately beneath the subject is the instance name of the process.

To the very right of the task entry is a flag which colors according to the priority of the task:

Very Low

Low

Medium

High

Very High

If a task is assigned to a group you are a member of (as opposed to assigned to you), it will have an indication of such:

This indicates that it is both associated with a group and names the group as well.

To work upon a particular task, we click the title of that task.

If you do not already own the task (i.e. it is owned by a group that you are associated with) a dialog appears confirming your request:

The dialog can be disabled so that it is not shown each time a new claim is made. When a task is opened, the Coach associated with the Task is displayed.

To the right of the Coach area is a summary of information about the process instance which owns the Coach:

Each task has a context menu associated with it:

The context menu allows a number of administrative items to be performed:

|| |Modify Task|The ability to assign the task to another person or group, change the priority or change the due date/time:

| |Reassign Back to Group|Reassign the task back to the group which originally owned it.| |View Instance|View the process instance associated with the task.| |Modify Instance|Modify the process instance. This currently means modifying the process instance due date/time:

| |View Audit History|| |Critical Path Management|| |View Process Diagram|View a diagram showing the overview of the process and where we are in that process.

|

When working on a particular task, there is a menu box that can be shown that allows you to perform related items to that task:

|| |Modify Task|The ability to assign the task to another person or group, change the priority or change the due date/time:

| |Reassign Back to Group|| |Collaborate|| |View Instance|| |Modify Instance|| |View Audit History|| |Critical Path Management|| |View Process Diagram|View a diagram showing the overview of the process and where we are in that process.

|

Process Portal – Saved Searches

When there are large numbers of tasks and process instances it can become difficult to find what one is looking for. To solve this problem, IBM BPM provides the capability to create custom searches. These searches are queries made against process instances and task instances which determine what information is to be shown and which tasks and instances qualify to be shown. These searches are generically called "Saved Searches" and can be defined in the Process Admin Console. Once defined, these searches can then be executed from within the Process Portal.

In the Process Portal, we can click the show/add entries button:

From there, a pull-down of options will be shown. Included in the options will be the option to see previously defined saved searches.

By selecting one of these, the search is performed and the results shown in a tabular form.

To the right of each row there are icons which allow the user to open the task, see details of the process instance associated with the task or change some of the properties of the task.

See also:

Starting Ad-Hoc entry points

This capability has been deprecated.

A BPD process can have ad-hoc entry points defined with it. This means that for a given instance of a process, additional work can be performed by that process at any time by invoking its ad-hoc entry. Within Process Portal, ad-hoc starting points are shown in both a task instance and a process instance view. Imagine a BPD that has an ad-hoc entry point called "My Adhoc Start". By selecting a task within the BPD process, we see the ad-hoc entry point in the task's pull-down. Selecting this will start that ad-hoc portion of the flow.

Additionally, looking at the similar area within the Process Instance section we see an additional location from which the ad-hoc start can be fired:

See also:

In-line Tasks in process portal

When displaying tasks that a user may work upon, the default action is that when the user selects such a task, a new window will appear showing the coach for that task. However, there are certain tasks that may simply need a yes/no answer or some input equally simple. Rather than opening a whole new Coach window, we might simply wish the task to be completed in-line within the process portal.

IBM provides three per-implemented Human Services that can be defined as implementations for a BPD Human Service.

The first is the "Simple Approval". When displayed in the Process Portal, it looks as follows:

It has data mappings as follows:

Inputs: None

Outputs:

|| |approved|boolean|A true or false outcome. The outcome is determined by whether or not the "Approve" or "Reject" button is pressed. Reject does not become selectable until after comment text has been entered.| |comment|string|A piece of comment text that can be used to describe the reason for the outcome. Comment text is required for a rejection.|

The second type of inline entry is the "Simple Completion". When displayed in Process Portal it looks as follows:

It has data mappings as follows:

Inputs: None

Outputs:

|| |comment|string|A piece of comment text that records the completion notes (if any)|

The third type of in-line entry is the "Simple Choice". When displayed in Process Portal, it may look similar to the following:

Inputs:

|| |choices|List of String|A list of possible choices that the user can select|

Outputs:

|| |decision|String|The value of the string (button) selected by the user| |comment|String|A textual comment optionally provided by the user|

Team Performance

Built into Process Portal is the ability to examine work by teams. To view this dashboard, click the Team Performance tab:

This will bring up a page showing the summary of all the teams:

Each box represents a specific team. A pie chart is shown within the box showing how many tasks are associated with each team and how many are overdue, at risk or on track.

If we drill into a specific team, we are given details of that team:

We see a pie chart for that team, the count of how many tasks are opened and how many completed today. In addition, we see a chart over time of how new tasks have been arriving and how existing tasks have been completed.

To the right of the chart, we see a roster showing the members of the team.

Team Tasks

In the Team Tasks view we can see a calendar of when tasks are due to be completed. From there we can Assign those tasks to different team members if we are logged in as a manager of the team.

Clicking Assign allows us to change the owner of the task if we are logged in as a manager of the team. The allowable staff members are filtered by the team memberships although we can over-ride those as needed.

Process Performance

Built into the Process Portal is the ability to examine the performance of the overall solution. To view this dashboard, click the Process Performance tab:

This will then display the details of Process Performance that is show in the next screen shot:

As we can see, there is a lot of "stuff" in this screen so we need to spend some time looking at it.

We will break the screen down into four sections:


Quick Stats

The Quick Stats sections shows the number of processes that have not yet completed. This means that there is work still to be performed against them. The pie chart is split into their states meaning on track, overdue and at risk. Next to the pie chart is a count of the total number of processes in progress. Finally, there is a statistic on the average duration that it takes a process to complete.

Turnover Rate

The Turnover Rate section shows the arrival and completion rate of process instances over time. If we hover our mouse over the chart, additional data is shown:

The chart needs a little explanation. First notice that the mid-line axis of the chart is zero. As new instances arrive, the blue portion (top) of the chart will grow upwards. As process instances are completed, the green portion (bottom) of the chart will grow down. The line chart shows the number of processes in progress.

One way to interpret the chart is simply to focus on the line. If it is trending upwards then the processes are not being completed fast enough.

The chart can be scrolled left and right to see previous time intervals. The scale can also be changed between Days and Hours. The hover data shows details of the selected period.

Average Duration

The average duration chart shows an entry for each step in the process (top to bottom). The width of the entry is the average duration that step takes. The left edge of the element is the average point in time when that step in the process is reached.

Each entry is labeled with the name of the step. Hovering over a step shows a pop-up with details which includes the numeric average duration and the percentage of time that step is executed as part of a process instance (remember processes can take different paths and hence not all steps in a process may be executed for each instance of that process).

Instances In Progress

On the far right is a list of the instances currently in progress. Hovering the mouse over these will show their details including:


Diagram View

Clicking on the tab at the top labeled "Diagram" will show the process diagram of the process. The diagram will be annotated with the number of instances at each task step.

Clicking on a task counter will filter the process instance to show only those ones which are blocked at the associated tasks.

Gantt View

If we click on a process instance in the "Instances in Progress" list, we are shown a Gantt chart view of the expected times of that process instance:

The chart shows pictorially which step we are on and when subsequent steps are potentially going to start and complete.

Set Path View

When determining whether or not a process is on target for completion within its due dates, IBM BPM makes assumptions about the process based on averages of similar processes seen before. In many cases, the path a process takes is a function of the decisions made within that instance of the process. As a user of the Process Performance dashboard, we can see the expected path the process will take and decide to change the anticipated path for reporting and modeling purposes. Changing the path in the Process Performance dashboard has no effect on the actual path that the process will finally take but does allow us to use our judgement when examining such an instance.

From the "Set Path" view we can see the current step, see the anticipated path and change the anticipated path route.

Searching in Process Portal

At the top of many of the portal pages there is a search box that looks as follows:

Entering search criteria within this box and then clicking the magnifying glass will filter what you see to only include matched entries.

To clear the search and show all entries, click the "x" also shown in the search:

The search has a variety of options and meta data filters. Here are some notes on this:


We can also prefix search queries with the context in which they should be sought. For example, searching on "subject:IBM" will find all tasks which contain "IBM" in their subject line but will not return entries that contain "IBM" within other properties.

The list of prefixes are:

|| |Prefix|Description| |subject:|The subject line of a task.| |instancename:|The instance name of a process.| |application:|The name of the process app.| |atriskdate:|A range of dates for the At Risk value of a task.| |bpd:|The name of a BPD (Process).| |createdate:|A range of dates for the creation of an entity.| |duedate|A range of dates for the due date of a task or process.| |username:|The user id of a user.| |userfullname:|The real name of a user.| |teamname:|The name of a team.| |isassignedtouser:|Whether or not a task has been claimed or assigned to a specific user.| |activityname:|The name of the Task.| |<Business Data>:|The value of a specific business data item.|

The data used to populate the Process Performance dashboard

As a BPM process runs, the history and state of that process is written to the database used by IBM for internal and operational purposes. It is that data that is used to populate the Process Performance dashboard.

The data that is used can be managed through the Process Admin console through the Process Inspector area.

Creating new pages in Process Portal

Within Process Portal we can define new pages that can be shown to the user.

Push next task to the user

The out of the box Process Portal presents a list of tasks to the user from which the user can select which task to work upon next. For many situations, this is perfect however it can lead to "attention starvation" if users fail to pick a particular task over and over. This situation is also known as "cherry picking". One solution to this puzzle is to force users to work on a task that is selected as the "best" task that the user should work upon. We can't help you determine what is the best task as that is subjective but an example algorithm would be the task with the earliest due date.

One way to implement this would be the creation of a Human Service that contains a Coach which contains a Task List Coach View. The Task List Coach View has a configuration property called "Retrieve task list" which is an Ajax service. When this service is called, a list of tasks is returned and it is those tasks that are displayed to the user.

If we write our own custom Ajax service to return only the single "best" task, then we have effectively changed the implementation to show only one task and hence force the user to work on just that one task.

Here is a sample of such a service:

if (tw.local.taskListProperties == null) { tw.local.taskListProperties = new tw.object.TaskListProperties(); } tw.local.taskListData = tw.system.retrieveTaskList( tw.local.taskListProperties, tw.local.maxRows, tw.local.beginIndex); var earliestDate ="9999-99-99T99:99:99.999Z"; var earliestTask; for (var i=0; i<tw.local.taskListData.tasks.listLength; i++) { var thisTask = tw.local.taskListData.tasks[i]; if (thisTask.dueDate < earliestDate) { earliestDate = thisTask.dueDate; earliestTask = thisTask; } } tw.local.taskListData.total = 1; var list = new tw.object.listOf.TaskListItem(); list[0] = earliestTask; tw.local.taskListData.tasks = list;

See also:

Customizing Process Portal look and feel

The Process Portal supplied by IBM has a distinct look and feel. Given that the Process Portal is the suggested mechanism for interacting with end users, we wish to be able to customize the Process Portal so that it may look more like a particular user community would like it to look.

IBM has exposed a way to achieve that task.

Process portal's design is achieved through a series of files that include images, CSS, JavaScript and HTML. These files can be updated or replaced with alternatives to change the style.

Access to these files is achieved through WebDAV. It is believed that Windows 7 claims to have some WebDAV support but the reality is that no-one seems to have been able to get it working (at least that is what I find when I search Google). The alternative is to use a client tool to access the WebDAV data. I performed an Internet search of WebDAV client tools and found "BitKinex". However, I was not able to get that tool working with IBM BPM's WebDAV data. I then found a second tool called "Cyberduck" which worked just fine.

After installing Cyberduck, I configured a new connection within it to access the BPM WebDAV data.

The BPM product exposes its WebDAV information via HTTP/SSL. The name of the server and SSL port number must be supplied as well as a user with sufficient authorities. In addition, a path to the WebDAV data must be supplied. This is:

/mum/mycontenthandler/mm/dav/filestore

Prompts will be issued about SSL self signed certificates. These should be accepted.

Once connected, we will be presented with a list of the folders and files managed by IBM BPM through WebDAV.

Customizing the login screen

The default Process Portal login screen looks as follows:

No Comments
Back to top