Thursday 11 July 2013

BPM WORKLIST User & Group Rules

Consider the following LDAP set-up:
Users - user1;user2;user3;adminuser
Group - group1

user1 & user2 are members of group1
adminuser has administrator privileges and is the owner of group1.


Use-Case 1 - User Rules:
--------------------------
1. A task is assigned to group1.
 <participant name="default.DefaultPerformer">
   <resource type="STATIC" identityType="group">group1</resource>
 </participant>
2. Logging in as adminuser(owner of group1) into BPM Workspace , navigate to
   Preferences ->  Rules -> My Rules
3. Add a new User Rule with the following action {Assign To -> user3)
4. Execute the task from BPM workspace as adminuser.


Customer's Expectation:
The rule should take effect and the task should be assigned to user3.

Observed Behavior:
The task is assigned to group1

Expected Behavior:
The task should be assigned to group1 and not user3.
.
Reason:
The rules configured (both User & Group) would come into effect only when a task reaches the actual recipient.
(i.e) for a Group Rule to execute , the task should first reach the group,
      then the rules specified for that particular group would take effect
      Similarly,for a User Rule to execute , the task should first reach the user,     
      then the rules specified for that user would take effect

In this use-case , the task is assigned to a Group(group1), since there is no
Group Rule specified for group1 , the task remains with group1.


Now ,if the customer expects to configure a User Rule for the task , then:
1. The task should be assigned to an user , lets say user1

2. Logging in as user1 into BPM Workspace , navigate to
   Preferences ->  Rules -> My Rules
3. Add a new User Rule with the following action {Assign To -> user3)

(or)

2A. Logging in as as user with administrative rights (adminuser)into BPM 
    Workspace , navigate to Preferences ->  Rules -> Other Rules 
3A. Search for "user1" ,add a new User Rule with the following action {Assign To -> user3)

In this case , the task would first reach the intended recipient(user1),then
the rules engine would check for any rules specified for that user(user1).
Since user1 has a rule , the rule would be executed and the task assigned to user3.

So , to re-iterate , When a task is assigned to a Group
 - the rules specified for the Group will take effect.
If the customer expects a User rule to be invoked , the task needs to be assigned to an user.


Use-Case 2 - Group Rules:
-------------------------
1. A task is assigned to group1.
 <participant name="default.DefaultPerformer">
   <resource type="STATIC" identityType="group">group1</resource>
 </participant>
2. Logging in as adminuser(owner of group1) into BPM Workspace , navigate to
   Preferences ->  Rules -> My Rules
3. Add a new Group Rule (under group1) with the following action {Assign To
-> user3)
4. Execute the task from BPM workspace as adminuser.

Customer's Expectation:
The rule should take effect and the task should be assigned to user3.

Observed Behavior:
The task is assigned to group1

Expected Behavior:
The rule should take effect and the task should be assigned to user3.

For Group Rules to be executed , the following conditions needs to be met:
1. The group in LDAP should have an owner specified
2. The group's owner should create the Group Rules
3. The group needs to appear in the Preferences -> Rules -> My Rules tab for
   the group owner

When these conditions are met , the conditions of the Rule gets executed as
expected.

No comments:

Post a Comment