We are attempting to embed Metabase into our application, and before delving into real production implementation, we have some questions regarding interactive embedding, including user creation using SSO.
- We want to create a 'based' dashboard, let’s say for finance analytics, which includes a set of allowed questions (widgets) related to this topic.
When the user signs in to our application, we embed the finance interactive dashboard in our app.
Can we somehow let the user modify their widgets?
This includes removing non-relevant ones and adding other questions from the closed predefined list (without the option to ask a new question).
The only thing I could think of is to programmatically duplicate the dashboard when a user is created so that every user has their own dashboard.
If so, can it be done in the dashboard iframe, or should we redirect the user to the Metabase app?
Can we define the appearance (color palette, font) per group/user, or is it something that can only be defined globally?
Does the serialization feature work only for on-premise instances? Are there any other alternatives for cloud deployment if we want to add a staging environment and export entities to load them into the production environment?
@AlonAlmog Metabase offers 2 types of embedding - static embedding and interactive embedding.
With static embedding, it'll offer a view-only experience of the dashboard with access to sort and filter. On the flip side, interactive embedding allows drill-through and self-service capabilities (although it sounds like self service might not be what you're after).
On your question about whitelabeling, you can only apply that instance wide/globally. We have an open issue that tracks this: Whitelabelling per user/domain · Issue #18222 · metabase/metabase · GitHub
And Serialization is only available for self-hosted instances today. See Serialization: allow load/dump from a single file / GUI-based serialization · Issue #15286 · metabase/metabase · GitHub
We considered the option of duplicating the entire dashboard (with the
deep_copy option enabled) using the Metabase API: Dashboard Copy API.
However, allowing each user to have their own duplicated dashboard feels a bit patchy. Here are a couple of questions:
- Does Metabase support permissions for creating new questions, dashboards, etc.?
- Can a user, within the dashboard iframe, edit the dashboard content?
Yep, I'd recommend checking out these two docs:
Data permissions will allow you to restrict the data the user groups can create queries from and the collection permissions will allow you to restrict which artifacts the user groups will have access to (questions, models, and dashboards)
If you'd like the user to edit the dashboard content or do things like drill-throughs (or drill-downs), you need interactive embedding.
You can check out a demo of both static embedding and interactive embedding here: Metabase | See what’s possible with embedded analytics