Embedding
Embed in Pyramid allows BI developers to embed content (visuals, reports, and dashboards from Discover or Present), the hub or analytic search into any website.
Embedding is only available to customers who have purchased an 'Embed' licensing option.
Embed Types
Embedded Content
Embedded content (Discover reports or Present dashboards) keep their core functionality in embedded mode. This includes:
- Context menu driven interactions like drilling, dicing, quick filtering / sorting, pivoting, and so on.
- Support for report or dashboard actions (including slice actions) - generated from Pyramid or from an external engine (like Microsoft Multidimensional actions and drill-through).
- Slicing and slicer functions, pre query pop up functions.
- Jump and interactive button support.
- General navigation.
- Smart Insights and the Chat Bot.
- Access to the menu panel and hidden slicers (Present only).
- Full screen button to view the embedded content in full screen mode.
- Reset button to reset the embedded content.
Certain capabilities are not available or are presented in a reduced function:
- Printing is limited to default exports through PDF and Excel only for presentations and PDF, PNG, Excel, or CSVs for visuals.
- There is no support for Conversations or Workflows.
- The Analyze Further capability is not available.
- Bookmarks are only available for embedded content where users log on with Pyramid user details.
Note: If the embedded content contains data that the user does not have access to view, an Access Denied message is shown in the place of that content item.
Embedded Hub
The Embed Hub presents a personalized, customizable collage of existing content for users. Embed Hub templates describe what should be included by default for users using embedding. Embed Hubs can contain standalone Discover visuals, Present dashboards, and URL links. The Embed Hub is defined in the admin, but each user can edit their own view of it.
The Embed Hub is only operational with "Named Embedding" and users from Basic to Pro can access it.
Embedded Search
Embedded search provides a flexible set of UI components to provide a natural language search-based mechanism for users to ask questions and generate results using LLMs and GenAI from a host application. Embedded search offers the following flexibility:
- Developers can separate the search bar from the results pane on the hosting page.
- Developers can control how the two elements look and feel, even hiding the items that are not relevant.
- The built-in Chatbot can be hidden, to simplify the experience, while resulting content can be very specifically styled.
- Resulting content can optionally be saved back to the Pyramid repository.
Embedded search is also possible directly from the Embedded Hub - for a more integrated experience between the two components.
Embedding Mechanics
Pyramid allows developers to incorporate Pyramid into a third-party application using a few techniques. The first involves hosting the client application in an iframe. The second and more powerful technique is to use Pyramid's Embed APIs to INJECT the content into the hosting page.
Injectable Code vs Iframe
Unlike alternative embedding solutions, the Pyramid Embed APIs safely and securely INJECT code into the host page. This means the application is running IN the page versus running via an Iframe ON the page. The benefit of this approach is that the embedded solution is far more efficient and scalable as a technique:
- it uses less memory and is notably faster
- multiple embedded instances can coexist on the same hosting page with less performance impact
- it tightly fits the single-page app architectures and design methodologies
- securing content is significantly simpler compared to an iframe model - eliminating many security hacks and exclusions needed to be both secure and compliant with cross-site-scripting ('XSS') issues.
- it offers greater control and customization of the user experience and content
Embed APIs
- Embed API: You can embed content using a clean object model with methods and properties in one of the Embed API libraries. This approach also comes with React and Angular components that can be deployed using NPM instead of a standard JavaScript library.
- Raw API: You can also use the older core "embed.js" file to embed content using a combination of the functions in this file and the REST API framework. This approach is only supported in Raw JavaScript.
Note: The Embed API is NEWER and is recommended for all development.
Embed Examples and Demos
Pyramid has published some example embed projects on GitHub.
- Click here to see an example of embedding using JavaScript (plain and React).
- For more information and examples of embedding code snippets, see Embed Code Examples.
Developers can also use the embed code generator tools inside the Pro client to see how to build the syntax and use the APIs for JavaScript, React, and Angular.
Embedding Flow
Embedding in general has two distinct phases:
- Authentication: Requires the session to authenticate to Pyramid to ensure only authorized access to Pyramid content is allowed.
- Once authenticated, the embedded client exposes three techniques for embedding:
- Content: Involves retrieving the relevant content from Pyramid for display in the hosting application.
- Hub: Involves embedding a hub allowing end users to view predefined content collages, as well as edit and manage their own.
- Search: Involves letting users ask analytical questions in plain language to generate visualizations and perform subsequent analyses
The exact process needed depends on the host technology - and there are any number of methods that will work.
- For more information and examples of how these two steps may be enacted, see Embed Flow.
Troubleshooting Embeds
There are times when embedded content does not materialize as expected or has erratic behavior. This is mostly due to the effect of other elements on the host page clashing with Pyramid. See the troubleshooting guide for more information.