This framework provides a standardized way to implement and publish dashboards to the Pentaho BI Platform. The Pentaho AJAX API is used to retrieve the BI content and the Pentaho Solution Repository stores the content definitions. Therefore all dashboard information objects, such as charts and reports, need to be defined in Pentaho Action Sequences.
These files are at the heart of this dashboard framework.
- Dashboards.jsp - JSP file that provides the access point to the
- template-dashboard.html - A template organizing the navigation and content area
- dashboard-list.xsl - Style sheet to display the dashboard navigation bar
The Dashboards.jsp page is called by the user and provides the access to all Dashboards. The main layout of the page is defined in the template-dashboard.html template page and consists of four parts: Header, Dashboard Navigation Bar, Dashboard Content and Footer. Header and Footer are defined in the template file while the style of the Dashboard Navigation Bar is defined in the dashboard-list.xsl. The Dashboard Content area is the place where the actual dashboards are displayed.
As common within the Pentaho Solutions, this framework works on a set of assumptions concerning the organization and naming of the folder structure and files. A new Pentaho Solution called dashboards is the root of all dashboards. Each dashboard is defined in a separate folder that is a direct child of the dashboards folder and must contain two files, index.xml and template.html.
The index.xml is used to identify the dashboard's name and description just as in any other folder in the Pentaho solution repository. The template.html file determines the dashboard's design. The content layout as well as the static content are defined with regular HTML. <div>-tags function as placeholders for the information objects. When the user calls up a dashboard, one or multiple Pentaho action sequences will be executed on the BI Platform and the <div>-tags will display the result. A Javascript, embedded in or referenced from the template file, controls the execution of the action sequences. Two functions are needed for each information object, one to initiate the execution of a action sequence via a call to the Pentaho AJAX API and a second that receives the result from the BI server and places the content into the corresponding <div>-tag.