Thursday, August 29, 2013

Custom style and skin in OBIEE

When upgrading existing customized installations of OBIEE to, one thing that you may run into is a subtle change in the usage of the vanilla style and skin of the application.

FusionFX has become the default, but isn't immediately or better directly suited as a basis for your own custom style and skin.
The reason for that is, that FusionFX itself is only a subset of a full style+skin package and the vanilla application continues to use a lot of blafp.

Oh yes, /web/app/res also has become /web/appv2/res for some reason or another within Oracle_BI1, so here's what you find in there:

A cursory glance at the folder contents of FusionFX and blafp side-by-side shows quite some differences already:

Whipping out out trusty Firebug and what an out-of-the-box applications actually renders, we see blafp used for the application header:

while we see FusionFX being the source for the dashboards themselves:

As most GUI customizations replace first and foremost the logos in the application header and then moving on to the look & feel of the dashboards and analyses, this logically means that adapting the default FusionFX will only get you halfway to your destination.

What you need to do, in order to have a full and complete basis for your own custom skin, which contains all files and artifacts while retaining the slick FusionFX look (it does look a lot leaner and nicer now), is to merge the two into one package. doing this couldn't be any simpler than this:
1.) clone s_blafp and sk_blafp
2.) copy all the content of s_FusionFX and sk_FusionFX into the respective blafp folders, replacing all existing files

Since FusionFX is a modified subset of blafp, you'll retain all base blafp files and gain the modified and "newer" FusionFX files which supersede blafp.

All you need to do now, is rename the resulting folders...

...push them to the /analyticsRes/ directory (or whatever directory holds the deployment of your custom style and skin), reference it in the instanceconfig.xml and, voila, you've got a complete and fully customizable style and skin package.


  1. Hey Christian, thanks so much for this. Really helped me out today; much appreciated man!

    I didn't realize you could overlay blafp and FusionFX like that. Very cool. Hey on this topic, had you ever seen an error like this before in 11g when dealing with custom skins? Especially when clicking the "Catalog" link or otherwise navigating around to various dashboards?

    Error loading XML Document from /analytics/saw.dll/uicomponents/obips.UberBar/obips.UberBar.xml?fmapId=h5eEyQ.
    The response given was:

    Through some brute force trial and error today and looking at your blog along with others, I realized that it looked like there were too many other out of the box baseline folders in my client's analyticsRes folder (they had included b_mozilla, s_blafp, sk_blafp, s_FusionFX, sk_FusionFX in analyticsRes too -- not sure why...)

    Anyway, once I removed those and left only the custom skin and style folders, that error went away, and now "everybody happy, happy, happy." :)


  2. Hi Jeremy,

    glad that my post was of help.

    As for the problem you describe: it can become an issue when there are several conflicting version of the same file (or files) within the analyticsRes. But nothing that a good hard delete can't solve ;-)

    Take care,

  3. Hi Christian,

    I went ahead and wrote up my "obips.UberBar.xml" issue resolution, along with some other “fun” quirks I'm running into on my upgrade. :)



  4. Hi Christian.

    I'm trying change de skin, but I don't understand the last step

    "/analyticsRes/ directory (or whatever directory holds the deployment of your custom style and skin), reference it in the instanceconfig.xml and, voila, you've got a complete and fully customizable style and skin package."

    - How to reference to the instanceconfig.xml?
    - where is the folder of analyticsRes and folder of instanceconfig.xml

    from already thank you very much.


    1. Hello Diego,

      the analyticsRes folder (or whatever name you decide to give it) resides wherever you like as long as it is a location which WLS can read as a target for its application deployment.

      Have a look at the initial white paper that Oracle wrote on this subject:

      You will find the information on the analyticsRes folder as well as the instanceconfig tags you will need:


      ...where the physical folder naming will then be s_MyStyle and s_MySkin.


    2. XML doesn't work it'd be


      Just replace - with < and > respectively.

    3. Christian, I follow this steps, but it doesn’t work
      1. Copy the s_blafp and sk_blafp in a other folder.
      2. Copy te folder from s_FusionFX and sk_FusionFX to s_blafp and sk_blafp
      3. Rename the s_blafp and sk_blafp to s_ccu and sk_ccu
      4. Moved the folder to AnalyticsRes
      5. Add this code “
      ” in a instanceconfig.xml from this path: /home/oracle/obiee/instances/instance1/config/OracleBIPresentationServicesComponent/coreapplication_obips1

      Tell me what is wrong?

      Thanks you.


    4. Diego,

      as I said above, a reference to "MyStyle" in the instanceconfig means a physical folder name of "s_MyStyle". So in your code you ommit the s_ and sk_ respectively.

  5. Hi, I do the change in the file, but when i try restart of presentation service it didn't start and when a change de style doesn't change in the dashboard.

    where I should put the code in the instanceconfig.xml?
    why doesn't change the style?

    please help me.

    Thanks you.


    1. Diego,

      it must be inside the ServerInstance :


    2. It work, thank you bery much.
      it's very helpfull yours blog

  6. Thanks for this blog help me solve the OBIEE skin restore