Thursday, June 23, 2016

Reviewing IBM BPM caches

Below is the details of IBM BPM Caching details in Process Admin console.
When you go to IBM BPM Process Admin -> Manage Caches you get a table. Below is the description for that columns.

AbbreviationMeaningExplanation
CACache accessShows the number of times the cache was refreshed and accessed.
UCAUnrefreshed cache accessShows the number of times the cache was accessed but not refreshed.
UCPUnrefreshed cache percentageShows the percentage of uncached access versus cached access for this cache.
Last A.Last accessedShows the most recent access.
StatusStatusShows whether the cache is on or off.
ActionsActionsAllows you to show or reset the cache.


More details about Cache - Must Read

https://www.ibm.com/support/knowledgecenter/en/SS964W/com.ibm.wbpm.admin.doc/topics/perf_tuning_instrument_data.html

https://www.ibm.com/support/knowledgecenter/en/SS964W/com.ibm.wbpm.admin.doc/topics/perf_tuning_other.html

Wednesday, May 18, 2016

Deleting a toolkit snapshot in IBM BPM Environment - 7.5.1.2+


We can delete a toolkit snapshot using BPMDeleteSnapshot command in IBM BPM 7.5.1.2+ environments. First we need to check if all the required IFixes are installed for these commands. that can be checked by following below post.
http://randombpmsolutions.blogspot.co.uk/2016/08/bpmdeletesnapshot-and.html

Toolkits can have dependencies on process app or another toolkit.The toolkits cannot be deleted while those dependencies exist. To delete toolkits, complete the following steps:

  • Deactivate the toolkit snapshot of the dependency with the BPMDeactivate command.
  • Stop the toolkit snapshot with the BPMStop command.
  • Get a list of toolkits and process applications that have dependencies on the toolkit snapshot with the following command: BPMShowSnapshot -showDependents snapshot_name.
  • Starting with the root of the list of reported dependencies, remove each dependency. For each dependency that you want to remove, delete the snapshot of the toolkit or process application.
  • After you resolve all of the dependencies, delete the snapshot with the BPMDeleteSnapshot command.
Below DB query gives the details about all toolkits which does not have nay dependency on and processApp or another Toolkit which makes it a candidate to be deleted.


select  p.SHORT_NAME, s.NAME, s.CREATED_ON from LSW_SNAPSHOT s, LSW_PROJECT p where s.PROJECT_ID = p.PROJECT_ID and

s.SNAPSHOT_ID not in (select d.TARGET_SNAPSHOT_ID from LSW_SNAPSHOT s, LSW_PROJECT_DEPENDENCY d, LSW_PROJECT p  where s.SNAPSHOT_ID = d.TARGET_SNAPSHOT_ID and p.PROJECT_ID = s.PROJECT_ID group by d.TARGET_SNAPSHOT_ID)
and p.IS_TOOLKIT = 'T'


Below DB query gives the list of toolkits having dependency with number of dependent ProcessAll/Toolkit snapshot. this query can be used while selecting the toolkits which can be deleted easily.

select p.SHORT_NAME, s.NAME,d.TARGET_SNAPSHOT_ID, count(d.PROJECT_DEPENDENCY_ID) as dependancy from LSW_SNAPSHOT s, LSW_PROJECT_DEPENDENCY d, LSW_PROJECT p  where s.SNAPSHOT_ID = d.TARGET_SNAPSHOT_ID and p.PROJECT_ID = s.PROJECT_ID group by d.TARGET_SNAPSHOT_ID, s.NAME, p.SHORT_NAME


Wednesday, April 20, 2016

Ad-hoc groups in IBM BPM - when it will be deleted

Ad hoc group - If a team calculates its members using a service, the service returns a set of users and groups. This list of users and groups is then persisted as a reusable entry in the database. Ad hoc groups are immutable. Ad hoc groups can also be created by using a list of users or a list of groups

in IBM BPM Ad-hoc groups are getting created when we use routing option 'List of Users'

this ad hoc groups are temporary in nature and continue to exist until they have at least one available instance.

Ad hoc group will be deleted when all the task related to ad-hoc groups are deleted or reassigned.

Wednesday, March 23, 2016

IBM BPM Task status codes

Below are the Task Status Codes for IBM BPM 

It is mentioned in PS database lsw_task_status_codes table. This is just for ref.



STATUS_ID NAME STATUS_VALUE
1 New 11
2 Received 12
3 Replied 13
4 Forwarded 14
5 Sent 21
6 Actioned 31
7 Closed 32
8 Special 41
9 Deleted 91
10 Alert 61
11 Help_Request 62
12 Comment 63
13 Answered_Help_Request 65
14 Ignored_Help_Request 66
15 Followed 70
16 Tagged 71
17 Collaboration 72

Tuesday, February 2, 2016

Ad-hoc Group containing list of groups - DO NOT USE

