Sie sind auf Seite 1von 36

OBIEE 11g Customized

Beyond the Whitepaper...


Kevin McGinley (kevin.mcginley@accenture.com)

Back in the day

Copyright 2012 Accenture All rights reserved.

Why Customize OBIEE 11g?


Brand the Site

Enhance/Change Functionality

Client specific content


Aesthetic alignment with other systems (both
internal and external)
Integration within internal application
Mimic usability and aesthetics of OBIEE 10g
Distinguish between environments or user
communities

Standard website features


User navigation
Messaging
Export formats
Superfluous Menus
Objects for internal use

Integrate with systems/platforms

Introduce Development Flexibility

Logon, logoff, passing parameters


Tablets, smart phones, legacy browsers

With customizing, creates multiple solutions for


the same problem
Customizations by user/group
Oracle BI 11g cant do this.

Copyright 2012 Accenture All rights reserved.

OBIEE 11g Customizations Overview


Agenda

Configure a new Style and Skin

Customizations Approach

Functional Areas for Customizations


Spotlight Demonstrations
Highlights
Additional Options

Demo

Appendix

Copyright 2012 Accenture All rights reserved.

Configure a new Style and Skin

Technical Pre-requisites
Styles and Skins with OBIEE 11g
Deployment Steps
Create new Custom
Directory

Deploy Directory in
Weblogic EM

Configure
Application Server

Steps

Steps

Steps

Copy AnalyticsRes and


rename it (i.e.
MyCustomDir)

Install as application

Open instanceconfig.xml

Specify environment type

Add the following configuration


entries:

Validate the new directory


has sk_blafp, s_blafp and
the WEB_INF directories

Specify deployment
directory
Start servicing all requests

Create customMessages
sub directory

ResoucePhysicalPath
ResourceVirtualPath
DefaultStyle
DefaultSkin

Configure Web
Server
Steps

Open mod_wl_ohs.conf
Add the following
configuration entries:
SetHandler
WebLogicHost
WebLogicPort
DynamicServerList
KeepAliveEnabled
Debug
WLLogFile

** For full steps please see the full customizations guide


Copyright 2012 Accenture All rights reserved.

Customizations Approach

Customizations Approach

Customization Locations
Server side vs. Client Side

Typically more than one approach to custom development


Following high level guidelines will drive consistent results
Illustration of the types of changes available and where they typically reside
Server Side

Cascading
Style Sheet

Color
Font
Hide/Display
Style
Images

XML

Hover Text
Alt Text
Messaging
Tab Titles
Browser Title

Copyright 2012 Accenture All rights reserved.

Client Side
Javascript

HTML

Functions
Action Objects
Menus
Display

Functions
Action Objects
Images
Messaging

11

Location ConsiderationsFunctional
HTML
Examples:
HTML Text Boxes
Javascript Text Boxes

Cascading Style
Sheet


Examples:
CSS file edits

XML



Examples:

XML file edits


Custom Messages

Copyright 2012 Accenture All rights reserved.

Client Side

Javascript
Examples:
New functions
Edited functions

Server Side

12

Location ConsiderationsCode
HTML
Examples:
GetElementByID
myElement.innerHTML=
Mytext

Cascading Style
Sheet


Examples:
display=none;

Bgcolor=white

XML



Examples:

<expr="false" />
kmsg=my messaging

Copyright 2012 Accenture All rights reserved.

Client Side

Javascript
Examples:
myfunction=
onclick(myaction);

Server Side

13

Functional Areas for Customizations

Customizations Categories

Portal and Global Navigation


Reporting and BI Content
Integration and Accessibility

Portal and Global Navigation


Integration and Accessibility
Reporting and BI Content

Copyright 2012 Accenture All rights reserved.

15

Portal and Global Navigation


Notable Customizations

Add additional global links


Re-route the home link to a custom URL
Remove menu bar links
Redirect the (?) icon to a custom html page
Remove the page options menu

Additional Customization Options

Remove Powered by Oracle logo


Hide the username on the menu bar
Hide the search box menu
Remove the sign out link
Remove the global parent tab

Copyright 2012 Accenture All rights reserved.

Remove 'Business Intelligence' from the Banner


Disable Signed In As message
Remove Clear my customizations

16

Banner and Global Navigation


Spotlight Demonstration

Add Additional Global Navigation Links


Customization Goals
Create global, always available, links to the following potential locations:
Other dashboards
External Websites
Hidden Reports
Supporting documentation
Hosted Content


Reduce the need to put multiple links throughout the system to route the user to a
specific location (such as home)

Demonstration Steps
Create Link
Text

Globally
Register Link
with OBIEE

Copyright 2012 Accenture All rights reserved.

Enable link
to be turned
on/off

Build link
components

Build Link
Action

17

Banner and Global Navigation


Highlights
Re-Route Home Link to Custom URL
Header.js
Before (Code)

After (Code)

saw.header.NavBar.prototype.onHome=function
saw.header.NavBar.prototype.onHome=function
(b,a)
(){window.location.href="http://www.mywebsite.com"}
{saw.header.openURL(saw.commandToURL("bieehome"),
a)}

Before (Screenshot)

Copyright 2012 Accenture All rights reserved.

After (Screenshot)

18

Banner and Global Navigation


Highlights
Remove Menu Bar Links
saw.sessioninfos.xml
Before (Code)

After (Code)

<gdexpression id="hdrLinkCatalog" expr=true" />


<gdexpression id="hdrLinkOpen" expr=true" />
<gdexpression id="hdrLinkAdvanced" expr=true />
<gdexpression id="hdrLinkHelp" expr=true" />
<gdexpression id="hdrLinkHome" expr=true" />
<gdexpression id="hdrLinkGSearch" expr=true" />
<gdexpression id="hdrLinkNew" expr=true" />
<gdexpression id="hdrLinkDashboards" expr=true" />
<gdexpression id="hdrLinkSettings" expr=true" />

<gdexpression id="hdrLinkCatalog" expr="false" />


<gdexpression id="hdrLinkOpen" expr="false" />
<gdexpression id="hdrLinkAdvanced" expr="false" />
<gdexpression id="hdrLinkHelp" expr="false" />
<gdexpression id="hdrLinkHome" expr="false" />
<gdexpression id="hdrLinkGSearch" expr="false" />
<gdexpression id="hdrLinkNew" expr="false" />
<gdexpression id="hdrLinkDashboards" expr="false" />
<gdexpression id="hdrLinkSettings" expr="false" />

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

19

Banner and Global Navigation


Highlights
Redirect the

icon to a custom html page

biee0088.html
Before (Code)

After (Code)

/Oracle_BI1/bifoundation/web/app/old/l_en/biee0088.htm

/Oracle_BI1/bifoundation/web/app/old/l_en/biee0088.htm
* With custom html inside the file.

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

20

Banner and Global Navigation


Highlights
Remove the page options menu
portalscript.js
Remove the following code

var c=document.getElementById("DashboardPageOptions");
if(c)
{d=obidash.getResourceString(obidash.seedResourceFile,"kmsgDashboardPageOptionsMenu");
var o=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_ena");
var a=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_dis");
var n=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_ovr");
var b=obidash.getResourceURL(obidash.seedResourceFile,"popupmenu_dwn");
r=new obips.Toolbar.ButtonIconSet(o,a,n,b);
p=new obips.DataType.FunctionalIcon(r,d,new obips.Callback(null,function(s)
{obidash.openMenu(s,"idPersonalizationMenu")}),"idPersonalizationMenuIconButton");c.appendChild(p.getViewer())}

Before (Screenshot)

Copyright 2012 Accenture All rights reserved.

After (Screenshot)

21

Reporting
Notable Customizations

Change the export and download options


Modify the report No Results messaging
Modify the browser tab name
Create action framework image links
Replace the preparing guided navigation text with the waiting
clock

Additional Customization Options


Show/Hide dashboard sections with a button
Remove Graph prompt borders
Rename the apply and reset buttons

Copyright 2012 Accenture All rights reserved.

Remove the reset button


Globally
By dashboard

22

Reporting
Spotlight Demonstration

Modify export and download options


Before

Customization Goals

After

Remove dataset export types incompatible with


the reports

Reduce unnecessary load on the system
Use in conjunction with the maximum export
rows configuration within Enterprise manager
Demonstration Steps for Removing Download Links
Conditional

Global

Locate download
type entry

Add unique identifier


for download type

Locate download
type entry

Delete download entry


type

Confirm current
session user

Based on session
user, show/hide option
via identifier

* OBIEE provides ability to show/hide complete menu


Copyright 2012 Accenture All rights reserved.

23

Reporting
Highlights
Modify the report No Results messaging
viewmessages.xml
Before (Code)

After (Code)

<WebMessage
name="kmsgEVCNoRowsFilters"><HTML>The specified
criteria didn&#39;t result in any data. This is often caused
by applying filters and/or selections that are too
restrictive or that contain incorrect values. Please check
your Analysis Filters and try again. The filters currently
being applied are shown below.
<span style="font-size: 4pt;"><br/><br/></span><sawm:param
insert="1"/></HTML></WebMessage>

<WebMessage
name="kmsgEVCNoRowsFilters"><HTML>This is a custom
error message. Any no results messaging can be inserted
here.
<span style="font-size: 4pt;"><br/><br/></span><sawm:param
insert="1"/></HTML></WebMessage>

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

24

Reporting
Highlights
Modify the Browser Tab Name
productmessages.xml
Before (Code)

After (Code)

<WebMessage name="kmsgProductPortal"><TEXT>Oracle
BI Interactive Dashboards</TEXT></WebMessage>

<WebMessage name="kmsgProductPortal"><TEXT>My
Custom Tab Messaging</TEXT></WebMessage>

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

25

Reporting
Highlights
Create Action Framework Image Links
dashboardtemplates.xml
Before (Code)

After (Code)

a name=&quot;SectionElements&quot;
href=&quot;<sawm:param name="dest"/>

a name=&quot;SectionElements&quot;
id=&quot;Custom_ID&quot;
href=&quot;<sawm:param name="dest"/>

SectionElements&quot;
href=&quot;javascript:void()&quot;

Copyright 2012 Accenture All rights reserved.

SectionElements&quot;
id=&quot;Custom_ID&quot;
href=&quot;javascript:void()&quot;
---------------------------------------------------------------------------------------------------Client Side Code
<script>
function getElement()
{
var element = document.getElementById("Custom_ID");
var myImage = '<img src="[CUSTOM_DIRECTORY]/my_image.png" />'
element.innerHTML = myImage;
}
getElement();
</script>

Before (Screenshot)

After (Screenshot)

26

Reporting
Highlights
Replace preparing guided navigation text with the waiting clock
dashboardtemplates.xml, portalcontent.css, portalsysmessages.xml
Before (Code)

After (Code)

dashboardtemplates.xml
<sawm:param name="viewID"/>NavSearch&quot;&gt;

dashboardtemplates.xml
<sawm:param name="viewID"/>NavSearch&quot;&gt;
<img class ="SrchImg" src="/StateOfMass/s_StateOfMass1/views/
searching.gif" border="0"/>


&lt;/div&gt;&lt;div id=&quot;<sawm:param name="viewID"/>


<sawm:messageRef name="kmsgDashboardPrepareGuided"/>
&lt;/div&gt;&lt;div id=&quot;<sawm:param name="viewID"/>
-------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------------------------------portalcontent.css
portalcontent.css
.PortalPreparingGuided{background-color:#CCCCCC;margin:
.PortalPreparingGuided{background-color:#FFFFFF;margin:4px 0 0 4px;padding-left:
4px 0 0 4px;padding-left:15px;}
15px;}



&lt;/div&gt;&lt;div id=&quot;<sawm:param name="viewID"/>
<sawm:messageRef name="kmsgDashboardPrepareGuided"/>

&lt;/div&gt;&lt;div id=&quot;<sawm:param name="viewID"/>
-------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------
portalsysmessages.xml
Portalsysmessages.xml
<WebMessage name="kmsgDashboardPrepareGuided">
<WebMessage name="kmsgDashboardPrepareGuided">
<HTML></HTML></WebMessage>

<HTML>Searching</HTML></WebMessage>

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

27

Integration and Accessibility


Notable Customizations

Spotlight Demonstration Conditionally show/hide prompt sections


with a button
Create a custom logoff redirect page
Replace dashboard section [+] / [-] hover text

Additional Customization Options


a custom login page (for public site administrative users)
Modify alt text on the header logo
Modify alt text on the Title View images
Create

Copyright 2012 Accenture All rights reserved.

28

Integration and Accessibility


Spotlight Demonstration

Conditionally show/hide prompt components with a button


Customization Goals
To be able to control the display of individual prompt sections based on a button
Example: A client wants 3 of 10 prompts shown initially, but the user can select a button to show
the rest. This allows for a basic as well as an advanced version of the same prompt set in one
page.


Enhance the user experience for the visually impaired due to larger buttons

Demonstration Steps for conditionally showing prompt sections


Add unique ID for
each prompt
section

Copyright 2012 Accenture All rights reserved.

Based on the
unique ID, show
or hide the
prompt section

Attach the show/


hide functionality
to a dashboard
button
29

Integration and Accessibility


Highlights
Create a custom logoff redirect page
logoncontrolmessages.xml
Before (Code)

After (Code)

<table id="content" class="stylenormal" width="100%"


border="0" cellpadding="0" cellspacing="10"><tr><td
id="content-cell"><sawm:param name="pageContent"/
></td></tr></table>

<table id="content" class="stylenormal" width="100%" border="0"


cellpadding="0" cellspacing="10"><tr align="center">
<td id="content-cell" align="center">You have been logged out due
to inactivity. Please click
<a class="pagelink" id="aboutProduct" href="saw.dll?
Dashboard&amp;NQUser=XEGIE34AQ8Q9&amp;NQPassword=TU
IEA82A12AE">here</a>
to return to the home page.
</td>
</tr></table>

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

31

Integration and Accessibility


Highlights
Replace dashboard section [+] / [-] hover text
uimessages.xml
Before (Code)

After (Code)

<WebMessage name="kmsgDashboardMaximize">
<TEXT>Expand</TEXT>
</WebMessage>^M
<WebMessage name="kmsgDashboardMinimize">
<TEXT>Collapse</TEXT>
</WebMessage>^M

<WebMessage name="kmsgDashboardMaximize">
<TEXT>Custom Expand Message</TEXT>
</WebMessage>^M
<WebMessage name="kmsgDashboardMinimize">
<TEXT>Custom Collapse Message</TEXT>
</WebMessage>^M

Before (Screenshot)

After (Screenshot)

Copyright 2012 Accenture All rights reserved.

30

Demo

Appendix

Highlights File Paths


Highlight

File Name

File Path

Re-Route Home Link to Custom URL

header.js

[ORACLE_HOME]/bifoundation/web/app/res/b_mozilla/
[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/
_WL_user/analytics_11.1.1/[TEMP_DIRECTORY]/war/res/
b_mozilla/

Remove Menu Bar Links

saw.sessioninfos.xml

[ORACLE_HOME]/bifoundation/web/msgdb/common

Redirect the help icon to a custom html


page

biee0088.htm

[ORACLE_HOME]/bifoundation/web/app/olh/l_en

Remove the page options menu

portalscript.js

[ORACLE_HOME]/bifoundation/web/app/res/b_mozilla/
dashboards
[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/
_WL_user/analytics_11.1.1/[TEMP_DIRECTORY]/war/res/
b_mozilla/dashboards

Modify the report No Results


messaging

viewmessages.xml

[ORACLE_HOME]/bifoundation/web/msgdb/messages

Modify the Browser Tab Name

productmessages.xml

[ORACLE_HOME]/bifoundation/web/msgdb/messages

Create Action Framework Image Links

dashboardtemplates.xml

[ORACLE_HOME]/bifoundation/web/msgdb/messages

Replace dashboard section [+] / [-] hover uimessages.xml


text

[CUSTOM_DIRECTORY]/customMessages/l_en/messages/

Create a custom logoff redirect page

[ORACLE_HOME]/bifoundation/web/msgdb/messages

Copyright 2012 Accenture All rights reserved.

logoncontrolmessages.xml

Highlights File Paths


Highlight

File Name

File Path

Replace preparing guided


navigation text with the
waiting clock

dashboardtemplates.xml

[ORACLE_HOME]/bifoundation/web/msgdb/messages

dashboardtemplates.xml

[CUSTOM_DIRECTORY]/customMessages/l_en/messages

portalcontent.css

[CUSTOM_DIRECTORY]/s_[CUSTOM_SKIN]/b_mozilla_4

portalcontent.css

[CUSTOM_DIRECTORY]/s_[CUSTOM_SKIN]/b_mozilla_4/rtl

portalcontent.css

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/_WL_user/
analytics_11.1.1/[TEMP_DIRECTORY]/war/res/s_blafp/b_mozilla_4

portalcontent.css

[ORACLE_HOME]/bifoundation_domain/servers/bi_server1/tmp/_WL_user/
analytics_11.1.1/[TEMP_DIRECTORY]/war/res/s_blafp/b_mozilla_4/rtl

portalsysmessages.xml

[ORACLE_HOME]/customMessages/l_en/messages

Copyright 2012 Accenture All rights reserved.

Spotlight Demonstration #1
[HOME]\Oracle_BI1\bifoundation\web\msgdb\l_en\messages\uicmsgs\saw.header.xml

[HOME]\Oracle_BI1\bifoundation\web\msgdb\common\saw.header.xml

[HOME]\Oracle_BI1\bifoundation\web\msgdb\common\saw.sessioninfos.xml

Copyright 2012 Accenture All rights reserved.

Spotlight Demonstration #1
[HOME]\Oracle_BI1\bifoundation\web\app\res\b_mozilla\header.js

Copyright 2012 Accenture All rights reserved.

Spotlight Demonstration #2
[HOME]\Oracle_BI1\bifoundation\web\msgdb\messages\viewscontrolmessages.xml

Copyright 2012 Accenture All rights reserved.

Spotlight Demonstration #3
[HOME]\Oracle_BI1\bifoundation\web\app\res\b_mozilla\prompts\promptsruntime.js

Copyright 2012 Accenture All rights reserved.

Das könnte Ihnen auch gefallen