Oracle EPM 11.1.1.3 - Customizing EPM Workspace

A common requirement that always comes up as part of an Organization wide EPM rollout, is in customizing the look and feel of the products to match the company logo, style etc. In the case of BI EE, the customization is quite straight forward, as BI EE segregates the look and feel into 2 parts

  1. Styles
  2. Skins

I have blogged about the method for customizing the BI EE UI using both Styles and Skins almost 2 years back here and here. In the case of EPM Workspace, the terminology used is a little bit different. Also, Oracle has an agreement with Bindows, a third party vendor which basically provides the entire framework for customizing EPM Workspace. The full agreement is available on Bindows website here.  I am not sure how the agreement works, but i believe it does allow for change in the UI styles implemented as part of the Bindows framework. In fact Bindows has a nice set of themes on their website(for download) which can effectively be retrofitted back to EPM workspace with some amount of work.

In the EPM 11 release, a new feature was added to support high contrast themes. This can be invoked directly from within the EPM workspace by pressing Ctrl+Shift+H.

Though a third party framework is used, there are also some internal themes that Oracle EPM uses. To understand how this all work together, we need to start with understanding how EPM workspace renders all the themes, styles, images etc. Whenever we deploy the Workspace war manually or do an automated deployment into an application server, the deployment process manually copies certain part of the installed Workspace(or different application) files to the App Server accessible area (within its relative URL reach). This is very similar to what happens in BI EE. When we deploy Presentation Services Plug-in to an app server, all the themes, images etc are copied to the context accessible area of the application server.

As you see in the above screenshot, i have deployed Workspace into Tomcat and hence we have a multitude of workspace related files in the deployed directory. You can see a couple of folders here. themes and thirdparty/bindows/html/themes.

If you notice, we have completely different set of folders under both the theme folders. My initial impression was that only the bindows one was used (not the workspace native one). But on further analysis i realized that both the folders above are required to make the themes to work. Bindows themes are just for Workspace alone(bringing all the components together while using 19000 workspace port). But the individual themes can vary for different products. In the above screenshot we basically had theme_tadpole and theme_tadpole_hc as native workspace themes(workspace as a product). Also, the Bindows specific themes Bpmtadpole and BpmtadpoleHc. Similarly lets look at the ui_themes folder of Hyperion Scorecards

As you see we only have the product specific ones theme_tadpole and theme_tadpole_hc. So, there are a couple of conclusions that we can derive out of this.

  1. When customizing the UI of EPM components, the bindows theme as well as the individual product themes should be in sync with each other
  2. Ensure that when you have EPM components deployed in multiple machines, all of them get a common ui through the same default theme theme_tadpole. The _hc version of the themes are the high contrast variants of the original themes.

In BI EE, we typically start off with creating new themes(styles) as a copy of existing themes(styles). But in the case of EPM workspace, due to the nature of interaction (or lack of it) between the bindows and the product themes, i would recommend not to create new themes but to modify the existing ones(Its better to backup the older themes so that we have something to revert back on).

To start with lets look at a way of customizing the login screen of EPM workspace.
The login screen basically has 2 parts. One is the background color. And the other is the Oracle EPM logo. Remember, whenever you are customizing the EPM workspace, the same customization will have to be done across all the other product component themes as well. The primary reason is each product can be invoked either through the workspace or directly. In either case, we need to ensure that the UI remains the same. Once you start thinking in those lines, you will actually realize that the customization is actually pretty easy. To customize the logo, navigate to

{HYPERION_HOME}/deployments/<appserver>/<application>/webapps/<application>/(ui_)themes/(theme_)tadpole/images_global/

In my case, since i am customizing the login of workspace alone, i had to navigate to /u01/app/oracle/hyperion/deployments/Tomcat5/Workspace/webapps/workspace/themes/theme_tadpole/images_global folder. Here you would find a file called logon_panel.gif. This is the image that actually gets rendered in the logon screen. Replace this image with you corporate logo. Ensure that the image size is 298*367 (pixels).

Copy the same image over to

{HYPERION_HOME}/products/<product>/AppServer/InstalledApps/<application>/(ui_)themes/(theme_)tadpole/images_global

In my case the actual product folder was /u01/app/oracle/hyperion/products/Foundation/AppServer/InstalledApps/workspace_static/themes /theme_tadpole/images_global.

This is very similar to BI EE customization where we need to have the modified style in both the product directory as well as the installed app server directory. Once we have changed the image, the next step is to change the background color. It can be a little bit difficult to do understand this part as there are 4 places that we need to modify the settings. I will just list them down here

  1. Global.css file in {HYPERION_HOME}/products/Foundation/AppServer/InstalledApps/workspace_static/themes/theme_tadpole/ - Product Customization
  2. Global.css file in {HYPERION_HOME}/deployments/Tomcat5/Workspace/webapps/workspace/themes/theme_tadpole/ - Product Customization
  3. theme.css file in {HYPERION_HOME}/deployments/Tomcat5/Workspace/webapps/workspace/thirdparty/bindows/thirdparty/ themes/Bpmtadpole
    4. theme.css file in {HYPERION_HOME}/products/Foundation/AppServer/InstalledApps/workspace_static/thirdparty/bindows/ thirdparty/themes/Bpmtadpole

Just edit the css files and modify the necessary property (in our case the background color property). The above changes will ensure that you have customized your workspace application as well as the overall workspace. If you have deployed more applications like Planning, Shared Services etc to be accessible through the workspace, the same customizations will have to be done in those components as well.

Update: Though theoretically we can customize the entire look and feel of EPM Workspace, you might want to check the licensing agreements to see what can be and cannot be customized.