Spaces

Customising WebCenter Portal Spaces

This post is aimed at providing a summary of what is required and what is available when developers want to customise their WebCenter Portal: Spaces application (Renamed to WebCenter Portal from 11.1.1.8). It doesn’t go into detail, however, does provide useful links to the Oracle documentation on where to go for further details.

There are a couple of options available to developers if they want to customise Spaces within WebCenter.

  • Browser – If adding spaces, tweaking/selecting templates customising portals, spaces and pages with respect to content.
  • JDeveloper – If you want to deploy additional shared libraries, include custom code or tasksflows. You can also edit skins, page templates and navigations in JDeveloper too.
  • In order to customise any Spaces in JDeveloper you’ll need to download the DesignWebCenterSpaces project available here for version 11.1.1.6. This consists of a JDeveloper application which contains two projects “WebCenterSpacesExtensionLibrary” and “WebCenterSpacesResources”.

    WebCenterSpacesExtensionLibrary (11.1.1.6)
    On the Weblogic server there is already an empty extended.spaces.webapp.war and the WebCenterSpacesExtensionLibrary project in this application allows the developer to add and build a new extended.spaces.webapp.war.

    WebCenterSpacesExtensionLibrary (11.1.1.8)
    There is a zip file in this page that you’ll need for customising skins and page templates. Search for DesignWebCenterSpaces_11.1.1.8.0.zip download that and open the application in JDeveloper to get going.

    This project essentially contains a weblogic.xml that you can insert the shared library declarations into.

    Creating your own extended.spaces.webapp.war informs WebCenter Portal: Spaces that you are deploying customisations that the server needs to make available.

    Important Note – It is best practice to deploy your extended.spaces.webapp.war in addition to the one that comes with the server. As long as the version in the Manifest.MF file in the war is greater then this will take precedence. Keeping the original ensures that if needed you can go back to the base configuration.

    WebCenterSpacesResources
    This project contains resource customisations, e.g. custom skins, page templates, page styles, navigations etc. It provides a single project that enables the developer to customise the look and feel of Spaces and allows you to make these changes from within JDeveloper. As a starting point you can export your existing application to get it’s templates and then make incremental changes to that rather than trying to start from scratch.

    How to enable iterative development in JDeveloper (Hot Deploy)

    Hot Deploy, FastSwap or interative development can be enabled easily on your WebCenter project in JDeveloper.

  • In JDeveloper click on the menu button just above your Project panel on the left hand side, select Application Properties…
  • Expand the Run list item and select “WebCenter Portal”
  • You should see the screen below. Just click on “Enable Iteractive Development” if it is not already checked, and click OK.

    Interative Development Configuration Dialog

    Interative Development Configuration Dialog

    This will enable the hot deploy of changes to JSPX, CSS etc. saving you the time to redeploy and restart the server. There is a performance hit, but for development purposes this is perfect because the performance hit is negligable during development and prevent the time wasted from server restarts.

    Getting to grips with Oracle WebCenter Portal

    I have the task of getting to grips with Oracle WebCenter Portal applications. The product I am working on provides a number of customisations to “WebCenter Portal: Spaces” that have since been rebranded as “WebCenter Portals” from version 11.1.1.8 onwards.

    To get up an running the quickly I came across a VirtualBox image for another Oracle product, however, that VM is configurable to start up a WebCenter Spaces server with JDeveloper pre-installed which is exactly what I needed.

    Using the Oracle VM I am progressing through the tutorials on Oracle Fusion Middleware. The VM is based on the 11.1.1.6 code, so I am sticking with those tutorials for now.

    Tutorial 1
    This tutorial introduces the WebCenter Portal. Using JDeveloper it shows how to create a new Portal application and how to deliver content from the UCM server. Topics covered are initial setup, creating a new portal, adding pages, customising the look of those pages by introducing page templates and skins.

    Tutorial 2
    This tutorial looks like the most suitable next step for anyone developing new custom portal/portal producer applications. It builds upon the previous tutorial and explains in much more detail the concepts and technology behind the scenes.

    Tutorial 3
    This tutorial looks more like a tutorial for front end administration of WebCenter Portals. It seems to cover page template customisations, skinning (CSS), building new pages and wiring them together.

    This blog, certainly in the short term will contain posts on any parts of these tutorials that weren’t obvious to me, or tips on using the VM in these tutorials to help anyone else get to grips with this stack.

    Iterative WebCenter Development and JRebel

    It is possible to develop on the WebCenter platform iteteratively out of the box, however, there are some limitations. The tutorial that Oracle provides here explains a little about what is possible. Essentially, this includes making changes to existing pages (JSPX files, templates, CSS etc), however, it doesn’t do so well at everything else.

    One product that I have used in the past that helps greatly with iterative development is JRebel.

    Relying on WebLogics JVM hotswap or FastSwap will get you so far, i.e. JSP, Servlet, EJB support classes however, JRebel will take it a step further and include JPA and CDI changes. It also supports numerous frameworks too, including Spring, Hibernate, Guice etc.

    How to customise a WebCenter Portal site

    These pages are as much for me as a reminder on how to do things, but hopefully, they are useful to others too.

    It is possible to customise the look and feel of your Oracle WebCenter Portal by creating and activating a new Page Template and CSS file (Also known as Skin in the Oracle world).

    The tutorial on how to do this can by found on Oracle’s site here.