Humantask Assignment: Names and Expressions Assignment via Rules

Marcel van de Glind

This blog post is part of a series of posts about humantask assignment. You can find the starting point of this series by following the next link.

In this post I will give an example of task assignment by Names And Expressions using Oracle Business Rules. I will use the same BPM process as in most of the other posts in this series.
Now we have the process, we can assign the task to a representative, group of representatives or role. For this open the taskfile and select the assignment tab.
assignment tab
Edit the default.DefaultPerformer. Select Rule-based and specify the ruleset e.g. NamesAndExpressionsRule.
After selecting OK, the business rules can be specified. Because the process does not have a payload it is not possible to use input data to influence the behavior of the business rules. For this reason I have used priority, one of the many task properties, to control the bussiness rule behavior.
The picture below shows the two implemented rules. The first rule “High Priority” assigns the task to taskGroup1 when the priority has the value 1 or 2. The second rule “Low Priority” assigns the task to taskGroup2 when the priority has a value of three or higher.
The priority can be set on the General tab of the task. This is during development time. This means that the process must be redeployed when the priority is changed.
After deployment of the process we can start new instances via the EM.
As a first example I will test it with priority = 2. The task is assigned to TaskGroup1.
As you can see in the trace of the rules the High Priority rule is executed.
And a second example with the priority = 4.
The Low Priority rule is executed. Which means that the task is assigned to taskGroup2.
And the task trace …
The example shows a very basic implementation of task assignment with the help of Oracle Business Rules. From here you can download the sample project.

Next Post

Troubleshooting ADF ViewObject Range Paging Issues

Facebook0TwitterLinkedinADF BC ViewObjects provide a very valuable mechanism to page through large data sets so that a user can navigate to a specific page in the results. Range Paging fetches and caches only the current page of rows in the ViewObject row cache (at the cost of another query execution) […]