diff --git a/_docs/v0.63/README.md b/_docs/v0.63/README.md index 12cb64570b..7841f5d3fb 100644 --- a/_docs/v0.63/README.md +++ b/_docs/v0.63/README.md @@ -190,6 +190,7 @@ Metabase's reference documentation. - [Managing people and groups](./people-and-groups/managing) - [Password complexity](./people-and-groups/changing-password-complexity) - [Session expiration](./people-and-groups/changing-session-expiration) +- [Two-factor authentication](./people-and-groups/two-factor-authentication) - [Google Sign-In](./people-and-groups/google-sign-in) - [LDAP](./people-and-groups/ldap) - [API keys](./people-and-groups/api-keys) diff --git a/_docs/v0.63/api.json b/_docs/v0.63/api.json index 0359a4563a..6ef540efd5 100644 --- a/_docs/v0.63/api.json +++ b/_docs/v0.63/api.json @@ -4906,7 +4906,13 @@ } }, "required" : [ "channel_type", "details" ] - }, { } ] + }, { + "type" : "object", + "properties" : { + "channel_type" : { } + }, + "required" : [ "channel_type" ] + } ] }, "metabase.channel.models.channel.ChannelTemplateEmailDetails" : { "oneOf" : [ { @@ -4975,7 +4981,13 @@ } }, "required" : [ "channel_type", "details" ] - }, { } ] + }, { + "type" : "object", + "properties" : { + "channel_type" : { } + }, + "required" : [ "channel_type" ] + } ] }, "metabase.collections-rest.api.DashboardQuestionCandidate" : { "type" : "object", @@ -43390,7 +43402,7 @@ "get" : { "operationId" : "get-api-search", "summary" : "GET /api/search", - "description" : "Search for items in Metabase.\n For the list of supported models, check [[metabase.search.config/all-models]].\n\n `context` identifies the surface issuing the search; it selects the ranking weights and filter defaults.\n It defaults to `api`, the value for programmatic callers.\n\n Filters:\n - `archived`: set to true to search archived items only, default is false\n - `table_db_id`: search for tables, cards, and models of a certain DB\n - `models`: only search for items of specific models. If not provided, search for all models\n - `filter_items_in_personal_collection`: only search for items in personal collections\n - `created_at`: search for items created at a specific timestamp\n - `created_by`: search for items created by a specific user\n - `last_edited_at`: search for items last edited at a specific timestamp\n - `last_edited_by`: search for items last edited by a specific user\n - `search_native_query`: set to true to search the content of native queries\n - `vector_search_strategy`: for the semantic engine: `hnsw` (approximate index search, default),\n `brute-force` (exact filter-first search), or `hnsw-iterative-relaxed` / `hnsw-iterative-strict`\n (index-backed iterative scans with inline filters); ignored by other engines\n - `vector_search_ef_search`: override pgvector's `hnsw.ef_search` (1-1000) for the iterative strategies; (admin only)\n - `vector_search_max_scan_tuples`: override pgvector's `hnsw.max_scan_tuples` for the iterative strategies; (admin only)\n - `vector_search_explain`: set to true to record vector-scan instrumentation for this search (expensive); (admin only)\n - `verified`: set to true to search for verified items only (requires Content Management or Official Collections premium feature)\n - `ids`: search for items with those ids, works iff single value passed to `models`\n - `display_type`: search for cards/models with specific display types\n - `non_temporal_dim_ids`: search for cards/metrics/datasets with this exact set of non temporal dimension field IDs (requires appdb engine)\n - `has_temporal_dim`: set to true for cards/metrics/datasets with 1 or more temporal dimensions (requires appdb engine)\n\n Note that not all item types support all filters, and the results will include only models that support the provided\n filters. For example:\n\n - The `created-by` filter supports dashboards, models, actions, and cards.\n - The `verified` filter supports models and cards.\n\n A search query that has both filters applied will only return models and cards.", + "description" : "Search for items in Metabase.\n For the list of supported models, check [[metabase.search.config/all-models]].\n\n `context` identifies the surface issuing the search; it selects the ranking weights and filter defaults.\n It defaults to `api`, the value for programmatic callers.\n\n Filters:\n - `archived`: set to true to search archived items only, default is false\n - `table_db_id`: search for tables, cards, and models of a certain DB\n - `models`: only search for items of specific models. If not provided, search for all models\n - `filter_items_in_personal_collection`: only search for items in personal collections\n - `created_at`: search for items created at a specific timestamp\n - `created_by`: search for items created by a specific user\n - `last_edited_at`: search for items last edited at a specific timestamp\n - `last_edited_by`: search for items last edited by a specific user\n - `search_native_query`: set to true to search the content of native queries\n - `vector_search_strategy`: for the semantic engine: `hnsw` (approximate index search, default),\n `brute-force` (exact filter-first search), or `hnsw-iterative-relaxed` / `hnsw-iterative-strict`\n (index-backed iterative scans with inline filters); ignored by other engines\n - `vector_search_ef_search`: override pgvector's `hnsw.ef_search` (1-1000) for the iterative strategies; (admin only)\n - `vector_search_max_scan_tuples`: override pgvector's `hnsw.max_scan_tuples` for the iterative strategies; (admin only)\n - `vector_search_explain`: set to true to record vector-scan instrumentation for this search (expensive); (admin only)\n - `verified`: set to true to search for verified items only (requires Content Management or Official Collections premium feature)\n - `ids`: search for items with those ids, works iff single value passed to `models`\n - `display_type`: search for cards/models with specific display types\n\n Note that not all item types support all filters, and the results will include only models that support the provided\n filters. For example:\n\n - The `created-by` filter supports dashboards, models, actions, and cards.\n - The `verified` filter supports models and cards.\n\n A search query that has both filters applied will only return models and cards.", "parameters" : [ { "in" : "query", "name" : "q", @@ -43692,29 +43704,6 @@ "type" : "null" } ] } - }, { - "in" : "query", - "name" : "non_temporal_dim_ids", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "has_temporal_dim", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } } ], "responses" : { "2XX" : { @@ -44036,29 +44025,6 @@ "type" : "null" } ] } - }, { - "in" : "query", - "name" : "non_temporal_dim_ids", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "string", - "minLength" : 1 - }, { - "type" : "null" - } ] - } - }, { - "in" : "query", - "name" : "has_temporal_dim", - "required" : false, - "schema" : { - "oneOf" : [ { - "type" : "boolean" - }, { - "type" : "null" - } ] - } }, { "in" : "query", "name" : "expected_result_type", diff --git a/_docs/v0.63/developers-guide/custom-visualizations.md b/_docs/v0.63/developers-guide/custom-visualizations.md index 996788cd0a..3b5e3eaede 100644 --- a/_docs/v0.63/developers-guide/custom-visualizations.md +++ b/_docs/v0.63/developers-guide/custom-visualizations.md @@ -275,7 +275,7 @@ settings: { | `group` | Sub-heading within a section for grouping related settings. | | `index` | Display order within a group. | | `inline` | When `true`, renders the widget on the same line as `title` (handy for `"toggle"`). | -| `widget` | A [built-in widget](#built-in-widgets) name, or a [custom React component](#custom-widgets). | +| `widget` | A [built-in widget](#built-in-widgets) name, or a [custom React component](#custom-widgets). | | `getDefault(series, settings)` | Computes the default value when none is stored. | | `getValue(series, settings)` | Always-computed value — overrides the stored value on every render. | | `getProps(series, settings)` | Returns widget-specific props. | @@ -424,13 +424,15 @@ Metabase runs plugin code in an isolated sandbox, so a visualization works only - **Navigation and the rest of the app**: history changes, the host page's URL and referrer, and any DOM outside the plugin's own container. - **Unsafe DOM and timing APIs**: `document.write`, `execCommand`, constructable stylesheets, raw HTML parsers (`DOMParser`, `setHTMLUnsafe`, `XSLTProcessor`), and resource-timing APIs that expose other requests the page has made. -### Custom visualizations don't render in embeds or public links +### When embedding, custom visualizations are only available in the SDK -[Embeds](../embedding/introduction) and [public links](../embedding/public-links) (to questions, dashboards, and documents) don't render custom visualizations. Any card that uses one falls back to the default visualization (a table). +The [Modular embedding SDK](../embedding/sdk/introduction) renders custom visualizations when you allowlist them with the [`allowedCustomVisualizations` prop](../embedding/sdk/config#custom-visualizations) on `MetabaseProvider`. + +Other embedding types don't render custom visualizations. In [modular embedding](../embedding/modular-embedding) with web components and [public links](../embedding/public-links), any card that uses a custom visualization falls back to the default visualization for the query's results. ### Custom visualizations don't render in exports and subscriptions -Static renders—like charts in alerts or dashboard subscriptions—fall back to a table for any card that uses a custom visualization. +Static renders—like charts in alerts or dashboard subscriptions—fall back to a default visualization for the card's data shape. ## Example plugins diff --git a/_docs/v0.63/embedding/introduction.md b/_docs/v0.63/embedding/introduction.md index aa0248b973..a140dd785e 100644 --- a/_docs/v0.63/embedding/introduction.md +++ b/_docs/v0.63/embedding/introduction.md @@ -67,23 +67,24 @@ If you'd like to share your data with the good people of the internet, admins ca ## Comparison of embedding types -| Action | [Modular SDK](./sdk/introduction) | [Modular SSO](./modular-embedding) | [Modular Guest](./guest-embedding) | [Full app](./full-app-embedding) | [Public](../embedding/public-links) | -| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------------------------- | ------------------------------------- | ----------------------------------- | -------------------------------------- | -| Charts and dashboards | ✅ | ✅ | ✅ | ✅ | ✅ | -| [Filter widgets](/glossary/filter-widget) | ✅ | ✅ | ✅ | ✅ | ✅ | -| Export results\* | ✅ | ✅ | ✅ | ✅ | ✅ | -| [Locked filters](./static-embedding-parameters#restricting-data-in-a-static-embed-with-locked-parameters) | ❌ | ❌ | ✅ | ❌ | ❌ | -| [Data segregation](../permissions/embedding) | ✅ | ✅ | ❌ | ✅ | ❌ | -| [Drill-through menu](../questions/visualizations/drill-through) | ✅ | ✅ | ❌ | ✅ | ❌ | -| [Query builder](../questions/query-builder/editor) | ✅ | ✅ | ❌ | ✅ | ❌ | -| [Basic appearance customization](../configuring-metabase/appearance)\*\* | ✅ | ✅ | ✅ | ✅ | ✅ | -| [Advanced theming](./appearance) | ✅ | ✅ | ❌ | ❌ | ❌ | -| [Usage analytics](../usage-and-performance-tools/usage-analytics) | ✅ | ✅ | ❌ | ✅ | ❌ | -| Embed individual Metabase components | ✅ | ✅ | ❌ | ❌ | ❌ | -| Manage access and interactivity per component | ✅ | ✅ | ❌ | ❌ | ❌ | -| Custom layouts | ✅ | ❌ | ❌ | ❌ | ❌ | -| Customize behavior with [plugins](./sdk/plugins) | ✅ | ❌ | ❌ | ❌ | ❌ | -| AI chat | ✅ | ✅ | ❌ | ✅ | ❌ | +| Action | [Modular SDK](./sdk/introduction) | [Modular SSO](./modular-embedding) | [Modular Guest](./guest-embedding) | [Full app](./full-app-embedding) | [Public](../embedding/public-links) | +| ------------------------------------------------------------------------------------------------------------ | ------------------------------------ | ------------------------------------- | ------------------------------------- | ----------------------------------- | -------------------------------------- | +| Charts and dashboards | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Filter widgets](/glossary/filter-widget) | ✅ | ✅ | ✅ | ✅ | ✅ | +| Export results\* | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Locked filters](./static-embedding-parameters#restricting-data-in-a-static-embed-with-locked-parameters) | ❌ | ❌ | ✅ | ❌ | ❌ | +| [Data segregation](../permissions/embedding) | ✅ | ✅ | ❌ | ✅ | ❌ | +| [Drill-through menu](../questions/visualizations/drill-through) | ✅ | ✅ | ❌ | ✅ | ❌ | +| [Query builder](../questions/query-builder/editor) | ✅ | ✅ | ❌ | ✅ | ❌ | +| [Basic appearance customization](../configuring-metabase/appearance)\*\* | ✅ | ✅ | ✅ | ✅ | ✅ | +| [Advanced theming](./appearance) | ✅ | ✅ | ❌ | ❌ | ❌ | +| [Usage analytics](../usage-and-performance-tools/usage-analytics) | ✅ | ✅ | ❌ | ✅ | ❌ | +| Embed individual Metabase components | ✅ | ✅ | ❌ | ❌ | ❌ | +| Manage access and interactivity per component | ✅ | ✅ | ❌ | ❌ | ❌ | +| Custom layouts | ✅ | ❌ | ❌ | ❌ | ❌ | +| Customize behavior with [plugins](./sdk/plugins) | ✅ | ❌ | ❌ | ❌ | ❌ | +| [Custom visualizations](../questions/visualizations/custom) | ✅ | ❌ | ❌ | ❌ | ❌ | +| AI chat | ✅ | ✅ | ❌ | ✅ | ❌ | \* Each embedding type allows data downloads by default, but only [Pro and Enterprise](/pricing/) plans can disable data downloads. @@ -110,7 +111,7 @@ For information about the anonymous usage data Metabase collects from embedded c ## Embedding limitations - Currently, you can't embed [documents](../documents/introduction) (though you can create [public documents](./public-links)). -- Embeds don't render [custom visualizations](../questions/visualizations/custom): any card that uses one falls back to the default visualization (a table). +- Only the [Modular embedding SDK](./sdk/introduction) renders [custom visualizations](../questions/visualizations/custom), and only ones you allowlist with the [`allowedCustomVisualizations` prop](./sdk/config#custom-visualizations). In other embedding types, any card that uses a custom visualization falls back to the default visualization for the query's results. ## Further reading diff --git a/_docs/v0.63/embedding/sdk/api/CollectionBrowser.html b/_docs/v0.63/embedding/sdk/api/CollectionBrowser.html index 2fbf361f85..3fdb4c2df3 100644 --- a/_docs/v0.63/embedding/sdk/api/CollectionBrowser.html +++ b/_docs/v0.63/embedding/sdk/api/CollectionBrowser.html @@ -17,6 +17,7 @@
OptionalEmptyContentComponent?: ComponentType | nullOptionalonClick?: (item: MetabaseCollectionItem) => voidA function to call when an item is clicked.
OptionalpageSize?: numberThe number of items to display per page. The default is 25.
+OptionalshowDashboardQuestions?: booleanWhether to show questions that belong to a dashboard alongside collection saved questions. Set to false to hide them and keep the list focused on collection content, matching the core Metabase app. Defaults to true.
Optionalstyle?: CSSPropertiesA custom style object to be added to the root element.
OptionalvisibleColumns?: CollectionBrowserListColumns[]The columns to display in the collection items table. If not provided, all columns will be shown.
OptionalvisibleEntityTypes?: ("collection" | "dashboard" | "question" | "model")[]The types of entities that should be visible. If not provided, all entities will be shown.
diff --git a/_docs/v0.63/embedding/sdk/api/CollectionBrowserProps.html b/_docs/v0.63/embedding/sdk/api/CollectionBrowserProps.html index 7aa62fe2be..7812756bd4 100644 --- a/_docs/v0.63/embedding/sdk/api/CollectionBrowserProps.html +++ b/_docs/v0.63/embedding/sdk/api/CollectionBrowserProps.html @@ -11,11 +11,12 @@ - /docs/v0.63/embedding/api/CollectionBrowserProps --- -OptionalEmptyA component to display when there are no items in the collection.
OptionalonA function to call when an item is clicked.
OptionalpageThe number of items to display per page. The default is 25.
+OptionalshowWhether to show questions that belong to a dashboard alongside collection saved questions. Set to false to hide them and keep the list focused on collection content, matching the core Metabase app. Defaults to true.
OptionalstyleA custom style object to be added to the root element.
OptionalvisibleThe columns to display in the collection items table. If not provided, all columns will be shown.
OptionalvisibleThe types of entities that should be visible. If not provided, all entities will be shown.
-
A component to display when there are no items in the collection.