Screencast 12 – WebCenter Portal Content Personalization

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 http://docs.oracle.com/cd/E23943_01/webcenter.1111/e10148/jpsdg_app_els.htm#CHDDGFHE

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

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 http://docs.oracle.com/cd/E29597_01/webcenter.1111/e25595/jpsdg_svc_intro.htm#CEGEJAIF 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.

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 Krantzhttp://fusione2o.blogspot.com/2011/07/content-presenter-cmis-complete.html. 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 11.1.1.7 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
http://docs.oracle.com/cd/E28280_01/webcenter.1111/e12405/wcadm_pcon.htm#A1006852348

WebCenter Portal Identity Store
http://docs.oracle.com/cd/E28280_01/web.1111/e13813/custom_webcenter_admin.htm#WLSTC2769


Sample Code Download
WebCenter Portal Personalization Sample Code

2 comments
ucmdev
ucmdev

Hi,

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


Thanks!

John Brunswick
John Brunswick moderator

@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!

Latest blog post: top-bg