Embedding In-context Actions
  • 14 Jun 2022
  • 1 Minute to read
  • Dark
    Light

Embedding In-context Actions

  • Dark
    Light

When thinking about in-context actions, you should consider the following:

  • How interactive do you want the integration to be?
    If, as a developer, you require that your host page interacts with the embedded Sisense elements via code, then you must use Embed SDK or Sisense JS, and not regular IFrames.
    For example, these interactions can be: setting or removing dashboard filters, manipulating widget metadata, triggering actions inside sisense (such as PDF exports or navigation, and many other examples), subscribing and reacting to events, etc. There are many and varied interactions/functions that are supported in each embedding method. See the documentation that lists each library’s capabilities, and read through and discover what is available in each before making a decision.
    If you only need to display a dashboard, an IFrame is sufficient. However, IFrame does not allow the host page and the Sisense app to communicate with each other.

  • Do you want to pass parameters from the hosting application to Sisense widgets?
    For this issue, you should consider cases such as "We need different filters to appear on the same dashboard based on the context, and not just which user is accessing them."

  • Resizing
    Resizing an embedded element, whether a dashboard or a widget, can be done via all embedding methods. So for deciding which method to use, evaluate the other criteria.

  • Exporting
    If you want to export dashboards to PDF, or export widgets to image/csv, and so on, this is only fully supported in Embed SDK. With Sisense JS, it is possible to export an individual widget to csv or Excel (for pivots) but not through Sisense JS itself; you would have to use a REST API call, which is not so straightforward.
    In regular IFrames, you cannot export dash to pdf because they lack the interactivity mentioned above. In Sisense JS, you cannot export a dash to PDF because there is no dashboard to export - Sisense JS embeds individual widgets into whatever layout the developer has built, and there is no way for Sisense to “know” what that looks like.
    You can read more about this here.


Was this article helpful?