Friday, March 8, 2013

Embedding OBIEE - PortalPages vs. syndicate=Siebel

There are times you might want to embed a Dashboard page in a web page.

There are 2 ways to achieve it:
1. PortalPages
2. syndicate=Siebel

While the PortalPages is well documented in Integrator's Guide for Oracle Business Intelligence Enterprise Edition (6.2.3 Optional Commands and Parameters for the Oracle BI Presentation Services Dashboard URL), I couldn't find anything regarding the very old option of syndicate, in the documentation.

PLEASE NOTE: At 11.1.1.7.0 and 11.1.1.6.10 patch, the problem described here with PortalPages is solved. Unfortunately it remains in cases of navigate to BI content. 

Please Note 2: The problem with navigate to BI Content was solved as well at some 
point and at least for version 11.1.1.7.150120 is working correctly as well. 

So it seems that PortalPages is the recommended Oracle way.


How to create the relevant GO_URL?
In OBIEE, go to the page you want to embed and  select  in the "Page Options", "Create Bookmark Link":

In the URL line I got the following (my server name is bdahab-il and port 7001, replace with your own settings):
http://bdahab-il:7001/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&Page=Overview&PageIdentifier=pp523ed1snrnjteh&BookmarkState=0duteshj7283qgbhsv3lhimhp6

I'm only interested in the first part :
http://bdahab-il:7001/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&Page=Overview

Where "PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart" is the dashboard, and "Page=Overview" is the page in dashboard.

Now I can create a URL. In my URL I will also add user and password parameters. Of course you don't need it if you have Single Sign on.
For PortalPages the URL is:
http://bdahab-il:7001/analytics/saw.dll?PortalPages&PortalPath=%2Fshared%2FSample Lite%2F_portal%2FQuickStart&Page=Overview&NQUSER=weblogic&NQPASSWORD=weblogic123

And for syndicate=Siebel it is:
http://bdahab-il:7001/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample Lite%2F_portal%2FQuickStart&Page=Overview&NQUSER=weblogic&NQPASSWORD=weblogic123&syndicate=Siebel

* Please note: syndicate=Siebel requires the NQUSER and NQPASSWORD parameters. When running without them and getting to the LOGIN screen, it stops working.


By the way, the combination of both:
http://bdahab-il:7001/analytics/saw.dll?PortalPages&PortalPath=%2Fshared%2FSample Lite%2F_portal%2FQuickStart&Page=Overview&NQUSER=weblogic&NQPASSWORD=weblogic123&syndicate=Siebel
Is perfectly OK, as well.


What is the difference between them? Basically they cause the  same effect: you loose the top menu and logo. As a result you see the following:


Instead of this: 
The difference is what happens if you select another page in the dashboard. For example, if I click on the Details page in the Dashboard.


With PortalPage, the header returns:
This is usually not the desired behaviour.

With the syndicate=Siebel extension, the header remains hidden:


Navigate to BI Content, only syndicate=Siebel behaves well.
I will talk about a proper solution in later posts. Meanwhile, to hide the banner for specific dashboard, you can use the trick suggested by John Minkjan here:


Add a text object in each target dashboard. Mark the contains HTML and paste the following text (11g code):

<script type="text/javascript">
    var tds = document.getElementsByTagName('table');
    for (var td = 0; td < tds.length; td++) {
        if (tds[td].className != 'HeaderTopBar' && tds[td].className != 'HeaderSecondBar ' ) {
            continue;
        }
        if (tds[td].className == 'HeaderTopBar') {
        //alert (tds[td].className);
        var x = tds[td].parentNode;
        //alert (x.className);
        x.removeChild(tds[td]);}
        if (tds[td].className == 'HeaderSecondBar ') {
        //alert (tds[td].className);
        var x = tds[td].parentNode;
        //alert (x.className);
        x.removeChild(tds[td]);}
        }
</script>

 
like this:

The result changes from this:


To this:




Usually you don't need it, but if you insist, how can you Sign Out now?
With additional URL: http://bdahab-il:7001/analytics/saw.dll?Logoff


2 comments:

  1. plz update how to do the same in BI 12c> it is going to login screen.

    ReplyDelete
    Replies
    1. similar issue I am battling with...Hi Boris.....any luck yet with 12c?

      Delete