Field Validation in IBM BPM Coach

Those who have worked on IBM BPM v8.0 know the difficulties with field validation in IBM BPM Coaches with the introduction of Coach Views. A traditional java script methods which we use for field validation in the lower version coaches (heritage coach as it is called now) won't work directly anymore. we need to implement hell lot stuff to perform validation on a field and display error message at the field if the data entered is not as per rules. Well, it just got easier  in IBM BPM V8.0.1
In this post let us explore how to perform validation for given field in a coach. Below shown is a simple setup for performing validation on coach fields.

Figure 1 : Coach Validation Setup
In IBM BPM v8.0.1, a new functionality called Fire Validation is introduced which is linked to a transaction (line joining the coach and next component in the flow) of a Boundary Event. In the above figure, you can see this in the properties of the transaction.

Differences or Improvements from IBM BPM v7.x to v8.x

All these days I was working on IBM BPM V8.0 but missed noticing many differences in Suite  except the obvious ones. I know there are many developer like me out there. In this post I would like share few differences which I noticed.

IBM BPM Process portal

This is an obvious difference that any one who worked on lower versions of IBM BPM will notice. There are so many new features introduced along with the change of look any and feel of the process portal by using Web 2.0 technologies to enhance user experience and productivity.

Approve/Reject Via Email in IBM BPM

This kind email notification is very use full in case approval notification to a stake holder in a process. Let see how to build it. (I am just giving an idea but not providing entire code for this)
Following components can be used.
  1. Teamworks Email service to send mail
  2. Intermediate message event
  3. UCA (onEvent)
  4. Invoke UCA
  5. External activity (or a Human service)
  6. Servlet to trigger IBM BPM Service which will in turn triggers UCA (from point 3)
Click to accept approach


How to convert XML String to XML Element in IBM BPM

Below post illustrates on how typecast an XML string to XML Element in IBM BPM.

I have recently encountered an issue of this sort in one of my projects.
Traditionally, below code snippet will work in converting an XML string to XML Element.

Where tw.local.xmlEleVar is of type tw.object.XMLElement and tw.local.xmlString.

But in later version of IBM BPM v8.0 (Starting from V8.0.1), the package used above seems to be deprecated. When the above snippet is used in ibm bpm v8.01 it started giving error. Then after some trail and error we found that the expression below, itself type casts the xmlstring to XMLElement.
tw.local.xmlEleVar = tw.local.xmlString


How to fire a timer in IBM BPM manually?

Many a times during the development cycle or testing cycle we might need fire timers manually (to avoid wait time for timers to trigger by itself) in a process instance to test the reminders or escalations which are usually triggered using the timers attached to an activity in the bpd.

In this post let us look at how to manually trigger a timer in IBM BPM process instance from ibm bpm process designer .

Below screen shot shows a process inspector view of a given process instance, where token is waiting on the activity with timer attached to it. In the 'execution state' tab at the right side one can observe the current state of the process instance. There is one token for Activity1 and one token for timer1.