Hey there, We’re interested in developing custom ...
# gooddata-cloud
a
Hey there, We’re interested in developing custom visualizations to address our analytical needs on GoodData Cloud, for example: https://blog.ag-grid.com/introducing-ag-grid-sparklines/ We’ve experimented with Dashboard Plugins (referencing this documentation: https://sdk.gooddata.com/gooddata-ui/docs/dashboard_plugins.html#current-limitations ), but the link appears outdated, and the “latest version” link doesn’t point to updated information. Using plugins, we were able to customize the rendering of some visuals, but we still have a few questions: 1. Is there a way to create entirely new visualization types that would appear directly in the GoodData Cloud drag-and-drop menu? Or are we limited to using plugins that modify the rendering of existing visualizations? 2. What are the current limitations around developing custom visualizations? 3. What is the most up-to-date resource or documentation available on this topic? Thank you!
k
1. You cannot currently add a brand‑new visualization type into the Analytical Designer / dashboard “Insert visualization” palette. - Dashboard plugins let you: - Register custom widget types and React components, and add those widgets into dashboard layouts (so they appear as “custom widgets,” not as native viz types). [[What is a plugin](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/#capabilities); [Use custom widgets](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Override or decorate how existing visualization widgets are rendered (for example, rendering a tagged insight with your own React component). [[Customization API](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Multiple Slack replies explicitly confirm that it is not possible to create and add a new viz type that shows up as another option in Analytical Designer’s visualization list via plugins or any other method. [[Slack thread 1](https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1730988764529939); [Slack thread 2](https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1749050644779469)] 2. Current limitations around custom visualizations / plugins, based on the docs and Slack threads: - No extension of AD visualization catalog - You cannot register a new chart type that appears alongside native chart types in Analytical Designer or the dashboard visualization palette. [[Slack thread 1](https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1730988764529939); [Slack thread 2](https://gooddataconnect.slack.com/archives/C01UR5BGAHY/p1749050644779469)] - Dashboard plugins scope - Plugins can: - Add/remove event handlers and override React components for existing visualization widgets. [[What is a plugin](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/#capabilities); [Customization API](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Register custom widget types and inject them into dashboard layouts (e.g., for labels, images, special widgets). [[Use custom widgets](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Layout customization via plugins happens once on initialization (no built‑in continuous layout re‑writes after render, except for alpha‑level APIs, which are noted as such in the docs). [[Use custom widgets](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Custom visualizations via GoodData.UI - You can build entirely custom React visualizations, but they live in your own app / custom dashboard (or as custom renderers via plugins), not as first‑class AD viz types. [[Visualize data](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/); [Custom visualizations](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/#custom-visualizations); [Create custom visualizations](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] - Data for these custom visuals is obtained using hooks/components like
useExecutionDataView
,
useInsightDataView
,
Execute
,
ExecuteInsight
, etc. [[Create custom visualizations](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] - GoodData Cloud dashboards vs. fully custom dashboards - If none of the embedding/plugin options are sufficient, you can build fully custom dashboards using GoodData.UI components/hooks and your own layout and styling. This is the most flexible but also the most work. [[Custom dashboards](https://www.gooddata.com/docs/gooddata-ui/latest/learn/embed_dashboards/#custom-dashboards)] 3. Most up‑to‑date resources for custom visualizations & plugins: - Dashboard plugins (current docs): - Overview & capabilities: [[Dashboard plugins overview](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/)] - Customization API (including
insightWidgets()
and decorators): [[Customization API](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#customization-api)] - Custom widgets (registering widget types & adding them to dashboard layout): [[Use custom widgets](https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins_api/#use-custom-widgets)] - Plugin examples and premade plugins list: [[Cloud plugins gallery](https://www.gooddata.com/docs/cloud/create-dashboards/plugins/)] - Custom visualizations via GoodData.UI: - High‑level comparison of visualization approaches: [[Visualize data](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/)] - When & how to build custom visualizations and how to get data for them: [[Custom visualizations](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/#custom-visualizations); [Create custom visualizations](https://www.gooddata.com/docs/gooddata-ui/latest/learn/visualize_data/create_custom_visualizations/)] - Fully custom dashboards: - Building your own dashboards (maximum flexibility, including custom visuals like sparklines): [[Custom dashboards](https://www.gooddata.com/docs/gooddata-ui/latest/learn/embed_dashboards/#custom-dashboards)] If you describe whether you prefer to stay in native Cloud dashboards or can host a separate React app, I can outline which of these options (plugin custom widget vs. custom dashboard visualization) best fits something like AG‑Grid sparklines.
a
How about Dashboard structure / UI elements?
y
Hi Adham, For dashboard structure and UI, you can try: Dashboard plugins on standard dashboards • You can use the customization API to register custom widget types and React components, placing those custom widgets into the dashboard layout, you can find more information here: Dashboard Plugin API , Use Custom Dashboard Plugins • Build your custom dashboard UI with GoodData.UI: ▪︎ define any layout and structure you like, ▪︎ mix stock GoodData charts, your custom charts, and app‑specific components, ◦ control interactions between visuals and the host app. *Custom dashboards*; Advanced embedded analytics Let me know if this helps.