Every organization operates with different kind of documents. Oracle Forms systems usually store documents directly in database, using BFILE/BLOB format. It is hard to manage such content and publish it effectively. Oracle Fusion provides Oracle Universal Content Management (UCM) 11g product to store and manage unstructured data (documents, images, etc.). Today I will explain how to define Content Server connection from JDeveloper 11g and how to use WebCenter 11g ADF task flow to manage content stored in UCM repository.
You can download Oracle UCM 11g from OTN:
Sample application - UCMNewFolder.zip. This sample is typical ADF 11g application with WebCenter 11g support. Additionally it is using Oracle UCM 11g RIDC API, topic to be covered by future posts. There is no need to import RIDC API for WebCenter 11g UCM related ADF task flows. Its just my sample application is using advanced Oracle UCM 11g functionality (programmatic folder creation, removal and information retrieval) I will explain it in near future.
In order to compile provided sample application, you need to install RIDC library. This library can be found inside Oracle UCM 11g installation home - ORACLE_ECM/ucm/Distribution/RIDC/jdev:
Install this library as JDeveloper 11g extension - from local file:
New extension will be added:
RIDC library will be listed as JDeveloper 11g extension:
Now, when RIDC library was installed - we can compile sample application. Let me repeat - there is no need to install RIDC library, if you want to implement only WebCenter 11g ADF task flows related to UCM. However, sample application contains custom functionality, it requires RIDC library (next post topic).
Its time now to define Content Repository connection. This will enable us to use WebCenter 11g Document service (Oracle UCM 11g) ADF task flows:
There is developer guide for Oracle WebCenter 11g, it describes how to setup connections for Oracle UCM 11g from JDeveloper 11g environment - Integrating, Presenting, and Publishing Content. I will explain from my experience, what are the most popular options for Content Repository connection configuration. As you can see from Oracle WebCenter 11g developer guide, there are various RIDC Socket Types. There are two most common types - web and socket. You should keep in mind, when using web socket - it will not perform Identity Propagation and will not access secured Content Repository content. This means web socket is good for read-only public access. Let's check how it works. I will configure web socket connection:
For web socket, you need to specify URL of the Web Server Plugin, Admin Username and Password for Oracle UCM. Set this connection as primary, it will become default connection:
Before running application and testing defined connection, lets open Content Server admin console and check how content folders are defined there:
Under Contribution Folders we have our custom emplDocs folder. This folder was created by me, WebCenter 11g Document service ADF task flows are configured to point to this folder:
Folder is protected by HumanResources security group:
Now when I run sample application, with web socket configured for Content Repository connection, login is failing. Its because web socket is not allowed to perform Identity Propagation from ADF security context, Oracle UCM 11g server rejects anonymous access to protected folder (it would work if we would try to connect to public folder):
Let's change to socket connection and see how it will work. For socket connection, specify its type, server host and listener port (admin username and password are not needed). Keep in mind, Oracle UCM 11g Content Server needs to be configured to accept requests from WebLogic Server machine, otherwise socket connection will be rejected:
Now application is able to connect to protected folder and render WebCenter 11g Document service ADF task flow - Document Manager:
Document Manager WebCenter 11g ADF task flow provides different document management operations out of the box - file upload, download, removal, update and versioning. We can test it and try to upload a new file:
I will select image file:
File is successfully uploaded into protected folder and stored inside Content Repository - Oracle UCM 11g:
My next blog post will describe how to manage Oracle UCM 11g folder structure programmatically from Java code using RIDC library - create, remove and retrieve folder info.