OBIEE automatic redirect to a Dashboard via mod_rewrite
Posted by Dirk Nachbar on Tuesday, August 19, 2014
Normally end users would like to have a simple URL access for Oracle Business Intelligence Enterprise Edition (OBIEE) 11g like http://webhost:7777 and than to be automatically redirected to their Dashboard, instead of typing endless complex URL's.
Assuming you have following standard implementation of an OBIEE environment which contains an Oracle HTTP Server (OHS) configured with mod_wl_ohs to be proxied to point to your WebLogic Server hosting OBIEE and an OBIEE Server, you can simply use the available OHS module mod_rewrite.
In the following I will use the within OBIEE delivered "OBIEE SampleApp Lite" application to demonstrate how to configure the redirect to a specific Dashboard.
By default after login to OBIEE you will be directed to the "bieehome" (see imagine below).
That's quite ok for testing proposes, but the classical end user wants to be pointed normally to another Dashbord, e.g. the "QuickStart / Readme" out of the "OBIEE SampleApp Lite" application (see imagine below).
By looking into the URL for the above displayed "QuickStart / Readme" Dashboard, we can easily see that the URL is containing several HMTL URL Encodings (for a full reference of HTML URL Encoding see http://www.w3schools.com/tags/ref_urlencode.asp) which are red marked:
http://webhost:7777/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme
Mostly we will find HTML URL Encodings like %2F (= forward slash) and %20 (= white space). As I was working in the past intensively with mod_rewrite, I know that such special characters within mod_rewrite rules brings you a lot of pains.
My first starting point was a usual to consult the mod_rewrite documentation (http://httpd.apache.org/docs/current/mod/mod_rewrite.html) and checking the various special flags for CondPattern like NE (noescape) and so on, playing around with RegExp. After multiple failed tests, I was thinking, why not to use the KISS approach :-)
Take from the above URL pointing directly to the "QuickStart / Readme" Dashboard all HTML URL Encodings. In this case four times %2F (= forward slash) and one time %20 (= white space) and replacing the HTML URL Encodings with the "real values" and placing them in my mod_rewrite rule as a double-quoted string:
Check in your httpd.conf that the mod_rewrite module is loaded:
LoadModule rewrite_module "${ORACLE_HOME}/ohs/modules/mod_rewrite.so"
Add at the end of your httpd.conf the following 2 lines. First line is turning your RewriteEngine on and the second line defines your mod_rewrite rule, that all requests to http://webhost:7777 should be redirected to "/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme", but with the replacement of the real values of the HTML URL Encodings:
RewriteEngine on
RewriteRule ^/$ "/analytics/saw.dll?Dashboard&PortalPath=/shared/Sample Lite/_portal/QuickStart&page=Readme" [R]
Save your httpd.conf and restart your OHS server. Now when an end user is accessing the URL http://webhost:7777 he will be automatically redirected to http://webhost:7777/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme
Some times its really good to give even "unconventional" solutions a chance :-)
Assuming you have following standard implementation of an OBIEE environment which contains an Oracle HTTP Server (OHS) configured with mod_wl_ohs to be proxied to point to your WebLogic Server hosting OBIEE and an OBIEE Server, you can simply use the available OHS module mod_rewrite.
In the following I will use the within OBIEE delivered "OBIEE SampleApp Lite" application to demonstrate how to configure the redirect to a specific Dashboard.
By default after login to OBIEE you will be directed to the "bieehome" (see imagine below).
That's quite ok for testing proposes, but the classical end user wants to be pointed normally to another Dashbord, e.g. the "QuickStart / Readme" out of the "OBIEE SampleApp Lite" application (see imagine below).
By looking into the URL for the above displayed "QuickStart / Readme" Dashboard, we can easily see that the URL is containing several HMTL URL Encodings (for a full reference of HTML URL Encoding see http://www.w3schools.com/tags/ref_urlencode.asp) which are red marked:
http://webhost:7777/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme
Mostly we will find HTML URL Encodings like %2F (= forward slash) and %20 (= white space). As I was working in the past intensively with mod_rewrite, I know that such special characters within mod_rewrite rules brings you a lot of pains.
My first starting point was a usual to consult the mod_rewrite documentation (http://httpd.apache.org/docs/current/mod/mod_rewrite.html) and checking the various special flags for CondPattern like NE (noescape) and so on, playing around with RegExp. After multiple failed tests, I was thinking, why not to use the KISS approach :-)
Take from the above URL pointing directly to the "QuickStart / Readme" Dashboard all HTML URL Encodings. In this case four times %2F (= forward slash) and one time %20 (= white space) and replacing the HTML URL Encodings with the "real values" and placing them in my mod_rewrite rule as a double-quoted string:
Check in your httpd.conf that the mod_rewrite module is loaded:
LoadModule rewrite_module "${ORACLE_HOME}/ohs/modules/mod_rewrite.so"
Add at the end of your httpd.conf the following 2 lines. First line is turning your RewriteEngine on and the second line defines your mod_rewrite rule, that all requests to http://webhost:7777 should be redirected to "/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme", but with the replacement of the real values of the HTML URL Encodings:
RewriteEngine on
RewriteRule ^/$ "/analytics/saw.dll?Dashboard&PortalPath=/shared/Sample Lite/_portal/QuickStart&page=Readme" [R]
Save your httpd.conf and restart your OHS server. Now when an end user is accessing the URL http://webhost:7777 he will be automatically redirected to http://webhost:7777/analytics/saw.dll?Dashboard&PortalPath=%2Fshared%2FSample%20Lite%2F_portal%2FQuickStart&page=Readme
Some times its really good to give even "unconventional" solutions a chance :-)