in IBM BPM Routing if we select 'list of users routing assignment where we can provide a string array which should have list of users.

though it is possible to provide the Groups/Roles directly in this list of users using 'Role:<role_name>', it is not recommended to use groups/roles in list of users.

I have tried the same and it worked. 


To be honest,  I was amazed this worked at all. AFAIK routing to a custom list of groups is not supported. As the name says, the routing is "List of users", which is a fairly explicit name. 

One of team in our organization has used this and it was working for more than a year(which is surprising) . Another team has also used same thing last week and all the list of groups/roles are being stuffed in same ad-hoc group and both team started facing issue.


If I had to do this, I would actually create a service that got the list of users on each group (there is an API for that) and then created a list of users by merging them.

Prior to the fix your solution was likely "working" because dynamic groups were never reused, so whatever code path you were leveraging was simly creating a new dynamic group every single time, even if it was an exact copy of another group.



Tuesday, January 19, 2016

Deactivate the default snapshot for IBM BPM Process App

In IBM BPM, we can deactivate snapshots from ProcessAdmin Console. But if we try to deactivate the snapshot for any process app which is Default then product will not allow it and will give message as below.

This is the default version of this application, and cannot be deactivated.

Still, If you really want to deactivate the default snapshot for any Process App, It can be done using wsadmin BPMDeactivate command with -force option.

For Example -
wsadmin -conntype SOAP -port 8880 -host ProcessCenterServer01.mycompany.com -user admin -password admin -lang jython

wsadmin>AdminTask.BPMDeactivate('[-containerAcronym BILLDISP -containerSnapshotAcronym SS2.0.1 -containerTrackAcronym Main -force]')

Below is the details about BPMDeactivate command. More details can be found at IBM Knowledge Center.

BPMDeactivate command

Syntax
BPMDeactivate 
-containerAcronym process_application_or_toolkit_acronym
-containerSnapshotAcronym snapshot_acronym
-containerTrackAcronym track_acronym
[-force]
[-suspendAllBPDInstances]
[-outputFile file_path]

Parameters

-containerAcronym String
A required parameter that identifies the process application (Process Server and Process Center) or toolkit acronym (Process Center only). For example, the BillingDispute process application might have an acronym of BILLDISP.
-containerTrackAcronym String
An optional parameter that identifies the track associated with the process application or toolkit. The default value is Main.
-containerSnapshotAcronym String
A required parameter that identifies the process application (Process Server and Process Center) or toolkit snapshot acronym (Process Center only).
Tip: You can find the process application acronym on the snapshot page in Process Center or by using the BPMShowProcessApplication command.
-force
An optional parameter that deactivates the default snapshot of the process application or toolkit. Default snapshots are not deactivated unless you include this parameter.
-suspendAllBPDInstances
An optional parameter that suspends all instances associated with the given context instead of letting them continue to run. The instances remain suspended until you resume them.
Restriction: This parameter is not supported when Tip is used as the value for the -containerSnapshotAcronym parameter.
-outputFile file_path
An optional parameter that specifies the file path to write the log messages that result from running the command. The path to the file can be absolute or relative but the directory structure must already exist. If you do not provide this parameter, the message are written to the SystemOut.log file.


For more details, follow below.
http://www-01.ibm.com/support/knowledgecenter/SSFTDH_8.5.6/com.ibm.wbpm.ref.doc/topics/rref_deactivateprocessapplication.html



Wednesday, December 2, 2015

Limiting Inbox search result for IBM BPM

sometimes if we have lots of instances assigned to a user or usergroup then refreshing inbox for user become very slow as IBM BPM tries to get details about all cases and it might take upto 10 minutes.

This performance issues is due to large number of cases so there are only two solutions,
1.) close the cases and keep only required cases open and available, which does not work in all scenarios
2.) limit the number of instances fetched by a saved search/inbox in IBM BPM Portal. which can be done by below steps.

-> In newer version this value is by default set to 500 which is good and you might need to make it higher if you want to see more instances in result.

Optimize the number of loaded search result entries

You can optimize the number of retrieved results entries of your saved searches.
The saved searches are optimized to process 500 result entries. The displayed pages of the result contains up to 500 entries, which are retrieved from the server. In addition, the total number of entries is displayed.
If you expect more than 500 records for a call, for example, if you are using the TWSearch function or the saved search in an API format, you can increase this number.
To retrieve a different number of entries, complete the following steps:
  1. Insert the following section into the 100custom.xml file:
    <properties>
        <server merge="mergeChildren">
      <process-search-engine-count-optimization merge="replace">500</process-search-engine-count-optimization>
           </server>
    </properties>
  2. Adjust the 500 value to meet your needs. The larger the value, the more memory and time is needed to retrieve the entries.
  3. After saving changes to the 100custom.xml file, restart the server.


You can find more details about his in blow tech-note by IBM