Posts

Showing posts with the label Oracle BPM

Retrieve BPM composite version from ADF

It is a common scenario that you use the same ADF app for different versions of the BPM flow. In those cases you would like to control the visibility of the new features of the ADF app that supports the BPM flow changes .. Here is the way to read this info from ADF Add below to you page definitions.. <accessorIterator id="scaIterator" MasterBinding="taskIterator" Binds="sca" RangeSize="25" DataControl="Details" BeanClass="Details.scaType"/> <attributeValues IterBinding="scaIterator" id="compositeVersion"> <AttrNames> <Item Value="compositeVersion"/> </AttrNames> </attributeValues>                And then control your features as below, assuming the new button is visible at 1.10 rendered="#{bindings.compositeVersion.inputValue  >= 1.10 }”

How to avoid timeouts with Oracle BPM loops

Image
Say that you have a loop in your flow and you send some notification to all of your customers. This might be thousands of executions. And if things go wrong you may hit the timeout limit and end up with a suspended/halted bpm instance. To avoid this we can use a Timer in our loop even though we don’t need one. Here is the idea. In my environment the timeout is set to 30 seconds to simulate the issue and the solution. Each service call takes 10 seconds. The loop cardinality is 5. So it will timeout after the 3rd call. Lets see. Yep it faulted As it can be seen in EM it made the 4th call but never came back. Now lets add timers to our flow. I am adding a dummy timer that will hold the execution for a second. Now we didn’t have any issues and process executed properly, Update: I found out that this is called "Forced Dehydration" in Oracle terminology, more info

Refreshing Data Controls When the BPM Payload is changed

As you all know by now that simple things can get complicated with JDeveloper. This is one of them, While working with BPM you sometime need to alter the Payload type and add new attributes to it. In able make those new attributes visible at the ADF taskflow side you need to refresh the data control definitions. This is a very simple, straighforward task. The issue comes around when you work with a team , where each member uses a different folder structure for their dev box. The project that you have the ADF pages and taskflows keeps a reference to the payload's schema definition files. The problem is this reference uses an absolute path instead of a relative path. So once you move your workspace to a different folder you can no longer do a "Refresh Data Control". To workaround this open DataControls.dcx file and update the references to the PayLoad XSD files.