Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30,724 changes: 3 additions & 30,721 deletions _docs/v0.57/api.html

Large diffs are not rendered by default.

30,738 changes: 30,738 additions & 0 deletions _docs/v0.57/api.json

Large diffs are not rendered by default.

8 changes: 5 additions & 3 deletions _docs/v0.57/configuring-metabase/appearance.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,11 @@ Appearance settings are split across different tabs:

People can display their Metabase in dark mode in their [account settings](../people-and-groups/account-settings#theme). Options are:

- System default (which is also the default setting). Metabase will switch between light and dark mode when the system switches without having to reload the page.
- Always use dark mode.
- Always use light mode.
- System default (which is also the default setting). Metabase will switch between light and dark mode when the system switches without having to reload the page.
- Always use dark mode.
- Always use light mode.

You can quickly toggle dark mode from anywhere in Metabase by opening the [command palette](../exploration-and-organization/exploration#command-palette) and searching for "light" or "dark" or "theme".

Dark mode is a user-level setting, not an instance-level setting. Currently, there's no way to change the theme to dark mode for the entire instance, but you can edit some [user interface colors](#user-interface-colors).

Expand Down
8 changes: 8 additions & 0 deletions _docs/v0.57/configuring-metabase/config-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ config:
health-check-logging-enabled: true
help-link: metabase
help-link-custom-destination: https://www.metabase.com/help/premium
hide-stacktraces: false
http-channel-host-strategy: external-only
humanization-strategy: simple
index-update-thread-count: 2
Expand Down Expand Up @@ -222,6 +223,13 @@ config:
query-caching-max-kb: 2000
query-caching-max-ttl: 3024000.0
redirect-all-requests-to-https: false
remote-sync-auto-import: false
remote-sync-auto-import-rate: 5
remote-sync-branch: null
remote-sync-task-time-limit-ms: 300000
remote-sync-token: null
remote-sync-type: production
remote-sync-url: null
report-timezone: null
reset-token-ttl-hours: 48
retry-initial-interval: 500
Expand Down
76 changes: 70 additions & 6 deletions _docs/v0.57/configuring-metabase/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ Allowed iframe hosts.
- Default: `true`
- [Configuration file name](./config-file): `anon-tracking-enabled`

Enable the collection of anonymous usage data to help Metabase improve.
Enable the collection of anonymous usage data in order to help Metabase improve.

### `MB_API_KEY`

Expand Down Expand Up @@ -372,7 +372,7 @@ Whether dashboards should default to a user's last used parameters on load.
- Type: integer
- Default: `10000`

Consider metabase.driver/can-connect? / can-connect-with-details? to have failed if they were unable to
Consider metabase.driver/can-connect? / can-connect-with-details? to have failed if they were not able to
successfully connect after this many milliseconds. By default, this is 10 seconds.

Timeout in milliseconds for connecting to databases, both Metabase application database and data connections.
Expand Down Expand Up @@ -451,7 +451,7 @@ The name you want to use for the sender of emails.
- [Configuration file name](./config-file): `email-max-recipients-per-second`

The maximum number of recipients, summed across emails, that can be sent per second.
Note that the final email sent before reaching the limit can exceed it, if it has multiple recipients.
Note that the final email sent before reaching the limit is able to exceed it, if it has multiple recipients.

### `MB_EMAIL_REPLY_TO`

Expand Down Expand Up @@ -754,6 +754,14 @@ Keyword setting to control whitelabeling of the help link. Valid values are `:me

Custom URL for the help link.

### `MB_HIDE_STACKTRACES`

- Type: boolean
- Default: `false`
- [Configuration file name](./config-file): `hide-stacktraces`

Prevent the exception middleware from including stacktraces in responses.

### `MB_HTTP_CHANNEL_HOST_STRATEGY`

- Type: keyword
Expand Down Expand Up @@ -1244,7 +1252,7 @@ Indicates whether Metabase is running behind a proxy that sets the source-addres
By default "Site Url" is used in notification links, but can be overridden.

The base URL where dashboard notitification links will point to instead of the Metabase base URL.
Only applicable for users who use interactive embedding and subscriptions.
Only applicable for users who utilize interactive embedding and subscriptions.

### `MB_NOTIFICATION_SYSTEM_EVENT_THREAD_POOL_SIZE`

Expand Down Expand Up @@ -1313,6 +1321,62 @@ The absolute maximum time to keep any cached query results, in seconds.

Force all traffic to use HTTPS via a redirect, if the site URL is HTTPS.

### `MB_REMOTE_SYNC_AUTO_IMPORT`

- Type: boolean
- Default: `false`
- [Configuration file name](./config-file): `remote-sync-auto-import`

Whether to automatically import from the remote git repository. Only applies if remote-sync-type is :production.

### `MB_REMOTE_SYNC_AUTO_IMPORT_RATE`

- Type: integer
- Default: `5`
- [Configuration file name](./config-file): `remote-sync-auto-import-rate`

If remote-sync-type is :production and remote-sync-auto-import is true, the rate (in minutes) at which to check for updates to import. Defaults to 5.

### `MB_REMOTE_SYNC_BRANCH`

- Type: string
- Default: `null`
- [Configuration file name](./config-file): `remote-sync-branch`

The remote branch to sync with, e.g. `main`.

### `MB_REMOTE_SYNC_TASK_TIME_LIMIT_MS`

- Type: integer
- Default: `300000`
- [Configuration file name](./config-file): `remote-sync-task-time-limit-ms`

The maximum amount of time a remote sync task will be given to complete.

### `MB_REMOTE_SYNC_TOKEN`

- Type: string
- Default: `null`
- [Configuration file name](./config-file): `remote-sync-token`

An Authorization Bearer token allowing access to the git repo over HTTP.

### `MB_REMOTE_SYNC_TYPE`

- Type: keyword
- Default: `production`
- [Configuration file name](./config-file): `remote-sync-type`

Git synchronization type - :development or :production.

### `MB_REMOTE_SYNC_URL`

- Type: string
- Default: `null`
- [Configuration file name](./config-file): `remote-sync-url`

The location of your git repository, e.g. https://github.com/acme-inco/metabase.git.

### `MB_REPORT_TIMEZONE`

- Type: string
Expand Down Expand Up @@ -1673,7 +1737,7 @@ When enabled, we show users a button to authenticate with Google to import data
- [Exported as](../installation-and-operation/serialization): `show-homepage-data`.
- [Configuration file name](./config-file): `show-homepage-data`

Whether or not to display data on the homepage. Admins might turn this off to direct users to better content than raw data.
Whether or not to display data on the homepage. Admins might turn this off in order to direct users to better content than raw data.

### `MB_SHOW_HOMEPAGE_XRAYS`

Expand Down Expand Up @@ -2135,7 +2199,7 @@ Type: integer<br>
Default: `600000`<br>
Since: v35.0

Timeout of Jetty async threads, defined in milliseconds. The default is 10 minutes. Few things might reach that timeout, since they return some type of data before, but things like CSV downloads might.
Timeout of Jetty async threads, defined in milliseconds. The default is 10 minutes. Very few things might reach that timeout, since they return some type of data before, but things like CSV downloads might.

### `MB_JETTY_DAEMON`

Expand Down
12 changes: 10 additions & 2 deletions _docs/v0.57/data-modeling/model-persistence.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,22 @@ layout: new-docs

# Model persistence

> Currently available for PostgreSQL, MySQL, and Redshift.

Metabase can persist the results of your models so that your models (and the questions based on those models) load faster.

Metabase will store model results in tables in a bespoke schema in your data warehouse (not the Metabase application database). When people ask questions based on your models, Metabase will use the tables with the stored results instead of re-running the model's query.

> Model persistence doesn't work with [row and column security](../permissions/row-and-column-security) or [impersonation](../permissions/impersonation).

## Databases that support model persistence

Currently, model persistence is only available for the following databases:

- PostgreSQL
- MySQL
- Redshift

Model persistence doesn't work with [row and column security](../permissions/row-and-column-security) or [impersonation](../permissions/impersonation).

## Turn on model persistence in Metabase

To persist models for faster loading, you'll need to turn on model persistence for:
Expand Down
4 changes: 4 additions & 0 deletions _docs/v0.57/embedding/sdk/dashboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,10 @@ If you want to replace the existing menu with your own component, you can do so
{% include_file "{{ dirname }}/snippets/dashboards/plugins.tsx" snippet="example-custom-actions-menu" %}
```

### `mapQuestionClickActions`

You can customize what happens when people click on a data point on a dashboard with the `mapQuestionClickActions` plugin. See [mapQuestionClickActions](./questions#mapquestionclickactions).

## Creating dashboards

Creating a dashboard could be done with `useCreateDashboardApi` hook or `CreateDashboardModal` component.
Expand Down
37 changes: 37 additions & 0 deletions _docs/v0.57/embedding/sdk/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,43 @@ To use a plugin on a per-component basis, pass the plugin as a prop to the compo
{% include_file "{{ dirname }}/snippets/plugins/component-plugins.tsx" snippet="example" %}
```

## `handleLink`

To customize what happens when people click a link in your embedded questions and dashboards, use the global plugin `handleLink`:

```typescript
export default function App() {
const navigate = useNavigate(); // coming from whatever routing lib you're using

const plugins = {
handleLink: (urlString: string) => {
const url = new URL(urlString, window.location.origin);
const isInternal = url.origin === window.location.origin;
if (isInternal) {
// client side navigation
navigate(url.pathname + url.search + url.hash);

return { handled: true }; // prevent default navigation
}
return { handled: false }; // let the sdk do the default behavior
},
};

return (
<MetabaseProvider authConfig={authConfig} pluginsConfig={plugins}>
<nav style={{ display: "flex", gap: 12, padding: 12 }}>
<Link to="/">Home</Link>
<Link to="/question">Question</Link>
<Link to="/about">About</Link>
</nav>
<div style={{ padding: 12 }}>
<Outlet />
</div>
</MetabaseProvider>
);
}
```

## Further reading

- [Interactive question plugins](./questions#interactive-question-plugins)
Expand Down
23 changes: 21 additions & 2 deletions _docs/v0.57/embedding/sdk/questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,8 +131,27 @@ You can use [plugins](./plugins) to add custom functionality to your questions.

### `mapQuestionClickActions`

This plugin allows you to add custom actions to the click-through menu of an interactive question. You can add and
customize the appearance and behavior of the custom actions.
When people click on a data point in the embedded interactive chart, Metabase shows them a menu of actions by default. The plugin `mapQuestionClickActions` allows you to customize this behavior. You can choose to:

- Open the default Metabase menu.
- Add custom actions to that click-through menu.
- Perform immediate action without opening a menu.

Use `mapQuestionClickActions` globally at the provider level, or on individual `InteractiveQuestion` or `InteractiveDashboard` components. For more on provider scope, see [Plugins](./plugins)

The example below shows all the options for click action behavior. This example will:

- Open a menu with custom actions when "Last Name" column is clicked.
- Perform an immediate action (show an alert) when the "Plan" column is clicked.
- Shows the default menu (available as `clickActions`) in all other cases.

The behavior is determined by what `mapQuestionClickActions` returns: array of actions to open a menu, or a single action to trigger an immediate action.

```typescript
{% include_file "{{ dirname }}/snippets/questions/interactive-question-click-actions.tsx" snippet="example" %}
```

You can also customize the appearance of custom actions in the click menu. The example below shows an example of a click menu with default actions, a custom action, and a custom action with customized appearance:

```typescript
{% include_file "{{ dirname }}/snippets/questions/interactive-question-plugins.tsx" snippet="example" %}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import {
defineMetabaseAuthConfig,
InteractiveQuestion,
MetabaseProvider,
} from "@metabase/embedding-sdk-react";

const authConfig = defineMetabaseAuthConfig({
metabaseInstanceUrl: "http://localhost:3000",
});

const Example = () => {
return (
// [<snippet example>]
<MetabaseProvider
authConfig={authConfig}
pluginsConfig={{
mapQuestionClickActions: (clickActions, clicked) => {
if (clicked?.column?.display_name === "Last Name") {
// This adds a custom action to the menu when clicked on on "Last Name" column
return [
...clickActions,
{
buttonType: "horizontal",
name: "custom",
title: "This is the Last Name column",
onClick: () => alert("You clicked the Last Name column!"),
},
];
}

if (clicked?.column?.display_name === "Plan") {
// This performs an immediate action on "Plan" column instead of opening the menu
return {
onClick: () => alert("You clicked the Plan column!"),
};
}
// default behavior (open Metabase's default click menu) on other columns
return clickActions;
},
}}
>
<InteractiveQuestion questionId={1} />
</MetabaseProvider>
);
// [<endsnippet example>]
};
15 changes: 15 additions & 0 deletions _docs/v0.57/installation-and-operation/remote-sync.md
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,21 @@ In Production mode, you can set Metabase to auto-sync changes from your main bra

By default, Metabase will pull any changes (if any) from the branch you specify every five minutes. You can also manually sync as needed.

## Disabling Remote Sync

To disable Remote Sync, go to the Remote Sync settings page in Admin settings.

To disable Remote Sync:

1. Go to **Admin settings** > **Settings** > **Remote sync**.
2. Click **Disable Remote Sync**.
3. In the confirmation dialog, click **Disable**.

- All remote sync settings are cleared, including the repository URL, access token, and branch information.
- Your synced collection and its content remain in your Metabase (they're not deleted).
- The synced collection becomes a regular collection that you can edit like any other collection.
- You can re-enable Remote Sync later by reconnecting to a repository, but any changes you made to the collection after disabling can be overwritten if you enable sync again.

## Migrating existing content to Remote Sync

If you already have content in your Metabase, you can gradually adopt Remote Sync. Content that lives outside the synced collection remains unaffected—you can continue working with it normally while you migrate content into the synced collection over time.
Expand Down
4 changes: 3 additions & 1 deletion _docs/v0.57/people-and-groups/account-settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ You can set your first and last names, change your email address, and set your l

You can choose to display Metabase in light or dark mode.

To quickly toggle dark mode, use the [command palette](../exploration-and-organization/exploration#command-palette).

The theme only applies to your account. The theme doesn't apply to chart colors or embedded Metabases.

## Account password
Expand All @@ -49,4 +51,4 @@ This isn't an in-Metabase setting, but just so you know: you can disable UI anim

If you subscribe or are added to dashboard subscriptions or alerts, you’ll be able to manage those notifications here (as well as on the relevant question or dashboard themselves).

Metabase excludes notificatione for [comments](../documents/introduction#comment-notifications) from this page.
Metabase excludes notifications for [comments](../documents/introduction#comment-notifications) from this page.
4 changes: 2 additions & 2 deletions _site/docs/v0.57/CONTRIBUTING.html
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ <h6>Embedded Analytics</h6>

<div class="Button btn btn-transparent px-3 py-2 button-desktop" id="features-nav-button-desktop" tabindex="0">
<div class="fs-13 d-flex align-items-center">
Features
<a href="/features">Features</a>
<svg class="nav-button-chevron" fill="none" height="7" viewBox="0 0 11 7" width="11" xmlns="http://www.w3.org/2000/svg">
<path d="M1.5 1L5.5 5L9.5 1" stroke-width="1.5" stroke="#509EE3"></path>
</svg>
Expand Down Expand Up @@ -552,7 +552,7 @@ <h6>Embedded Analytics</h6>
</div>
<div class="menu-footer buttons">
<a href="/releases"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path stroke="#509EE3" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16.283 12.26 15.5 15l-.783-2.74a4.333 4.333 0 0 0-2.975-2.976L9 8.5l2.74-.783a4.333 4.333 0 0 0 2.976-2.975L15.5 2l.783 2.74a4.333 4.333 0 0 0 2.975 2.976L22 8.5l-2.74.783a4.334 4.334 0 0 0-2.976 2.975l-.001.001ZM6.5 22l.591-1.774a3.375 3.375 0 0 1 2.135-2.135L11 17.5l-1.774-.591a3.375 3.375 0 0 1-2.135-2.134L6.5 13l-.591 1.774a3.375 3.375 0 0 1-2.134 2.135L2 17.5l1.775.591a3.375 3.375 0 0 1 2.134 2.134L6.5 22Z"></path></svg>
Whats new</a>
What's new</a>
<a href="/roadmap"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path stroke="#8D93A5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m4.75 6.75 4.5-2v12.5l-4.5 2V6.75ZM14.75 6.75l4.5-2v12.5l-4.5 2V6.75ZM14.75 6.75l-5.5-2v12.5l5.5 2V6.75Z"></path>
</svg>
Expand Down
4 changes: 2 additions & 2 deletions _site/docs/v0.57/actions/basic.html
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ <h6>Embedded Analytics</h6>

<div class="Button btn btn-transparent px-3 py-2 button-desktop" id="features-nav-button-desktop" tabindex="0">
<div class="fs-13 d-flex align-items-center">
Features
<a href="/features">Features</a>
<svg class="nav-button-chevron" fill="none" height="7" viewBox="0 0 11 7" width="11" xmlns="http://www.w3.org/2000/svg">
<path d="M1.5 1L5.5 5L9.5 1" stroke-width="1.5" stroke="#509EE3"></path>
</svg>
Expand Down Expand Up @@ -552,7 +552,7 @@ <h6>Embedded Analytics</h6>
</div>
<div class="menu-footer buttons">
<a href="/releases"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path stroke="#509EE3" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M16.283 12.26 15.5 15l-.783-2.74a4.333 4.333 0 0 0-2.975-2.976L9 8.5l2.74-.783a4.333 4.333 0 0 0 2.976-2.975L15.5 2l.783 2.74a4.333 4.333 0 0 0 2.975 2.976L22 8.5l-2.74.783a4.334 4.334 0 0 0-2.976 2.975l-.001.001ZM6.5 22l.591-1.774a3.375 3.375 0 0 1 2.135-2.135L11 17.5l-1.774-.591a3.375 3.375 0 0 1-2.135-2.134L6.5 13l-.591 1.774a3.375 3.375 0 0 1-2.134 2.135L2 17.5l1.775.591a3.375 3.375 0 0 1 2.134 2.134L6.5 22Z"></path></svg>
Whats new</a>
What's new</a>
<a href="/roadmap"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path stroke="#8D93A5" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m4.75 6.75 4.5-2v12.5l-4.5 2V6.75ZM14.75 6.75l4.5-2v12.5l-4.5 2V6.75ZM14.75 6.75l-5.5-2v12.5l5.5 2V6.75Z"></path>
</svg>
Expand Down
Loading