Embedding Methods

Different Ways to Embed Sisense

There are 3 different ways that Sisense can be embedded:

  • IFrame (Inline Frame)- This is the basic method of opening a "window" to another website while in a different website.
  • Embed SDK- This uses the IFrame approach to display, while adding APIs to help manage the dashboard.
  • Sisense JS- This is the most powerful method of the three, enabling individual loading of widgets, filters, scripts, and more.

Selecting the best method for you is an important decision, which requires understanding each and weighing their pros and cons as they relate to your needs.

IFrame

An IFrame loads a target page into your embedding website. You can think of it as placing a website within a website.

This is the quickest and easiest way to embed Sisense dashboards into your web application. Using IFrames is a great solution for simple embedding use-cases and Sisense has built-in support for it. You can even append query parameters to the dashboard's URL to adjust the UI, as needed.

For implementation information, see the Sisense Developer site.

The following table lists the Pros and Cons of using an IFrame for embedding Sisense:

Pros

Cons

Easy and fast deployment

Slower to load (loads almost the entire webapp)

Looks and behaves the same as the source

Not dynamic or customizable

Embed SDK

While using an IFrame, Embed SDK enables implementing additional code to provide some advanced options.

Note:

The Sisense Embed SDK is supported by Sisense for Linux V8.2.1 or newer.


Embed SDK enables tighter integration with the host application with minimal code. Delivered as a JavaScript library, the Embed SDK minimizes developer resources to manage complex communication between the host application and embedded analytics. The Embed SDK is an abstracted embedded interface that wraps an IFrame element. With Embed SDK you can programmatically:

  • Render a Sisense IFrame element or hook to an existing one
  • Subscribe to various events fired within Sisense
  • Execute commands like adding and removing filters, or exporting dashboards
  • Access information about the state of the Sisense application within the IFrame

The SDK removes all the hassle and risk and significantly speeds up development and integration.

For implementation information, see theSisense Developer site.

The following table lists the Pros and Cons of using Embed SDK for embedding Sisense:

Pros

Cons

Can handle some custom filtering

Not all events\methods\objects are available

Enables some event handling

Limited customization


Requires coding knowledge

Sisense JS

Sisense JS is a JavaScript library dedicated to embedding individual dashboards, widgets, and filters in web applications so that they can be displayed and managed (without using IFrames).

With the Sisense JS library, you can:

  • Load Sisense runtime anywhere, without IFrames
  • Load dashboards in runtime
  • Render all, part, and new widgets in any DOM container
  • Embed Sisense visualizations into your mobile applications

For implementation information, see theSisense Developer site.

The following table lists the Pros and Cons of using Sisense JS for embedding Sisense:

Pros

Cons

Very customizable (styles, layouts, scripts, events and more)

Requires coding knowledge

Full access to the Prism obj

Advanced cases may require longer time to market

Selecting the Best Method for You to Embed Sisense

The following table depicts various potential needs, and which method best suits those needs.

Bottom Line

  • If your primary concerns are time to market and native functionality on the dashboard, you should choose an IFrame.
  • If you need custom scripting, layouts, styles events and advanced functionalities on the dashboard and syncing or effecting/using your app, choose Sisense JS.
  • If you are planning to invest some developer time in the project, you should usually choose Sisense JS. This is unless you require editing capabilities, in which case you may want a mixture of Sisense JS for a snappy user experience and clean matching layout for viewers on your website, and Embed SDK for editing and managing dashboards in your app.

For more information, see:https://sisense.dev/guides/embedding/

To try the different embedding options, see the "Solutions" section of the playground:https://sisense.dev/playground