21.02.2013 Views

OBIEE 11g Customized : Beyond the Whitepaper… - Rittman Mead ...

OBIEE 11g Customized : Beyond the Whitepaper… - Rittman Mead ...

OBIEE 11g Customized : Beyond the Whitepaper… - Rittman Mead ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>OBIEE</strong> <strong>11g</strong> <strong>Customized</strong><br />

<strong>Beyond</strong> <strong>the</strong> Whitepaper...<br />

Kevin McGinley (kevin.mcginley@accenture.com)


Back in <strong>the</strong> day…<br />

Copyright © 2012 Accenture All rights reserved. 2


Why Customize <strong>OBIEE</strong> <strong>11g</strong>?<br />

Brand <strong>the</strong> Site Enhance/Change Functionality<br />

Client specific content<br />

Aes<strong>the</strong>tic alignment with o<strong>the</strong>r systems (both<br />

internal and external)<br />

Integration within internal application<br />

Mimic usability and aes<strong>the</strong>tics of <strong>OBIEE</strong> 10g<br />

Distinguish between environments or user<br />

communities<br />

Standard website features<br />

User navigation<br />

Messaging<br />

Export formats<br />

Superfluous Menus<br />

Objects for internal use<br />

Integrate with systems/platforms Introduce Development Flexibility<br />

Logon, logoff, passing parameters<br />

Tablets, smart phones, legacy browsers<br />

With customizing, creates multiple solutions for<br />

<strong>the</strong> same problem<br />

Customizations by user/group<br />

“Oracle BI <strong>11g</strong> can’t do this”.<br />

Copyright © 2012 Accenture All rights reserved. 6


<strong>OBIEE</strong> <strong>11g</strong> Customizations Overview<br />

Agenda<br />

• Configure a new Style and Skin<br />

• Customizations Approach<br />

• Functional Areas for Customizations<br />

– Spotlight Demonstrations<br />

– Highlights<br />

– Additional Options<br />

• Demo<br />

• Appendix<br />

Copyright © 2012 Accenture All rights reserved. 7


Configure a new Style and Skin


Technical Pre-requisites<br />

Styles and Skins with <strong>OBIEE</strong> <strong>11g</strong><br />

– Deployment Steps<br />

Create new Custom<br />

Directory<br />

Steps<br />

Copy AnalyticsRes and<br />

rename it (i.e.<br />

MyCustomDir)<br />

Validate <strong>the</strong> new directory<br />

has sk_blafp, s_blafp and<br />

<strong>the</strong> WEB_INF directories<br />

Create customMessages<br />

sub directory<br />

Deploy Directory in<br />

Weblogic EM<br />

Steps<br />

Install as application<br />

Specify environment type<br />

Specify deployment<br />

directory<br />

Start servicing all requests<br />

Steps<br />

Configure<br />

Application Server<br />

Open instanceconfig.xml<br />

Add <strong>the</strong> following configuration<br />

entries:<br />

ResoucePhysicalPath<br />

ResourceVirtualPath<br />

DefaultStyle<br />

DefaultSkin<br />

** For full steps please see <strong>the</strong> full customizations guide<br />

Configure Web<br />

Server<br />

Steps<br />

Open mod_wl_ohs.conf<br />

Add <strong>the</strong> following<br />

configuration entries:<br />

SetHandler<br />

WebLogicHost<br />

WebLogicPort<br />

DynamicServerList<br />

KeepAliveEnabled<br />

Debug<br />

WLLogFile<br />

Copyright © 2012 Accenture All rights reserved. 9


Customizations Approach


Customizations Approach<br />

– Customization Locations<br />

• Server side vs. Client Side<br />

• Typically more than one approach to custom development<br />

• Following high level guidelines will drive consistent results<br />

• Illustration of <strong>the</strong> types of changes available and where <strong>the</strong>y typically reside<br />

Cascading<br />

Style Sheet<br />

• Color<br />

• Font<br />

• Hide/Display<br />

• Style<br />

• Images<br />

Server Side Client Side<br />

XML<br />

• Hover Text<br />

• Alt Text<br />

• Messaging<br />

• Tab Titles<br />

• Browser Title<br />

Javascript<br />

• Functions<br />

• Action Objects<br />

• Menus<br />

• Display<br />

HTML<br />

• Functions<br />

• Action Objects<br />

• Images<br />

• Messaging<br />

Copyright © 2012 Accenture All rights reserved. 11


Location Considerations…Functional<br />

Cascading Style<br />

Sheet<br />

Examples:<br />

• CSS file edits<br />

HTML<br />

Examples:<br />

• HTML Text Boxes<br />

• Javascript Text Boxes<br />

XML<br />

Examples:<br />

• XML file edits<br />

• Custom Messages
<br />

Javascript<br />

Examples:<br />

• New functions<br />

• Edited functions<br />

Client Side<br />

Server Side<br />

Copyright © 2012 Accenture All rights reserved. 12


Location Considerations…Code<br />

Cascading Style<br />

Sheet<br />

Examples:<br />

• display=none;<br />

• Bgcolor=“white”<br />

HTML<br />

Examples:<br />

• GetElementByID<br />

• myElement.innerHTML=<br />

“Mytext”<br />

XML<br />

Examples:<br />

• <br />

• kmsg=“my messaging”
<br />

Javascript<br />

Examples:<br />

• myfunction=<br />

onclick(myaction);<br />

Client Side<br />

Server Side<br />

Copyright © 2012 Accenture All rights reserved. 13


Functional Areas for Customizations


Customizations Categories<br />

• Portal and Global Navigation<br />

• Reporting and BI Content<br />

• Integration and Accessibility<br />

Portal and Global Navigation<br />

Integration and Accessibility<br />

Reporting and BI Content<br />

Copyright © 2012 Accenture All rights reserved. 15


Portal and Global Navigation<br />

Notable Customizations<br />

• Add additional global links<br />

• Re-route <strong>the</strong> home link to a custom URL<br />

• Remove menu bar links<br />

• Redirect <strong>the</strong> (?) icon to a custom html page<br />

• Remove <strong>the</strong> page options menu<br />

Additional Customization Options<br />

• Remove ‘Powered by Oracle’ logo<br />

• Hide <strong>the</strong> username on <strong>the</strong> menu bar<br />

• Hide <strong>the</strong> search box menu<br />

• Remove <strong>the</strong> sign out link<br />

• Remove <strong>the</strong> global parent tab<br />

• Remove 'Business Intelligence' from <strong>the</strong> Banner<br />

• Disable ‘Signed In As’ message<br />

• Remove ‘Clear my customizations<br />

Copyright © 2012 Accenture All rights reserved. 16


Banner and Global Navigation
<br />

Spotlight Demonstration<br />

Add Additional Global Navigation Links<br />

Customization Goals<br />

Create global, always available, links to <strong>the</strong> following potential locations:<br />

O<strong>the</strong>r dashboards<br />

External Websites<br />

Hidden Reports<br />

Supporting documentation<br />

Hosted Content<br />

Reduce <strong>the</strong> need to put multiple links throughout <strong>the</strong> system to route <strong>the</strong> user to a<br />

specific location (such as ‘home’)<br />

Demonstration Steps<br />

Create Link<br />

Text<br />

Globally<br />

Register Link<br />

with <strong>OBIEE</strong><br />

Enable link<br />

to be turned<br />

on/off<br />

Build link<br />

components<br />

Build Link<br />

Action<br />

Copyright © 2012 Accenture All rights reserved. 17


Banner and Global Navigation
<br />

Highlights<br />

Re-Route Home Link to Custom URL<br />

Header.js<br />

Before (Code) After (Code)<br />

saw.header.NavBar.prototype.onHome=function<br />

(b,a)<br />

{saw.header.openURL(saw.commandToURL("bieehome"),<br />

a)}<br />

Before (Screenshot) After (Screenshot)<br />

saw.header.NavBar.prototype.onHome=function<br />

(){window.location.href="http://www.mywebsite.com"}<br />

Copyright © 2012 Accenture All rights reserved. 18


Banner and Global Navigation
<br />

Highlights<br />

Remove Menu Bar Links<br />

saw.sessioninfos.xml<br />

Before (Code) After (Code)<br />

<br />

<br />

<br />

<br />

<br />

Before (Screenshot) After (Screenshot)<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Copyright © 2012 Accenture All rights reserved. 19


Banner and Global Navigation
<br />

Highlights<br />

Redirect <strong>the</strong> icon to a custom html page<br />

biee0088.html<br />

