Yellowfin Evaluation Guide
Yellowfin is used for both enterprise analytics and embedded analytics use cases and for building bespoke analytical applications. Use this guide to ensure Yellowfin is the right technical fit for your requirements.
Embedding Analytics
-
In this section
Updated 15 October 2024 -
Overview
By default, Yellowfin operates as a stand-alone web application. However many clients choose to embed or integrate Yellowfin into their application, website or portal. Yellowfin offers a variety of rich capabilities to support the specific style of integration that is required.
What are the different methods that Yellowfin supports for integrating into another application or website?
Broadly, there are two main methods for integrating Yellowfin:
- Application integration – the entire application, or parts of the application can be integrated – either as a customised full-page application or embedded within an iFrame
- Content integration – individual content items such as Dashboards, Reports and Stories can be integrated into the target application
Integration methods can be mixed together to achieve the optimal user outcome for the amount of integration effort.
Combined with Yellowfins’ extensive white-labelling features, both methods allow for Yellowfin capabilities to be seamlessly integrated into your target application.
Is it possible to embed Yellowfin into my software solution?
Software companies can embed Yellowfin using one of the methods described below in order to bring valuable reporting and analytic capabilities to their users. Yellowfin provides for fine-grained control over which capabilities are made available – from individual content items such as a chart, through to the entire Yellowfin application.
How do I choose the right integration method?
How you choose to embed is based on the user experience you want to create. If you are simply augmenting an existing workflow you may want to bring in analytic content. For example, embedding a dashboard into an enterprise portal or placing charts within your application workflow.
If on the other hand, you want to allow users to create reports via self-service then you will want to embed the entire application.
-
Content Integration
In this approach, you embed individual content items, such as reports and dashboards, from the Yellowfin application for display on your own.
Why choose content integration?
Content integration offers you the ability to display Yellowfin content geared for consumption(as opposed to creation) in a standalone fashion, often tightly integrated with the rest of your application’s workflow.
This can range from one small chart on its own on a page primarily dedicated to an activity stream, through to a fully interactive dashboard.
How do I integrate Yellowfin content?
Though there are several approaches, the primary means of content integration is through our JavaScript API.
Individual content items can also be integrated using the iFrame method and using custom URL links to land on that specific content.
JavaScript API
How can I use the JavaScript API to integrate content?
Using the JavaScript API, Yellowfin Reports and Dashboards can be embedded into external webpages, which can be hosted on a separate webserver to Yellowfin. The only requirement is that the end user’s browser is able to access the Yellowfin server. This is achieved by placing a scriptlet into the HTML code.
How does the API allow me to control that content and integrate it seamlessly into my application?
There are a number of UI elements that can be configured to show or hide when embedding a piece of content through the Javascript API. As well as a number of functions that are available to manipulate the state of a piece of content. This allows a report or dashboards values to be completely controlled by your application, as well as many other features.
What types of content can I integrate using the API?
Any type of reports visualization (tables, charts, report canvas) and any type of Dashboard (predefined layout or canvas) can be integrated.
Can I filter or authenticate a user prior to rendering the report or dashboard?
By default all reports and dashboards will require a user to be authenticated, ensuring that their data security and users preferences are inherited. However, by enabling guest users it is possible to allow insecure access to content as well.
In addition to the primary report and dashboard loading calls, Yellowfin also offers several supplemental calls and APIs, to allow custom interaction between your application and the Yellowfin report:
- Retrieve filter values and apply filters
- Call drill down
- Retrieve report data
-
Application Integration
In this approach you provide your users with direct access to the Yellowfin application, offering some or all of the rich experience and features contained. For a seamless integration, we can limit the Yellowfin components displayed and re-style the application to feel like it belongs in the broader UX.
Why choose application integration?
Application integration is the favored approach when you wish to offer your users some of the interactivity features that can only be accessed through the application including:
- Self-Service/Ad Hoc report creation
- Collaboration elements such as Timeline
How can I integrate the full Yellowfin application into my application or website?
Application integration is typically done via one of two approaches:
1. Redirection
In this approach, which is generally the easiest of all options to implement, you route your users directly into the Yellowfin application. To maintain a consistent feel with the rest of your portal or software, you may want to restyle the application <see restyling>. At the simplest, this might consist of swapping the Yellowfin logos and possibly changing core element colors.
More advanced implementations may use custom headers <link to wiki> to control user navigation, both within the Yellowfin Application and between YF and your application.
2. Iframe
In this approach, you embed the Yellowfin application within your own portal, inside of an iFrame. The Yellowfin header is often disabled in favor of your own application’s header. This approach also tends to be easier than redirection when implementing custom navigation.
How can I make Yellowfin look like a natural extension of my application?
By using a combination of re-styling and application integration options you can make Yellowfin feel like a seamless extension of your application.
Can I just integrate one or more components of Yellowfin into my application?
It is possible to choose the components that you want to embed into your application. Either via functional access or managing distinct URLs you can precisely tailor the components you deploy in your application.
How do I control a user’s experience?
Every component of the Yellowfin application is accessible by itself, either as a distinct URL or through entry parameters. When this feature is combined with the ability to limit user navigation within the application (also through entry params), we are able to embed components of the application individually.
As an example, you may create a link on your application that takes a user directly to the Report Builder. Because standard Yellowfin navigation has been disabled, once the user is finished creating a report, they are forced to interact with your application to move to their next destination, which may not include Yellowfin.
To aid in custom navigation, Yellowfin provides several Administrative Web Service <link> calls that allow you to obtain content ids and locations programmatically.
What functionality can be enabled?
Like the standard Yellowfin application, access to functionality is primarily controlled by a user’s role permissions. With distinct user roles, you are able to offer any experience you desire in application integration from a full system administrator, to an ad-hoc report builder, to a simple consumer who only has the ability to see one dashboard.
-
Other Content Integration Options
What other content integration options are available to me?
In addition to the JavaScript, API Yellowfin does offer other external methods for integrating content into your application. While not as frequently used, these methods do have their place and are worth covering briefly:
- Report Services
These web-services are geared around extracting report components such as the result set of a report or a PDF/CSV version of the report programmatically. - IFrame
Much like the application integration, Iframes can be used to embed content such as dashboards. By limiting the navigation and functionality available to the user, you are able to offer features such as assisted insight and collaboration around the dashboard, without exposing the entire application to the end-user. - REST API Services
Yellowfin has deployed a range of REST API web services. These services can be used for a variety of purposes, including delivering content to your application. These services can even deliver content such as Signal information, Timeline notifications, Discussion Threads and other Yellowfin content. These can be used to integrate this content into your application in a customized way.For a great example of these web-services in action, download the Yellowfin Mobile App!Further Reading on embedding analytics…Application Integration iFrame Integration Restyling and White-labelling Single Sign-On
- Report Services
-
Workflows
How can I enable workflows from Yellowfin to my application?
Insights provided by a BI tool mean little if no action is taken upon them. Yellowfin code mode offers the ability to drive that action facilitating a user’s day to day workflow. There are a number of ways that you can include actions in your dashboards, these include:
- Add action to table data
- Add actions to buttons or other canvas elements
- Add custom input forms
Further Reading:
-
Installer Integration
Can I embed the Yellowfin installer as a hidden part of my own installation package?
Yellowfin can be silently installed behind a third-party installation process. This allows Yellowfin to be installed without the end-user knowing that it is being installed. This may be required when Yellowfin is used as an analytics module inside another product. The parent installation process can prompt the end-user for required parameters in its own interface, before passing installation parameters to the Yellowfin installer via a properties file.
The silent installer can also be used for automatically provisioning Yellowfin in DevOps processes, such as automatic installation in a Docker container.
Can I upgrade Yellowfin via my own upgrade and maintenance services?
The Yellowfin application can be upgraded in a silent mode. This allows Yellowfin to be upgraded as part of a parent application’s upgrade process, or via scripted Dev Ops processes.