0

How can I route a task based on user attributes in IBM BPM 8.5.6?

In my case I have a list of attributes assigned to each users. For example a user will have an attribute called Region and this can have multiple values. So what we do is keep it as a comma separated string. Like REG1,REG2,REG3. Now when a task is initiated there will be a region associated with it. So I want this task to be routed to only those users who have that region value set.

I've created a team filter service and filter out a list of users. This works fine but the problem here is if we add a new user with appropriate region or add new regions to existing users these tasks are not visible to them. Is there any way to dynamically update the user list?

PS: I can create one group per region or one team retrieval service per region as there will be 100s of regions.

Syam S
  • 8,421
  • 1
  • 26
  • 36
  • For my understanding of the matter: Your team filter service works, but new users / new user attributes do not get updated? How long did you wait for them to update? – javahippie Sep 16 '15 at 06:17

1 Answers1

1

IBM BPM won't update the user repository all the time, there are certain events that will trigger an update:

http://www-01.ibm.com/support/knowledgecenter/SSFPJS_8.5.6/com.ibm.wbpm.admin.doc/topics/sync_users_and_groups.html

Quoting the article (because IBM articles may vanish at some point):

IBM Business Process Manager implicitly synchronizes external users and groups based on the following triggers:

  • Upon startup of a cluster member or server, all available groups (without members) are synchronized, so that all external groups are available for IBM BPM modeling and execution.
  • When a user logs in to a IBM BPM web application, such as Process Portal, for the first time, that user is created in the IBM Business Process Manager database.
  • When a new or existing user logs in to a IBM BPM web application, such as Process Portal, that user's full name and group memberships are updated. The groups the user belongs to are queried from the external user registry, and the IBM Business Process Manager database content is updated to reflect the current state.
  • When a REST call is triggered because a user that was newly registered in a federated repository (using an LDAP server) is not yet known to IBM Business Process Manager, synchronization of external users and groups with IBM Business Process Manager takes place. This synchronization is done only once.

You can also trigger synchronization via the process admin console or manually with usersSync or usersFullSync commands

javahippie
  • 806
  • 10
  • 25
  • Thanks for the answer. I have seen this link, but I couldn't successfully invoke this scripts. However, will this update dynamic groups as well? How can it determine whether a user should be added to a dynamic group? Will it be checking against the team filters? – Syam S Sep 16 '15 at 07:51
  • I cannot say if the team filter is caching some values, I would have to try this out by myself. I do not know if I can manage to find the time, if I do, I will come back to you. – javahippie Sep 17 '15 at 14:09