Before (Code) After (Code)<br />

/Oracle_BI1/bifoundation/web/app/old/l_en/biee0088.htm /Oracle_BI1/bifoundation/web/app/old/l_en/biee0088.htm<br />

* With custom html inside <strong>the</strong> file.<br />

Before (Screenshot) After (Screenshot)<br />

Copyright © 2012 Accenture All rights reserved. 20


Banner and Global Navigation
<br />

Highlights<br />

Remove <strong>the</strong> page options menu<br />

portalscript.js<br />

Remove <strong>the</strong> following code<br />

var c=document.getElementById("DashboardPageOptions");<br />

if(c)<br />

{d=obidash.getResourceString(obidash.seedResourceFile,"kmsgDashboardPageOptionsMenu");<br />

var o=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_ena");<br />

var a=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_dis");<br />

var n=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_ovr");<br />

var b=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_dwn");<br />

r=new obips.Toolbar.ButtonIconSet(o,a,n,b);<br />

p=new obips.DataType.FunctionalIcon(r,d,new obips.Callback(null,function(s)<br />

{obidash.openMenu(s,"idPersonalizationMenu")}),"idPersonalizationMenuIconButton");c.appendChild(p.getViewer())}<br />

Before (Screenshot) After (Screenshot)<br />

Copyright © 2012 Accenture All rights reserved. 21


Reporting<br />

Notable Customizations<br />

• Change <strong>the</strong> export and download options<br />

• Modify <strong>the</strong> report ‘No Results’ messaging<br />

• Modify <strong>the</strong> browser tab name<br />

• Create action framework image links<br />

• Replace <strong>the</strong> preparing guided navigation text with <strong>the</strong> waiting<br />

clock<br />

Additional Customization Options<br />

– Show/Hide dashboard sections with a button<br />

– Remove Graph prompt borders<br />

– Rename <strong>the</strong> apply and reset buttons<br />

– Remove <strong>the</strong> reset button<br />

• Globally<br />

• By dashboard<br />

Copyright © 2012 Accenture All rights reserved. 22


Reporting
<br />

Spotlight Demonstration<br />

Modify export and download options<br />

Conditional<br />

Customization Goals<br />

Remove dataset export types incompatible with<br />

<strong>the</strong> reports<br />

Reduce unnecessary load on <strong>the</strong> system<br />

Use in conjunction with <strong>the</strong> maximum export<br />

rows configuration within Enterprise manager<br />

Demonstration Steps for Removing Download Links<br />

Global<br />

Locate download<br />

type entry<br />

Locate download<br />

type entry<br />

Add unique identifier<br />

for download type<br />

Delete download entry<br />

type<br />

* <strong>OBIEE</strong> provides ability to show/hide complete menu<br />

Before<br />

Confirm current<br />

session user<br />

After<br />

Based on session<br />

user, show/hide option<br />

via identifier<br />

Copyright © 2012 Accenture All rights reserved. 23


Reporting
<br />

Highlights<br />

Modify <strong>the</strong> report ‘No Results’ messaging<br />

viewmessages.xml<br />

Before (Code) After (Code)<br />

The specified<br />

criteria didn&#39;t result in any data. This is often caused<br />

by applying filters and/or selections that are too<br />

restrictive or that contain incorrect values. Please check<br />

your Analysis Filters and try again. The filters currently<br />

being applied are shown below.<br />

<br />

Before (Screenshot) After (Screenshot)<br />

This is a custom<br />

error message. Any no results messaging can be inserted<br />

here.<br />

<br />

Copyright © 2012 Accenture All rights reserved. 24


Reporting
<br />

Highlights<br />

Modify <strong>the</strong> Browser Tab Name<br />

productmessages.xml<br />

Before (Code) After (Code)<br />

Oracle<br />

BI Interactive Dashboards<br />

Before (Screenshot) After (Screenshot)<br />

My<br />

Custom Tab Messaging<br />

Copyright © 2012 Accenture All rights reserved. 25


Reporting
<br />

Highlights<br />

Create Action Framework Image Links
<br />

dashboardtemplates.xml<br />

Before (Code) After (Code)<br />

a name=&quot;SectionElements&quot;<br />

href=&quot;<br />

SectionElements&quot;<br />

href=&quot;javascript:void()&quot;<br />

a name=&quot;SectionElements&quot;<br />

