Skip to main content

The exposed dashboard service from toolkit is still showing in Process Portal

This is the issue I noticed in IBM BPM 8.5.7 before december fix pack. This might be fixed in next fix packs, but if you are facing this issue you can try the steps in last paragraph. If you want you can read my sad efforts :D

I had faced this issue while designing dashboard client side human service (CSHS). For testing the dashboard service with custom components, I copied it into toolkit and then forgot to remove it before creating toolkit snapshot. As a result, the process apps started showing this coach from toolkit under Exposed items after upgrading to latest toolkit version.

It took some time to figure out why multiple dashboard is showing up in Process Portal and later realized the duplicate copies are from toolkit. So fixed the exposure of the dashboard CSHS (I didn't delete, as I needed it for testing) and upgaded the toolkit version. As expected it removed the coach from Exposed items list in Designer, but interestingly it was still available in the Process Portal and was accessible. wierd :/ :(

I then tried to change the name of the coach inside the toolkit and upgraded the version. Interestingly it was still available in the Portal with previous name from each process apps.

Seems there is some bug IBM has left while working on the CSHS exposures and it don't remove the exposure entry for each process app if you change the exposure setting in the toolkit.

Finally I decided to reset the toolkit dependency. I removed the toolkit and added it back. As expected it cleaned all the entries of that toolkit and fixed the exposed coach issue.

Cheers,
Saroj

Comments

Popular posts from this blog

How to get URL of web file in IBM BPM

In IBM BPM, sometimes we need the URL of the web files added to the process app. Below is the script that can be used to get the actual URL of the web file dynamically helping to avoid the static hardcoding. com_ibm_bpm_coach.getManagedAssetUrl("file.png",com_ibm_bpm_coach.assetType_WEB Hope this will be helpful. Thank you for stopping by. Please leave comment and share if this helps you. Cheers!!

Simple timer implementation in IBM BPM service

In IBM BPM we can use the Timer events in the BPDs to introduce the waiting period but we don't have any direct implementation of the timer in the service flows (or the server-side scripts). In this post, I'll explain a simple way to use the existing Java class in the script to simulate the time delays in the server-side logic. Below image shows the implementation of it. In the above example, I have used the java.lang.Thread.sleep() method to add the desired delay. The best part of this implementation is we don't need to import any additional package or classes the time is accurate to the milliseconds and not random and different when we try to use the counter and for/while loop Below is the script for reference var waitTime = function(milliseconds) { log.info("Wait time for " milliseconds" + milliseconds start"); java.lang.Thread.sleep(milliseconds); log.info("wait time over"); } waitTime(2000); That's all i...

How to pass parameter to function while calling it in spark controls

This is extension to the article of Creating Custom Functions in Spark UI Toolkit. It don't have option to explain how to define the function with real input parameter and invoke it with data. To understand how to Create Custom Function in Spark, please refer this  link. Here I'll explain how to define the function with real input parameter (not the control input) and how to invoke it with the data. It's the normal way of writing any parameterized function in custom HTML (Advanced control) in IBM BPM, like openLink(control, val) {//code here;}. Screenshot below. In this you can see I'm using val variable to get the input and deciding the link to open based on it's value. The suggested way to call the function in spark on any control event is like @openLink() as shown below.   But this will not pass any value. Interestingly as per the explanation in the Spack help, it pass the control reference in the function. and you can't try the combinations of passing the e...