Friday 30 March 2012

Globally disable chart animations in OBIEE 11g

Chart animations look great when you first start using them, but you can go off them after a while, especially if you have many of them. It’s possible to disable the animation for individual charts – by deselecting the ‘Animate graph on Display’ option in the Graph Properties window. This is fine for developing new charts, but if you’re upgrading an OBIEE 10g installation with many graphs this can become a major task.

There’s no official option in OBIEE to globally disable the animation, but with a bit of playing around with generic ADF/DVT chart settings (as used in JDeveloper) I’ve come across a setting which will do the trick.

A small change is required to the dvt-graph-skin.xml file.

This is located in middlewarehome\Oracle_BI1\bifoundation\web\msgdb\s_blafp\viewui\chart\ and as noted on other blogs can be edited to remove the drop shadow effect on charts and to alter the default chart colours. Well another setting will turn off animations.

Simply add the parameter animationDuration ="0" to the <Graph> tag at the beginning of the file, then restart the presentation services. This parameter simply reduces the time the animation runs for to zero milliseconds, effectively turning off the animation. You could experiment with different numbers to speed up or slow down the animations if your that way inclined…

Below is an example of the file with the drop shadow removal (visualEffects="NONE") and alternate chart colours (<SeriesItems> tags):

<Graph visualEffects="NONE" animationDuration="0">
<SliceLabel>
<!-- decimalDigitUsed is false here so that non-percentage pie slices do not pick up this value
The DVTChartProcessor sets decimalDigitUsed to true if this is a percentage pie slice -->
<ViewFormat decimalDigit="2" decimalDigitUsed="false"/>
</SliceLabel>
<Title>
<!-- attributes supported - fontColor="#0", bold="true", italic="true", underline="true" -->
<GraphFont fontColor="#0" bold="true"/>
</Title>
<SeriesItems>
      <Series id="0" color="#A4D5F9" borderColor="#A4D5F9"/>
      <Series id="1" color="#5592D0" borderColor="#5592D0"/>
      <Series id="2" color="#EFD084" borderColor="#EFD084"/>
      <Series id="3" color="#687FA1" borderColor="#687FA1"/>
      <Series id="4" color="#CFC4E5" borderColor="#CFC4E5"/>
      <Series id="5" color="#8D9EB7" borderColor="#8D9EB7"/>
      <Series id="6" color="#5898AA" borderColor="#5898AA"/>
      <Series id="7" color="#CEE4EA" borderColor="#CEE4EA"/>
      <Series id="8" color="#90B5D1" borderColor="#90B5D1"/>
      <Series id="9" color="#F6E795" borderColor="#F6E795"/>
      <Series id="10" color="#C7C1C1" borderColor="#C7C1C1"/></SeriesItems>   
</Graph>

6 comments:

  1. Hi !
    Thanks for the advice! It'll be a huge time-saver.
    I juste have one question regarding setting the animation duration to zero : will that allow my graphs to be displayed even on computers on which Adobe Flash Player isn't installed ?

    Thanks in advance!

    Alexandra Léger

    ReplyDelete
  2. Alexandra,

    No it won't switch off Flash - that is still required for the interaction element of the graphs (drilling, zooming and so on).

    In OBIEE 10g there was an option to switch from Flash to fixed PNG graphic images. The big downside was the interaction not being there on PNG images, but if you can live with that it may be an option. However I don't know if this option is available in 11g...you might need to do some more googling!

    ReplyDelete
  3. Thank you very much for your quick reply !
    Actually I was asking that because I was thinking of switching off "Animate Graph on Display" on all my dashboards in case some users didn't have Flash installed (no pretty animations seemed a fair price to pay ;-)), but I didn't know that it was also required for interactions... So I guess that settles it.

    Thanks again for your answer and your very helpful blog !

    ReplyDelete
  4. Hi,

    I did chnages in 11.1.1.6.8 the way you mentioned to alter default color and it was working as expected but the same thing is not working in 11.1.1.7.0. Any idea why ?

    Thanks
    Deepak

    ReplyDelete
    Replies
    1. Deepak - You'll need to update the file in middlewarehome\Oracle_BI1\bifoundation\web\msgdb\s_FusionFX\viewui\chart\

      The s_blafp folder doesn't seem to be used in 11.1.1.7

      Delete
    2. Yes u r right Amy. 11.1.1.7 is not taking s_blafp. Thanks for ur comment. It worked. :)

      Delete