id=&quot;Custom_ID&quot;<br />

href=&quot;<br />

Before (Screenshot) After (Screenshot)<br />

SectionElements&quot;<br />

id=&quot;Custom_ID&quot;<br />

href=&quot;javascript:void()&quot;<br />

----------------------------------------------------------------------------------------------------<br />

Client Side Code<br />

<br />

function getElement()<br />

{<br />

var element = document.getElementById("Custom_ID");<br />

var myImage = ''<br />

element.innerHTML = myImage;<br />

}<br />

getElement();<br />

<br />

Copyright © 2012 Accenture All rights reserved. 26


Reporting
<br />

Highlights<br />

Replace preparing guided navigation text with <strong>the</strong> waiting clock
<br />

dashboardtemplates.xml, portalcontent.css, portalsysmessages.xml<br />

Before (Code) After (Code)<br />

dashboardtemplates.xml<br />

NavSearch&quot;&gt;<br />

&lt;/div&gt;&lt;div id=&quot;<br />

-------------------------------------------------------------------------------------portalcontent.css<br />

.PortalPreparingGuided{background-color:#CCCCCC;margin:<br />

4px 0 0 4px;padding-left:15px;}<br />

&lt;/div&gt;&lt;div id=&quot;<br />

-------------------------------------------------------------------------------------portalsysmessages.xml<br />

<br />

<br />

Before (Screenshot) After (Screenshot)<br />

dashboardtemplates.xml<br />

NavSearch&quot;&gt;<br />

<br />

<br />

&lt;/div&gt;&lt;div id=&quot;<br />

-----------------------------------------------------------------------------------------------------------------portalcontent.css<br />

.PortalPreparingGuided{background-color:#FFFFFF;margin:4px 0 0 4px;padding-left:<br />

15px;}
<br />

<br />

&lt;/div&gt;&lt;div id=&quot;<br />

------------------------------------------------------------------------------------------------------------------<br />

Portalsysmessages.xml<br />

<br />

Searching…<br />

Copyright © 2012 Accenture All rights reserved. 27


Integration and Accessibility<br />

Notable Customizations<br />

• Spotlight Demonstration – Conditionally show/hide prompt sections<br />

with a button<br />

• Create a custom logoff redirect page<br />

• Replace dashboard section [+] / [-] hover text<br />

Additional Customization Options<br />

•Create a custom login page (for public site administrative users)<br />

•Modify alt text on <strong>the</strong> header logo<br />

•Modify alt text on <strong>the</strong> Title View images<br />

Copyright © 2012 Accenture All rights reserved. 28


Integration and Accessibility
<br />

Spotlight Demonstration<br />

Conditionally show/hide prompt components with a button<br />

Customization Goals<br />

To be able to control <strong>the</strong> display of individual prompt sections based on a button<br />

Example: A client wants 3 of 10 prompts shown initially, but <strong>the</strong> user can select a button to show<br />

<strong>the</strong> rest. This allows for a ‘basic’ as well as an ‘advanced’ version of <strong>the</strong> same prompt set in one<br />

page.<br />

Enhance <strong>the</strong> user experience for <strong>the</strong> visually impaired due to larger buttons<br />

Demonstration Steps for conditionally showing prompt sections<br />

Add unique ID for<br />

each prompt<br />

section<br />

Based on <strong>the</strong><br />

unique ID, show<br />

or hide <strong>the</strong><br />

prompt section<br />

Attach <strong>the</strong> show/<br />

hide functionality<br />

to a dashboard<br />

button<br />

Copyright © 2012 Accenture All rights reserved. 29


Integration and Accessibility
<br />

Highlights<br />

Create a custom logoff redirect page<br />

logoncontrolmessages.xml<br />

Before (Code) After (Code)<br />

<br />

Before (Screenshot) After (Screenshot)<br />


<br />

You have been logged out due<br />

to inactivity. Please click
<br />

here
<br />

to return to <strong>the</strong> home page.
<br />


<br />


<br />

Copyright © 2012 Accenture All rights reserved. 31


Integration and Accessibility
<br />

Highlights<br />

Replace dashboard section [+] / [-] hover text<br />

uimessages.xml<br />

Before (Code) After (Code)<br />

<br />

Expand<br />

^M<br />

<br />

Collapse<br />

^M<br />

Before (Screenshot) After (Screenshot)<br />

<br />

Custom Expand Message<br />

^M<br />

<br />

Custom Collapse Message<br />

^M<br />

Copyright © 2012 Accenture All rights reserved. 30


Demo


Appendix


Highlights File Paths<br />

Highlight File Name File Path<br />

Re-Route Home Link to Custom URL header.js [ORACLE_HOME]/bifoundation/web/app/res/b_mozilla/<br />

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/<br />

_WL_user/analytics_11.1.1/[TEMP_DIRECTORY]/war/res/<br />

b_mozilla/<br />

Remove Menu Bar Links saw.sessioninfos.xml [ORACLE_HOME]/bifoundation/web/msgdb/common<br />

Redirect <strong>the</strong> help icon to a custom html<br />

page<br />

Copyright © 2012 Accenture All rights reserved.<br />

biee0088.htm<br />

[ORACLE_HOME]/bifoundation/web/app/olh/l_en<br />

Remove <strong>the</strong> page options menu portalscript.js [ORACLE_HOME]/bifoundation/web/app/res/b_mozilla/<br />

dashboards<br />

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/<br />

_WL_user/analytics_11.1.1/[TEMP_DIRECTORY]/war/res/<br />

b_mozilla/dashboards<br />

Modify <strong>the</strong> report ‘No Results’<br />

messaging<br />

viewmessages.xml<br />

[ORACLE_HOME]/bifoundation/web/msgdb/messages<br />

Modify <strong>the</strong> Browser Tab Name productmessages.xml [ORACLE_HOME]/bifoundation/web/msgdb/messages<br />

Create Action Framework Image Links dashboardtemplates.xml [ORACLE_HOME]/bifoundation/web/msgdb/messages<br />

Replace dashboard section [+] / [-] hover<br />

text<br />

uimessages.xml<br />

[CUSTOM_DIRECTORY]/customMessages/l_en/messages/<br />

Create a custom logoff redirect page logoncontrolmessages.xml [ORACLE_HOME]/bifoundation/web/msgdb/messages<br />

1


Highlights File Paths<br />

Highlight File Name File Path<br />

Replace preparing guided<br />

navigation text with <strong>the</strong><br />

waiting clock<br />

dashboardtemplates.xml [ORACLE_HOME]/bifoundation/web/msgdb/messages<br />

dashboardtemplates.xml [CUSTOM_DIRECTORY]/customMessages/l_en/messages<br />

portalcontent.css [CUSTOM_DIRECTORY]/s_[CUSTOM_SKIN]/b_mozilla_4<br />

portalcontent.css [CUSTOM_DIRECTORY]/s_[CUSTOM_SKIN]/b_mozilla_4/rtl<br />

portalcontent.css<br />

portalcontent.css<br />

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/_WL_user/<br />

analytics_11.1.1/[TEMP_DIRECTORY]/war/res/s_blafp/b_mozilla_4<br />

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/_WL_user/<br />

analytics_11.1.1/[TEMP_DIRECTORY]/war/res/s_blafp/b_mozilla_4/rtl<br />

portalsysmessages.xml [ORACLE_HOME]/customMessages/l_en/messages<br />

Copyright © 2012 Accenture All rights reserved. 2


Spotlight Demonstration #1<br />

[HOME]\Oracle_BI1\bifoundation\web\msgdb\l_en\messages\uicmsgs\saw.header.xml<br />

[HOME]\Oracle_BI1\bifoundation\web\msgdb\common\saw.header.xml<br />

[HOME]\Oracle_BI1\bifoundation\web\msgdb\common\saw.sessioninfos.xml<br />

Copyright © 2012 Accenture All rights reserved. 2


Spotlight Demonstration #1<br />

[HOME]\Oracle_BI1\bifoundation\web\app\res\b_mozilla\header.js<br />

Copyright © 2012 Accenture All rights reserved. 2


Spotlight Demonstration #2<br />

[HOME]\Oracle_BI1\bifoundation\web\msgdb\messages\viewscontrolmessages.xml<br />

Copyright © 2012 Accenture All rights reserved. 2


Spotlight Demonstration #3<br />

[HOME]\Oracle_BI1\bifoundation\web\app\res\b_mozilla\prompts\promptsruntime.js<br />

Copyright © 2012 Accenture All rights reserved. 2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!