Web Services. It can be deployed alongside Yellowfin, or on a separate server.
The DashXML framework provides a method for creating dashboards that combine Yellowfin content and custom items without the need for programming. The dashboards are configured in a single XML document that describes each element on each tab as a widget. All layout and styling can be achieved via customised CSS.
DashXML is designed to be implemented by a highly advanced user. This user would either be a developer, or someone with a strong technical background.
In order to implement a DashXML solution the user would require the following technical skills as a minimum:
|Basic + Third Party Security||This implementation would use reports (tables, charts, multi-charts, maps) called from a Yellowfin instance, with custom images and styling applied. This could also include the use of a Java Servlet Filter to apply source filters based on external user credentials, while still running reporting content as the nominated Yellowfin user (from the web.xml file).|
No user security is offered out-of-the-box with DashXML. Third party user security can be implemented using a Java Servlet Filter. This can test access for a user for a given dashboard, apply appropriate source filters for that user, and run the reports as the nominated user specified in the web.xml file.
Source filter can be passed for a particular session to enable row-level security. Source filters will need to be defined in the Yellowfin interface, and then referenced within the DashXML.
DashXML does not replicate all functionality found in the Yellowfin interface. Some of the functions that can't be replicated within DashXML include:
- Drill Down (on Tables) and Linked Drill Down
- Drill Anywhere (on both Tables or Charts)
- Drill Through (on both Tables or Charts)
- Brushing and Linked Brushing
- Series Selection and Linked Series Selection
- Interaction and Tooltips on Multi-Chart Canvases
- Animated Chart Loading
- Time Series Date Slider and Unit Selection
- Column Formatters (such as Flag Formatter)
- Selectable Layers on Maps
- Client Organisations
- Yellowfin Dashboards
- Yellowfin Storyboards
- Ensure that your version of Yellowfin currently has a server licence (with the correct number of server cores specified).
If you don't have a server licence, you should contact your account manager.
- Download DashXML from the Support Centre page of the Yellowfin website.
If you don't have access to this page, you should contact your account manager.
- Ensure your version of Yellowfin is running the latest 7.1 patch.
Yellowfin releases monthly patches, visit the Support Centre to download the latest.
Note: early versions of Yellowfin 7.1 (or releases prior to 7.1) will not be compatible with the DashXML framework.
- Stop your Yellowfin instance.
There are some changes to files related to your Yellowfin instance that you will have to update, and in order for the changes to be implemented correctly, Yellowfin must not be running.
Edit your Yellowfin web.xml file.
\Yellowfin\appserver\webapps\ROOT\WEB-INF\and edit the web.xml file. You will need to uncomment the following section in order to enable Web Services.
Update your file from this:
Save your changes.
- Unzip your DashXML file.
You are able to install DashXML two ways:
- into your Yellowfin directory, so that it runs on the same Tomcat instance, or
- into a completely separate Tomcat instance which may sit on a different server to Yellowfin if required.
Yellowfin Tomcat Separate Tomcat Copy the DashXML folder (from your downloaded zip) into your
\Yellowfin\appserver\webapps\directory. You should now have both a
DashXMLdirectory sitting within
Copy the DashXML folder (from your downloaded zip) into your
\Tomcat\webapps\directory. You will now have a DashXML directory sitting within webapps.
- Edit your DashXML web.xml file.
\webapps\DashXML\WEB-INF\and edit the web.xml file. You will need to make three changes to this file, in order for DashXML to be able to connect to your Yellowfin instance.
Set your Yellowfin URL.
Set your Yellowfin username.
Set your Yellowfin password.
- Start Yellowfin.
In order to get started with DashXML walk through the following steps to familiarise yourself with the development process.
Edit your dashboard.xml file.
\DashXML\WEB-INF\and edit the dashboard.xml file. This is the file you will use to build your dashboards. To start with, all you need is this:
Edit your dashboard.css file.
\DashXML\css\and edit the dashboard.css file. This is the file you will use to style your dashboards. To start with, it will look like this:Click here to expand...
- Locate a report in Yellowfin.
In this scenario we're going to create a dashboard with a single report with a date filter. Run Yellowfin and find or create a report with a between date filter. The report created for this example looks like this:
- Find the Filter and Report UUIDs.
DashXML references content components via their system UUIDs. In order to locate these for our example you will need to:
- Run the report after applying some filter values (any value will do, just don't leave them blank).
- Open the Report Details window.
- Copy the Report URL
Paste the Report URL into a text file and locate the UUIDs as follows:
URL UUID Description This is the full Report URL. From here you can locate the Report UUID and any Filter UUIDs you need. 39fc0f87-77c8-4a5b-aec3-2a04ed78bae3 This is the Report UUID, which will be referenced in the DashXML in order to display the results of the report on the dashboard. 9d1dc0bb-ab9a-4852-b408-a9a6b94af66a This is the Filter UUID, which will be referenced in the DashXML in order to pass filter values through to the report displayed on the dashboard.
- Develop your dashboard in the dashboard.xml file.
Here we need to complete the following in order to create a simple dashboard using our sample report and filter.
Set up the Dashboard
To begin, you will need the
<dashboard>elements. As we're creating our first dashboard, the ID can be '1'.
Prepare the User Prompt date filter
In order to ask the user for filter values you will need to include the
<filter>element. What we've done in this example is set up four possible options for the user for a date filter; All Time, Year, Month, Custom.
The All Time filter has been defined within the XML to cover a 200 year range, effectively covering all data in our database. The Year and Month filters have been set using predefined ranges within the XML that will be dynamically set in relation to the current date when the report is run. The Custom range has been left as completely User Prompt, meaning that the user will be provided with date pickers to choose their start and end dates.
Set up the Report and Filter Map
In order to display the report and pass through the filter values that the user selects you will have to include the
<filterMap>elements. We've used the UUIDs we identified earlier in order to populate the elements, defined the report to display as a CHART, and styled it with the canvasChart class from our css file. The filter map has linked the filter UUID we found on the report, to the dateFilter that we defined in the previous step.
Save your changes.
- Load the DashXML content.
Yellowfin stores the DashXML content definitions from the dashboard.xml file in memory. In order to ensure your changes are used you need to refresh this by running the
reloadcontent.jspfile. To do this load the following URL in your browser:
http://<location of Yellowfin>
If run correctly, you will get the following message:
If run incorrectly, you will get an error. This one means the UUID is incorrect:
Load your DashXML Dashboard.
To view your dashboard load the following URL in your browser:
http://<location of Yellowfin>/DashXML/
You should now see something like this:
As you can see, the dates need some formatting.
Apply styles to the filters.
Return to your dashboard.css file and apply the following styles. We found the classes required through dev tools within our browser.
Save your changes, clear your browser cache, and refresh your dashboard page. You should now see this:
Try out the filters and ensure they update your report after each selection.
You have now completed a very simple dashboard. From here you can design dashboards and styling based on your business requirements. Explore the widgets available to DashXML here: