Showing posts with label Groups. Show all posts
Showing posts with label Groups. Show all posts

Monday, November 2, 2015

IBM BPM - Deactivating Dynamic Group(type 4) Update - Performance improvement specially while login

What are Dynamic Groups?
Dynamic groups are created whenever a team or a task assignment is created using an expression. These expressions select users based on user attributes, group membership, and various other criteria. As a result, a dynamic group is created in the database. They are also known as Type 4 groups or in LSW_USR_GRP_XREF they will be having value of group_type = 4

Why Dynamic Groups get updated?
As mentioned earlier Dynamic Groups are set of other type of groups which includes external groups. so whenever any external or security gets updated, dynamic group also needs to get updated in order to be in sync with other groups.

When are dynamic groups updated?

There are several triggers that can cause dynamic group updates:
  • When IBM Business Process Manager internal groups or a member of an internal group are updated in the Process Admin Console.
  • When a user logs in to a IBM Business Process Manager web interface, the external group membership is replicated based on the external security provider settings. If changes are detected, dynamic groups are recalculated.
  • When a user updates user attributes in the Process Admin Console or while using a REST API.
  • During task creation using dynamic group expression.

Configuring IBM Business Process Manager to deactivate dynamic group updates

Modify the 100Custom.xml configuration file to deactivate updates for the specified triggers, as shown in the following example:

<properties>
<server merge="mergeChildren">
<update-dynamic-groups-on-login>false</update-dynamic-groups-on-login>
<update-dynamic-groups-on-task-creation>false</update-dynamic-groups-on-task-creation>
<update-dynamic-groups-on-uadchange>false</update-dynamic-groups-on-uadchange>
</server>
</properties>

Monday, January 6, 2014

Different Type of groups in IBM BPM

In IBM BPM, All user groups are stored in LSW_USR_GRP_XREF table. there are different types of group in IBM BPM and they are differentiated by a column 'GROUP_TYPE' in 'LSW_USR_GRP_XREF' table


There are 3 type of user groups in IBM BPM.

  1. Groups that exist and managed in external directory services like LDAP. Type 0 Groups
  2. Groups that are created in the environment through Admin Console. Type 3 groups
  3. Groups that are dynamically created by virtue of task allocation. type 1 and 2 Groups


Groups that exist and managed in external directory services like LDAP

Such groups are created and managed in external directory services like LDAP. Such groups are imported into the BPM database when an user logs in for the first time. Such groups have a GROUP_TYPE as "0" in the table LSW_USR_GRP_XREF. Such groups cannot be edited or deleted through the default Process Admin Console. They needs to be changed from external directory like LDAP.

Groups that are created in the environment through Admin Console.

These groups are created and managed through the Process Admin Console. Since these groups are not represented in the centralized directory services like LDAP, these are purposed to be used inside BPM applications only. These are analogous to TeamWorks logical roles in TeamWorks 6.2. These groups have GROUP_TYPE as "3" in the table LSW_USR_GRP_XREF.

Groups that are dynamically created by virtue of task allocation.

Groups are dynamically created when a new task is routed to a lane participant (Participant Group) or assigned to a list of users (Ad-hoc group). Dynamic groups corresponding to TeamWorks logical roles are also created during import from a 6.2 environment. These groups are not visible on the Process Admin console, hence cannot be managed. Dynamic groups that are created from Participant Groups or Logical Roles have GROUP_TYPE as "1" in the table LSW_USR_GRP_XREF, where as the dynamic groups crated from list of users have GROUP_TYPE as "2" in the table LSW_USR_GRP_XREF.