Oracle UCM 11g and ADF Data Control Connection

download Oracle UCM 11g and ADF Data Control Connection

of 6

description

Oracle UCM 11g and ADF Data Control Connection

Transcript of Oracle UCM 11g and ADF Data Control Connection

Oracle WebCenter 11g provides out of the box ADF task flows for Oracle UCM 11g content repository management -Oracle Universal Content Management 11g and Oracle ADF/WebCenter 11g Integration. It might be not enough, especially when implementing custom solutions. For those custom cases, we have option to define Data Control connection and retrieve information about stored documents through Bindings layer. One practical use case - select and retrieve ID's for the selected documents, store those ID's into database table. I will describe in this blog, how to retrieve selected documents ID's from Data Control defined on Content Repository connection.

Sample application allows user to select documents from custom list-of-values screen and retrieves ID's of these documents for future processing -UCMNewFolderDC.zip.

Oracle WebCenter 11g ADF task flow for Content Repository provides all required functionality:

However if we want to implement custom screens, for example like this custom list-of-values with documents for selected employee, we need to use Data Control generated for Content Repository connection:

Users will be able to select multiple documents and store their selection into database (custom functionality):

ID's and names for the selected documents are retrieved and can be processed in ADF:

Data Control for Content Management connection is created directly from Content Repository connection:

By default, document ID is not included into Data Control attributes list. You should add one more attribute, name itid(or give any other name you like) and change type to Long:

JCR Path points to Oracle UCM 11g Content Repository metadata structure. You will retrieve document ID, by pointing tojcr:content/idc:metadata/idc:dID. This will bring ID for current document:

Standard ADF Data Control is generated, there isgetItems(path, type)method to retrieve list of documents from Content Repository by predefined path and type (all, documents or folders):

Drag and dropReturnvariable ofgetItems(path, type)method into ADF Faces fragment/page and create ADF Faces table component (filtering, sorting and selection features are provided by default):

Name column is combined to show document name:

And same time to open content by document URI:

Oracle UCM 11g Data Control methodgetItems(path, type)provides two parameters - path and type. Sample application retrieves folder path dynamically and brings only documents (no folders):

Custom list-of-values dialog listener is retrieving keys of the selected rows and accessing id/name values for each selected document:

There is one trick, when you want to enable multiple selection and access selected row keys in Java. First, make suremultipleselection property is set:

Then make sure, this line is removed from ADF Faces table tag:

selectionState= "#{bindings.findAllDepartments1.collectionModel.selectedRow}"

Otherwise, it will return always only one selected key. Based on my blog post from 2007 for ADF 10g,