This blog is the 3rd in a serie of 3 blogposts. All regarding the different approaches we tested during our project where we had very content rich (a lot of documents) Oracle BPM processes.
- Using attachment documents with Oracle BPM Human Tasks
- Using a Content Server documents with Oracle BPM Human Tasks
- Integration of Oracle BPM and Oracle WCC/UCM
So let’s start with the beginning. The Oracle documentation mentions how to enable this integration from the Human Task configuration. However it’s a bit vage how to configure the UCM/BPM integration itself.
So first we enable this magical checkbox on our Human Task:
Which after deployment results in this error message: Document Store not available. Please configure the document store.
When we check our loggings we can see that:
<Error> <oracle.soa.services.common> <BEA-000000><oracle.bpel.services.workflow.repos.UCMUtil.getUCMInfo>
Error retrieving UCM information from the server.
Ensure that credential store map WF-ADMIN-USER with key WF-ADMIN-CREDENTIAL contains UCM server admin username/password.
Also ensure that Workflow configuration parameter UcmIdcUrl contains IDC socket connection url to connect to UCM server and UCM server has permission to let SOA server connect to it using IDC protocol.
Of to work we go. We need to make sure that our SOA/WLS/UCM configuration is correct and these settings are scattered on multiple locations in Oracle Enterprise Manager.
Before we start you need to make sure you have the IDC (IntraDoc) port of your UCM installation. To verify this check your UCM configuration file: %domainhome%/ucm/cs/config/config.cfg
Most likely this will be 4444.
First the SOA/BPM part:
Right-click soa-infra -> SOA Administration -> Workflow config -> “More Workflow Notification Configuration Properties” -> workflow config -> human-workflow.
Make sure the setting UcmIdcUrl is configured correctly to contain the UCM-server hostname and IDC port.
Second we configure the username and password the BPM/SOA engine will use to connect to the UCM server which is located in the Weblogic section of EM. So rightclick on your domain in Weblogic Domain -> yourdomain -> Security -> Credentials.
Create a new Map WF-ADMIN-USER and in that map create a new Key WF-ADMIN-CREDENTIAL
3rd part is to make sure the UCM server will accept our connection, so let’s rightclick the Oracle Universal Content Management server in the WebCenter section of your Enterprise Manager. Make sure the Intradoc (IDC) serverport is correct and that the IP filter contains the SOA/BPM server hostname.
Save, restart if needed and check your Workspace Manager again for your attachments.
And voila the error shouldn’t be there anymore and when clicking the Add icon you will now find some additional UCM options. Small cheer here, your BPM/UCM configuration is now working.
You may now upload documents to your task:
Or search UCM for documents:
Success, we have a working configuration between Oracle BPM and Oracle UCM.
In our case we have the additonal requirement to attach the document from the BPM process as mentioned in the earlier blogpost.So instead of mapping the full URLfor our content management server and document in the attachment.URI element, we can just simply use the following function: concat(“ecm://”,bpmn:getDataObject(‘DO_Case’)/ns1:case/…/DocumentNr)
where documentNr is an element containt the ID returned by the UCM servers CheckInUniversal operation.
The attachment.URI element will look something like this: ecm://100
Besides that, make sure to the attachment.StorageType ellement to: UCM
When the task is assigned to the BPM Workspace it will now contain the reference to the correct UCM document.