Hi team, couple questions related to embedding a G...
# gooddata-cloud
a
Hi team, couple questions related to embedding a GoodData Cloud dashboard via an iFrame: • Does the
hideTopBar
setting default to
false
? • Is it possible to only show a subset of top bar elements, e.g. only show Dashboards, Analyze, and Metrics (hide Data, Catalog)
k
Hi! Here are answers to both of your questions: 1. Does
hideTopBar
default to
false
?
The knowledge sources do not mention a
hideTopBar
parameter at all. The correct parameter for hiding the top bar in an iframe is
?hideControl=[topBar]
. Since this is an opt-in URL parameter you must explicitly add to the embed URL, the top bar is shown by default (i.e., you must actively pass
hideControl=[topBar]
to hide it). [Configuration Options] 2. Is it possible to show only a subset of top bar elements (e.g. only Dashboards, Analyze, Metrics — hiding Data, Catalog)? The knowledge sources do not support this. The
hideControl
parameter for the top bar works as an all-or-nothing toggle — you can either show the entire top bar or hide it completely with
?hideControl=[topBar]
. There is no documented way to selectively hide individual items within the top bar (such as Data or Catalog tabs). [Configuration Options] The supported
hideControl
values are limited to:
filterBar
,
topBar
,
widgetsCatalogue
,
deleteButton
,
saveAsButton
, and
shareButton
— none of which target individual top bar navigation items. If this level of granularity is important to you, it would be worth submitting it as a product feedback/feature request to the GoodData team. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups. 👀 Our Support team monitors all messages and will jump in if needed.
a
Sorry yes I meant does
hideControl
include
topBar
by default?
And what would be the recommended approach to only showing a subset of topbar elements
m
Hi Anant, the
hideControl
has no default value. If you don’t add it to the URL at all, nothing is hidden, including the top bar. So the top bar is shown unless you explicitly pass
?hideControl=[topBar]
to hide it. Unfortunately,
hideControl
only works as an all-or-nothing toggle per element (
filterBar
,
topBar
,
widgetsCatalogue
,
deleteButton
,
saveAsButton
,
shareButton
) - there’s no way to selectively hide individual items within the top bar itself, so a “Dashboards/Analyze/Metrics only” version isn’t achievable through the top bar’s own configuration. The approach we’ve seen work well for other customers with this same need: hide the entire top bar with
?hideControl=[topBar]
, then build your own custom navigation in your host application with just the links you want to expose (Dashboards, Analyze, Metrics), while simply not including links to Data or Catalog. This gives you full control over exactly which sections are reachable. If per-item control within GoodData’s native top bar would still be valuable to you, we can submit this as product feedback on your behalf
a
Hi @Michael Ullock thanks for the clarification - we are currently using the below URL format for iFrame embeds, and do not currently see the top bar in the embed
${goodDataHostname}/dashboards/embedded/#/workspace/${workspaceId}?showNavigation=true&apiTokenAuthentication=true&excludeObjectsWithTags=[internal]
Is one of the other params implicitly causing the topBar to be hidden? (to be clear, we want to continue having the top bar hidden, just trying to understand how that's happening)
and if we wanted to build custom nav to show "Analyze" and "Metrics", would we just need to update the URL to use
/analyze
and
/metrics
instead of
/dashboards
?
m
I believe it’s because your URL is missing a dashboard ID (the
/dashboard/...
part). Without it, you’re likely landing on a “pick a dashboard” screen instead of an actual dashboard — and the top bar only shows up once a dashboard is loaded. So it’s probably not hidden on purpose, just not showing up yet. Worth testing on your end to confirm — but if that’s right, once you load a real dashboard, add
?hideControl=[topBar]
to make sure it stays hidden. For Analyze: yes, you can link to it, but the URL format is a bit different - no
workspace/
in the path:
${goodDataHostname}/analyze/embedded/#/${workspaceId}
For Metrics: unfortunately not, only Dashboards and Analyze can be embedded this way. There’s no equivalent link for Metrics.
a
Ok, I'll take a look thanks! On a separate note -- if we wanted to grant end users in our app the ability to create custom metrics, but NOT modify their LDM, is the recommended approach to grant them
MANAGE
on a workspace but not grant them
USE
on their workspace's data source? This seems to be working as expected in my initial tests, but just wanted to confirm if this is officially recommended and stable moving forward
m
In GoodData Cloud, metric-creation and LDM-editing are bundled into the same permission (
MANAGE
) —
USE
on the data source only controls mapping new tables into the LDM, not whether
MANAGE
can edit/delete existing LDM objects. So withholding
USE
doesn’t actually block LDM changes, and our docs flag broad
MANAGE
grants as a risk for this reason. More details can be found here: gooddata.com/docs/…/set-permissions-for-workspace One option: there’s a difference between a metric a user builds inside one specific chart — which only applies to that chart and isn’t saved anywhere else — versus a proper saved metric that shows up in the shared metrics catalog for everyone to reuse. Only the second kind requires touching the LDM. If your users just need the first kind (custom calculations scoped to their own visualizations),
ANALYZE
alone covers that.
a
I don't see the visualization-specific metric option via a user who only has
ANALYZE
permission -- the "create metric" button only shows up when the user has
MANAGE
permission Note that we do not currently have the designer embedded in standalone mode - I'm accessing the designer in "slide out" mode via editing a dashboard -- does this change the behavior? Are there any additional steps required to make the "Create metric" button show up for users with
ANALYZE
?
m
My apologies about that -I just double-checked and the current permission model, metric creation (including one-off calculations scoped to a single visualization) requires `MANAGE`;
ANALYZE
only allows viewing metrics and the LDM, not creating them. This is a workspace-level permission check, so it shouldn’t matter whether you’re in standalone Analytical Designer or the slide-out editor via a dashboard - there’s no additional setting to unlock it for
ANALYZE
users today. So unfortunately there’s currently no way to let a user create metrics without also granting
MANAGE
, which - as discussed - also grants LDM edit rights.
a
Understood, thanks for clarifying. Are there any other patterns that are recommended for this use case, when dashboards and the editor are only exposed to end users via embeds? Trying to understand if there is some reference implementation here that we can try out. Our embed doesn't currently expose the LDM (modeler) page, but not sure if that's sufficient from a security perspective
m
The recommended pattern for embed-only deployments is the
RESTRICT_BASE_UI
organization setting. Per our release notes, under “Custom UI‑Only Experience: Restrict Access to Native UI” (March 19, 2026) — gooddata.com/docs/cloud/whats-new-cloud:
_“You can now restrict access to GoodData’s native UI for embed‑only deployments. Enable the
RESTRICT_BASE_UI
organization setting to block native apps for end users, and grant
BASE_UI_ACCESS
only to selected users or groups. Organization administrators always retain access.”_
And from the Embed Dashboards documentation, under “Access restricted by organization setting” — gooddata.com/docs/…/embed-dashboard-via-iframe:
_“If your organization has enabled the
RESTRICT_BASE_UI
setting and a user does not have the
BASE_UI_ACCESS
permission, native iFrame embedding is blocked. Organization administrators always retain access.”_
So enabling
RESTRICT_BASE_UI
and reserving
BASE_UI_ACCESS
for your own admins forces all end users through your embed only, regardless of what workspace permission they hold. Full setup details here: gooddata.com/docs/…/restrict-access-to-native-ui
a
Thanks! I'll take a look and follow-up with any questions. Appreciate the support!
👍 1