If you ever tried to publish an SAP BusinessObjects Xcelsius dashboard to InfoView by using the “Export” option to “Enterprise”, you surely ran into a sizing problem when viewing the dashboard. As the dashboard designer, you pay great attention to the dashboard canvas size and try to maximize each and every pixel on the canvas for optimized viewing and information delivery. However, when you go to open the dashboard you exported from to InfoView from within InfoView, you will most probably be surprised to see fonts reduced to sizes that make words illegible, components overlapping and other display problems. That is because InfoView opens the swf file you exported to the BusinessObjects repository without specifying the height and width attributes you created for your canvas. The swf scales to the user browser window size. It will likely be too small if opened inside the InfoView portal, or too big if opened in a separate window, and in either case, it will certainly not look exactly like you want it. So, what can you do? One work around you can use is provide you users a hyperlink objects inside of InfoView, rather than the actual swf object, as a way to open the dashboard. The hyperlink can direct the user request to a web page on the local BO server that will embed your dashboard with the proper dimensions, as well as handle the user authentication and embedding the user session token into your dashboard, in case you are connecting to a BusinessObjects universe via QaaWS or LO. You can follow the example below for the solution implementation details, this example is based on a BO system deployed using the standard Tomcat app server on windows.
- Create a directory inside the InfoViewApp web app directory to house the files you will create to redirect the user request and open your dashboard file. For example create a directory called dashboards in the InfoViewApp directory, like so: Tomcat55webappsInfoViewAppdashboards
- In this directory, you will host three files:
- a .jsp file that will “harvest” the user session token, pass it to the Xcelsius swf file, and open the swf file using the width and height specifications you used in your canvas
- the actual Xcelsius dashboard swf file
- Finally, create a hyperlink in InfoView to the html file that will “popup” the dashboard in the desired size. You can use a relative url in your hyperlink (for example: ../../InfoViewApp/dashboards/pop_dashboard.html) which you can migrate through the import wizard without needing to change a host name on the server you will migrate this link to.
You can also download an example for adding a resize function to your dashboard here.