Sizing Embedding Sisense
  • 14 Jun 2022
  • 3 Minutes to read
  • Dark

Sizing Embedding Sisense

  • Dark

When considering the sizing of embedding Sisense, you must consider the complexity of the capabilities you require.
Ask yourself: What capabilities do you want to have in the system and what do you already have today?
If you have a very customized solution with many unique capabilities, you should probably build up the solution throughout, before publishing Sisense. If there are just roadmap points, you can add capabilties as you go, making the system work from a basic start to a more advanced and complex solution in the future.

The following capabilities are listed from simplest to most complex:

  • Inserting Sisense widgets into an existing application, with minimal interaction, minimal passing information to Sisense, and no filters.

    • IFrame / Embed SDK - This is easy IFrame embedding, and does not take a lot of time. This is assuming that the Sisense instance has all of the required settings ready for embedding (permissions, cookies, etc.).
    • Sisense JS - This requires basic html and javascript knowledge. In its basic form it is very easy and fast to embed, but this solution may require a web developer to implement. An IFrame may be implemented by non-technical people, assuming they have a web editing environment with IFrame options.
  • Custom filters. Depending on the complexity of the filtering solution, this may be very fast or require more work.

    • IFrame / Embed SDK - The dashboards themselves come with the filter bar. There are ways of pushing a filter upon startup, for example, with the URL. Embed SDK uses another approach for pushing filters to the dashboard, which can be used within the code.
    • Sisense JS - This enables embedding of the native Sisense filter bar. This is an easy solution, and may not require much time to provide. The option to customize, create, and maintain a client's own filter bar is also an option, but this requires more work and coding knowledge, and may take time to develop. However, this can be dynamic and reused across the client’s platform when created. Sisense JS also provides the best ability to maintain filters by the hosting app.
  • Passing information in both directions. Event handling is a more advanced solution. The hosting app may register different events within Sisense and use them. The client may also be able to provide a solution within the Sisense app using dash scripts/plugins,

    • Embed SDK - This has a limited availability of events to listen to, but enables the client to enhance some capabilities and use them with the hosting app. This solution requires development and may increase in complexity the more requirements there are.

    • Sisense JS - Practically all of the events are available, allowing the client full access and control of the situation. This requires coding knowledge and becomes more complex as requirements grow and customization deepens.

  • Exporting widgets and dashboards. Image export is available on the dashboard / Rest APIs. Depending on the requirements, it may be beneficial to use either one. In some cases it may be better to create a simple screen snapshot and provide that as an image. Exporting data requirements may be as simple as just the data shown or as complex as the data shown but broken down or enhanced/formatted in some way. If the client requires something other than the native export that is available with IFrame / Embed SDK, Sisense JS can be used in order to collect the necessary data and provide a different solution. However, this requires knowledge of the dashboard, widget, and Rest. This also may be built in a dynamic way and reused across the platform. This does require coding time.

  • Custom flows, such as a widget library or data modeling capabilities. For custom flows for dashboard editing and data model creation/editing, IFrame / Embed SDK is the recommended solution. Clients can use the Rest API to build something that interacts with both, but this requires substantial development time and should be used only if absolutely necessary.

Was this article helpful?