Screencast 12 – WebCenter Portal Content Personalization

At Collaborate 2013 I had the privledge of presenting strategies for delivering personalized content within WebCenter Portal.

Personalized content delivery is a core tenet of enterprise portal strategy. Given that portals are focused on supporting an authenticated experience, they supply an ideal framework to marry user profiles with relevant cotent and experience.

A content personalization strategy combined with the technical approaches outlined here, allow WebCenter Portals to deliver an easily personalized experience.

How can it be achieved without writing code and available to be managed by the business? In this episode we dive into the approach, implementation details, environment setup and supply sample code to make this happen in the following sections

The User Profile Object
The user profile object will allow us to access attributes about our portal user to help in the delivery of targeted content. Without the database created via the RCU the user object will simply return an empty value for any of the attributes that we request from it outside of basic ones like the user name. This can create many hours of confusion an unecessary troubleshooting, definitely run the RCU creation process below before starting into development.

Details around the various user profile attributes that become available can be found at

Please note that the above documentation is incorrect, the WebCenterProfile object needs to be called with a lowercase ‘w’ as follows


Running the RCU
In the sample instance I am running an Oracle XE 11.2 Database. When running the RCU you will most likely need to adjust some of the database settings to enable the RCU to run without issue. On my Windows 7 64 bit laptop I hit the following issue

RCU-6083:Failed - Check prerequisites requirement for selected component:WEBCENTER
Please refer to RCU log at C:UsersjbrunswiDownloadsofm_rcu_win_11. for details.
Error: Oracle Initialization Parameter 'PROCESSES' is too low.
           Cause: The Oracle Initialization Parameter 'PROCESSES' must be at least 200.
           Action: Change the Database Initialization Parameter 'PROCESSES' to 200 or more, then rerun RCU.

RCU-6092:Component Selection validation failed. Please refer to log at C:UsersjbrunswiDownloadsofm_rcu_win_11. for details.

Many posts suggest setting the processes value to 10000 or more. This created additional issues for me, but I was sucecssful by simply using the minimum of 200, by using SQL Plus to execute the following command.


For a production system this would most not likely be needed, as your system should be configured more robustly. We do not need to worry about this for development laptops though.

WebCenter Portal Data Source Registration
After the RCU has been setup, you will need to let your WebCenter Portal application become aware of the database to support the additional profile information. This can be done within the JDeveloper interface.

Take a look at for full details on configuring your WebCenter Portal application’s connection to the database.

CMIS Queries
CMIS represents an SQL like format to query content stores. It is especially helpful delivering out targeted content within WebCenter Portal, as the Content Presenter templates can be matched to content items to display via CMS queries. This allows us to blend a particular user profile attribute within our query syntax to deliver the correct content to a given user / situation. I have not covered it within this post, but it is even possible to pass attributes into the query on the basis of the area of the portal that the user is in – blending both application context, as well as user attributes.

Weblogic Embeded LDAP
For testing purposes it is easy to leverage the embeded LDAP instance within your JDeveloper IDE. It is possible to add users and edit their profile attributes for testing. Navigate to your WLS console (e.g. http://localhost:7001/console) to access your embedded LDAP instance. The screencast above shows the click path to enter this area.

Targeting Content based on Profile
The following is a simplistic example, but uses the tag attribute on a given content item in an attempt to match it against a user’s title from their profile attributes. It is the one used in the demo video above. Once you have added a Content Presenter TaskFlow to your page, the following can be used to specify what is retrieved from WebCenter Content by editing the datasource attribute in the Content Presenter TaskFlow and used to populate the Content Presenter view.

${'SELECT * FROM ora:t:IDC:GlobalProfile WHERE ora:p:xWCTags = ''}${webCenterProfile[securityContext.userName].title}${'''}

In order for Content Presenter to use the CMIS query, make sure to set the datasourceType to


For more details about Content Presenter and CMIS, check out the following blog post from Oracle A Team member Stefan Krantz By combinding Stefan’s post with the above usage of the user profile attributes, creating a personalized experience with a rich interface is easily possible.

Extending the User Profile
With the release of WebCenter Portal it is now possible to use some WLST scripts to add additional profile information for your portal users.

Synchronizing Profiles with the Identity Store

WebCenter Portal Identity Store

Sample Code Download
WebCenter Portal Personalization Sample Code

  • ucmdev
    October 17, 2014

    The sample code link is broken. Can it please be corrected


  • John Brunswick
    October 18, 2014

    ucmdev Thanks Рcurrently upgrading the site, should be back online with all files later this week.  Sorry for any hassle with the download, please check back then!

Leave a comment