Editing WebCenter Spaces’ Page Template in JDeveloper

Here’s a quick post on how one can leverage the new mechanism of “Extending Spaces” to edit Spaces’ resources (like Page Templates) in JDeveloper.

Step 1: Make a copy of “WebCenter Spaces Side Navigation” and Download it from Spaces

Step 2: Open the workspace (DesignWebCenterSpaces.zip available here) and import the Page Template archive (.ear)

Step 3: Make a few changes a) drag and modify the width of the side “panel” b) add a panel customizable so we can add taskflows from the resource catalog

Step 4: Save and right-click on template and select “Upload Portal Resource”

Step 5: See the changes show up in Spaces instantly!  Further edit template using composer.

Step 6: Add a spaces switcher or any other taskflow.

Save and you are done!

Extending WebCenter Spaces Using JDeveloper

In addition to being able to customize WebCenter Spaces using the browser-based tools, you can now also customize and “extend” WebCenter Spaces in many ways in JDeveloper.  You can take a resource like a Page Template, modify it using JDeveloper, and directly upload it with one-click from within JDeveloper.  This is really helpful if you want to develop these resources in an iterative way.

Here are quick links to the relevant document and supporting JDeveloper Workspace from “Oracle WebCenter Suite White Papers and Technical Notes” OTN page.

Bullet Extending WebCenter Spaces Using JDeveloper ( | Supporting Files (3 MB) February 2011

In addition to this, WebCenter Spaces platform continues to support the mechanism of “extending” OOTB spaces by adding custom code, custom taskflow, and so on via deploying custom shared libraries.   You can access the newly release white paper and supporting sample JDeveloper workspace on the same page.  Here are the quick links.

Bullet Using WebCenter Spaces Extension Samples ( | Supporting Files (24 MB) February 2011

WebCenter Spaces PS3 includes a standard shared library – “extend.spaces.webapp.war”. This .WAR file includes a deployment descriptor (weblogic.xml) which can reference one or more library references that contain WebCenter Spaces customizations. This development model provides an easy way to utilize additional shared libraries in WebCenter Spaces from multiple contributors, including developers, customers, and partners.


Creating an Integrated Portal Platform with Oracle WebCenter

Learn how the Canadian Partnership Against Cancer created an integrated portal platform with Oracle WebCenter.  Click here to see the video.

Personalizing User Experience in WebCenter

As you may know, WebCenter 11g PS3 has tight integration with WebCenter Personalization Server.   You can define personalization “scenarios” and invoke them from right within your WebCenter application. One of the ways to invoke a scenario is through  EL Expressions.   Here is quick example.

I would like to show a “New Hire” menu item in the main navigation drop down to new employees so that they have an easy access to information that a new employee typically needs.  Here are the high-level steps I followed:

  1. Defined and deployed a simple scenario using JDeveloper that simply returns a “true” if employee hire date is within the last 2 months (see “Authoring Personalized Scenarios in JDeveloper” section in WebCenter Developer’s guide for learning how to build Personalization scenarios)
  2. Login as Admin.  Edit the navigation model for the site.  Added a new navigation link to the New Hire page.  Click on Edit.
  3. Click on “down-arrow” sign next to the visible attribute.  Add “#{p13nContext.conductor.default.namespaces[‘p13nApp’].scenario[‘NewHire’].results}” (note: here ‘p13nApp’ is the name of the application in JDeveloper and ‘NewHire’ is the name of the scenario I defined)

Now when, Joe, the new employee logs in, he will see an extra link in the top navigation.  (see below)

The possibilities for creating personalized use experiences are endless – you can leverage this technique to personalize your portals not only to deliver personalized content but also personalized page template, skin, resource catalog, and so on.

(BTW, if you are wondering what “p13n” stands for.  It’s Personalization without spelling the long word.  i.e. P<13 characters (ersonalizatio)>N.)

Authoring Personalized Scenarios in JDeveloper

WebCenter 11g PS3 Launch Webcast

A recording of the WebCenter 11g PS3 launch webcast is now available here.  A very nice overview and demo of the key features in the new release.

Security Model for WebCenter Portal Pages

In PS3, the WebCenter Portal Framework allows you to create page hierarchies.  As you may know, it is typical to manage Portal pages in a hierarchical way.  The hierarchical structure allows ease of management and security provisioning.   In this blog post, I want to give a quick overview of the new model for securing page hierarchies.  Here is the algorithm:

  • root page has a default entitlement (policy)
  • subordinate pages may inherit entitlement from parent page
  • subordinate pages may override default by specifying a new entitlement
  • to be able to a view a page, one should have “view” access on all parent pages in the hierarchy

Let’s look at an example.  All the subordinate pages – i.e. “hardware”, “software”, “warranty” pages inherit entitlements from “products” page.   Here, we have placed an entitlement on products page.  The entitlement grants access rights to the marketing-role.

Subordinate pages (like “hardware”) inherit entitlements from “products” page. i.e. marketing-role has all access rights that it was granted at the “products” page level.

Now, lets see the effect of these entitlements at runtime.  Login as mark (marketing-role).  He should be able to create a subordinate page under “products” and also perform operations like “edit” for all pages under “products”.

If we login as another user (say “sam” who is not in marketing-role), he will not be able to create a subordinate page (see “create page” option is disabled) and perform operations like “edit” etc. for any page under “products”

For more detailed information, refer to “Securing your WebCenter Portal Application” section in WebCenter Developer Guide here.

Branding WebCenter Spaces with custom Page Templates, Navigation, and Skins

“Branding” WebCenter Spaces in PS3 is easy!  There is support for complete management of “Site Resources” (like Page Templates, Navigations, Skins, etc.).  Powerful browser-based tooling allows business users to easily create, edit, and manage these resources.  Part III of User’s Guide covers these topics in detail.

A great post (and video) by John Brunswick here shows an example on how one can quickly create a new Page Template with “flyout-menus” using CSS.

Here are some screen shots of a Page Template we built using similar techniques.

Flyout menus include links and content (images) defined in the Navigation Model

Flyout menu surfacing Administration links for the space

%d bloggers like this: