Thursday, October 4, 2012

Custom links on header

My current client wants to implement custom help for their users. We implemented this by removing the default help link on the header and replacing it with one of our own.

The steps to remove the default help link is as follows:

Log in as admin (weblogic) and go to the Administration section


Search for the text 'Help Menu'


and change the permission to 'Denied'



Log out and log back in - the header should not have the 'Help' Menu link anymore.


Now setting up the custom help. I am assuming that you have a link setup for that. Let's say Yahoo has decided to host our help on their home page. What we need to do next is to setup a menu which points to yahoo's home page.

Custom menu needs to be configured using the file -

<BIInstance>\bifoundation\OracleBIPresentationServicesComponent\coreapplication_obips1\customlinks.xml

http://docs.oracle.com/cd/E25178_01/bi.1111/e10541/answersconfigset.htm#BABHAEIF

The documentation related to this feature mentions that this location is the default location for the file, and if we make changes to this the file at this location, the menus will start working. But we found out that this is not the case, and we have to make changes to the configuration file to ensure that the system knows to bring this file in play.

A bug was opened with Oracle Support to figure this out - (14669527 - CUSTOM LINKS NOT WORKING AND CRASHING THE SERVER)

Support came back with this correction:

There appears to be 2 issues with the doc:
.
1) The "default location" is not picked up unless the tags are added to
instanceconfig.xml:
<ServerInstance>
<CustomLinks>
<filePath>c:/mydir/mysubdir/customlinks.xml</filePath>
</CustomLinks>
</ServerInstance>
This is the reason the changes make no effect.

2) The example XML in the doc is actually invalid. There are 3 lines which
need correcting
(i)
<link id="l1" name="OTN" description="OTN open in new window"
src="http://www.oracle.com" target="blank" >
<locations>
<location name="header"> /
</locations>
</link>
.
should be
.
<link id="l1" name="OTN" description="OTN open in new window"
src="http://www.oracle.com" target="blank" >
<locations>
<location name="header"/>
</locations>
</link>
.
.
(ii)
<link id="l3" name="Yahoo" description="Yahoo" src="http://www.yahoo.com"
target="yahoo" iconLarge="common/helptopics_lg_qualifier.png">
<locations>
<location name="getstarted"> /
</locations>
</link>
.
should be
.
<link id="l3" name="Yahoo" description="Yahoo" src="http://www.yahoo.com"
target="yahoo" iconLarge="common/helptopics_lg_qualifier.png">
<locations>
<location name="getstarted"/>
</locations>
</link>
.
.
(iii)
<link id="l5" name="Gmail" description="gmail" src="http://www.gmail.com"
target="blank" iconLarge="common/gmail.png" >
<locations>
<location name="getstarted"> /
<location name="header" insertBefore="catalog" />
</locations>
</link>
.
should be
.
<link id="l5" name="Gmail" description="gmail" src="http://www.gmail.com"
target="blank" iconLarge="common/gmail.png" >
<locations>
<location name="getstarted"/>
<location name="header" insertBefore="catalog" />
</locations>
</link>
.
.
(essentially the terminating slash of the "location" tag has been placed
outside the tag when it should be the last character before the ">".)
.
when I made these changes it worked fine for me.
.
ACTION PLAN FOR SUPPORT
-----------------------
Please ask your customer to correct this on their system and retest.


Once we fixed this the menus started working - see the screen shot above, we added the OTN link

Epilogue: If we change the menu link for Help, we loose the 'context sensitiveness' of the help. In a later article I will describe how we restored that feature in our custom help solution.

Sachin
JainSys

What is Zero Trust Architecture?