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