jueves, 6 de abril de 2017

WCP-BPM12c: Process Workspace

In case of you are planning to integrate the BPM Process Workspace in WebCenter Portal in 12c version then read the following :).

First of all you need to follow the steps mentioned in the official documentation (Note that now this information is in the BPM 12c documentation and not in WCP 12c documentation):

BPM 12c - Integrating with Oracle WebCenter Portal

Basically you need to:
  1. Register a BPEL connection within WebCenter Portal.
  2. Restart Portal (then it will use this BPEL connection to create a Worklist Connection as well). You can check all of this connections by using WebCenter Portal WLST Scripts.
  3. Add the BPM Resource Catalog as in the Shared Assets of WebCenter Portal

Surprisingly the Resource Catalog only offers the Task List and Available Processes Task Flows. I am wondering what happened with Cases and other stuff you can access in the BPM Workspace :/. In 11g version we had the Portal Templates and a complete setup of BPM Task Flows. All of them has been deprecated (as I saw when decompiled the BPM-WCP Task Flows library)

BPM Resource Catalog (BPM Task Flows)
When you add any of these Task Flows into a WebCenter Portal Page you will face an amazing and sexy error in your SOA server logs.

java.lang.NullPointerException
at oracle.bpm.workspace.adf.wcp.WebCenterTaskFlowPageListener.beforePhase(WebCenterTaskFlowPageListener.java:67)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:97)
at oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:195)
at oracle.adfinternal.controller.faces.lifecycle.


This is due to a BUG that has been solve in previous releases. But, unfortunately were not included in 12c version. I have already raised this bug and you can find the patch here:

Patch: 25064586: 12.2.1.2.0 Blank worklist portlet in webcenter portal to bpm integration

Now... We can add the Task List and Available Processes Task Flow to our pages :).

BPM Task List in WebCenter Portal
If you still face a blank screen and the following stack trace appears in soa_server1.out

Broken pipe[[
java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
 
It means that you are accessing to your WCP using the OHS port or LB Port and you have made the configurtion of your BPEL connection by using the SOA Server Managed Server Port. Please, make sure you followed properly the steps mentioned in the documentation about configuring OHS :).

I hope this guideline helped you!.

My next step is ask Oracle why they have deprecated the Other Task Flows as I have the feeling that all BPM functionality is not now exposed :(.

WCP 12c: Automatic switch of the Skin when a Template is selected

Do you like when an Out of the Box Page Template is selected then a Skin is selected automatically?.

You can do it with to your custom Page Template / Skins as well.

Basically you need to add a property to your Page Template called preferredSkin. Go to the Edit Properties of your Page Template and add the preferredSkin (skin-family name).

preferredSkin Property for auto-skin selection


Now when you select the Page Template then the Skin will be automatically selected as well.
This will help your Portal Administrators to do not have headaches looking for the Skin that is more suitable for your Page Template.