diff --git a/_docs/v0.57/configuring-metabase/environment-variables.md b/_docs/v0.57/configuring-metabase/environment-variables.md index 70915a479..cfeb4ba87 100644 --- a/_docs/v0.57/configuring-metabase/environment-variables.md +++ b/_docs/v0.57/configuring-metabase/environment-variables.md @@ -1638,7 +1638,7 @@ Used for encrypting and checking whether SDK requests are signed. - Default: `null` When using the appdb engine against postgresql, override the language used for stemming in to_tsvector. - Value must be a valid configured langauge option in your database such as 'english' or 'simple'. + Value must be a valid configured language option in your database such as 'english' or 'simple'. ### `MB_SEARCH_TYPEAHEAD_ENABLED` diff --git a/_docs/v0.57/configuring-metabase/localization.md b/_docs/v0.57/configuring-metabase/localization.md index bc72a68e3..f886fdaa8 100644 --- a/_docs/v0.57/configuring-metabase/localization.md +++ b/_docs/v0.57/configuring-metabase/localization.md @@ -146,4 +146,4 @@ This setting doesn't affect [SQL queries](../questions/native-editor/writing-sql ## Localizing embedded Metabase -You can tranlate both Metabase UI elements (like button labels) and content (like dashboard names) in static embeds. See [Setting the language for static embeds](../embedding/static-embedding-parameters#setting-the-language-for-a-static-embed) and [Translating embedded dashboards and questions](../embedding/translations). +You can translate both Metabase UI elements (like button labels) and content (like dashboard names) in static embeds. See [Setting the language for static embeds](../embedding/static-embedding-parameters#setting-the-language-for-a-static-embed) and [Translating embedded dashboards and questions](../embedding/translations). diff --git a/_docs/v0.57/data-modeling/json-unfolding.md b/_docs/v0.57/data-modeling/json-unfolding.md index 7a1b192db..ccd2230b0 100644 --- a/_docs/v0.57/data-modeling/json-unfolding.md +++ b/_docs/v0.57/data-modeling/json-unfolding.md @@ -62,7 +62,7 @@ If performance degrades, or you'd rather keep the JSON contained in the original 4. Select the database that contains the field you want to update. 5. Select the table that contains the field. 6. Select the field containing the original JSON -7. In the **Behavior** section, locate the **Unfold JSON** option and select **Yes** or **No**. If the column was unfolded, Metabase will have hidden this JSON columnn from view, so if you want the JSON column to be visible again, you'll need to change the column's visibility to **Everywhere**. +7. In the **Behavior** section, locate the **Unfold JSON** option and select **Yes** or **No**. If the column was unfolded, Metabase will have hidden this JSON column from view, so if you want the JSON column to be visible again, you'll need to change the column's visibility to **Everywhere**. 8. Scroll to the top and click the **Filter values** button and select **Re-scan this field**. ![Unfolded JSON setting](./images/unfold-json-setting.png) diff --git a/_docs/v0.57/databases/ssl-certificates.md b/_docs/v0.57/databases/ssl-certificates.md index 3e003456d..5a3da9669 100644 --- a/_docs/v0.57/databases/ssl-certificates.md +++ b/_docs/v0.57/databases/ssl-certificates.md @@ -72,7 +72,7 @@ You'll add an ampersand (`&`) to separate each parameter. For example, In the ** sslmode=verify-full&sslrootcert=/path/to/certificate.pem ``` -Replace `/path/to/certifcate.pem` with the full path for the certificate you downloaded from your provider. +Replace `/path/to/certificate.pem` with the full path for the certificate you downloaded from your provider. You can learn more about [SSL support for PostgreSQL](https://www.postgresql.org/docs/current/libpq-ssl.html). diff --git a/_docs/v0.57/databases/users-roles-privileges.md b/_docs/v0.57/databases/users-roles-privileges.md index e25cfaa46..914fdc2d0 100644 --- a/_docs/v0.57/databases/users-roles-privileges.md +++ b/_docs/v0.57/databases/users-roles-privileges.md @@ -69,7 +69,7 @@ GRANT analytics TO metabase; -- GRANT SELECT ON "your_table" IN SCHEMA "your_schema" TO analytics; ``` -Depending on how you use Metabase, you can also additonally grant: +Depending on how you use Metabase, you can also additionally grant: - `TEMPORARY` privileges to create temp tables. - `EXECUTE` privileges to use stored procedures or user-defined functions. diff --git a/_docs/v0.57/developers-guide/api-changelog.md b/_docs/v0.57/developers-guide/api-changelog.md index 890cb2b13..b6b958f6c 100644 --- a/_docs/v0.57/developers-guide/api-changelog.md +++ b/_docs/v0.57/developers-guide/api-changelog.md @@ -86,7 +86,7 @@ layout: new-docs - `POST /api/user/:id/send_invite` has been removed. - `GET /:id/fields` now includes the Table ID. -- APIs under `/api/pulse` and `/api/alert` will be removed in a future version as we're tranitioning to a new architecture. +- APIs under `/api/pulse` and `/api/alert` will be removed in a future version as we're transitioning to a new architecture. ## Metabase 0.51.0 diff --git a/_docs/v0.57/developers-guide/devenv.md b/_docs/v0.57/developers-guide/devenv.md index ae9219189..eb72ac64c 100644 --- a/_docs/v0.57/developers-guide/devenv.md +++ b/_docs/v0.57/developers-guide/devenv.md @@ -183,7 +183,7 @@ several properties that can be set as environment variables or in a `deps.edn`. "-Dmb.db.pass="]}}} ``` -You could also pass a full conection string in as the `mb.db.connection.uri`: +You could also pass a full connection string in as the `mb.db.connection.uri`: ``` "-Dmb.db.connection.uri=postgres://:@localhost:5432/" diff --git a/_docs/v0.57/developers-guide/driver-changelog.md b/_docs/v0.57/developers-guide/driver-changelog.md index 40ba5f670..6382f2ad9 100644 --- a/_docs/v0.57/developers-guide/driver-changelog.md +++ b/_docs/v0.57/developers-guide/driver-changelog.md @@ -164,13 +164,13 @@ layout: new-docs ## Metabase 0.54.11 -- The multimethods `metabase.driver.sql-jdbc.sync.interface/active-tables` and `metabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas`, aswell as the functions +- The multimethods `metabase.driver.sql-jdbc.sync.interface/active-tables` and `metabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas`, as well as the functions `metabase.driver.sql-jdbc.sync.describe_database/fast-active-tables`, `metabase.driver.sql-jdbc.sync.describe_database/have-select-privilege-fn` and `metabase.driver.sql-jdbc.sync.describe_database/db-tables` now take a database spec instead of a `java.sql.Connection` object. ## Metabase 0.54.10 - Add `metabase.driver/table-known-to-not-exist?` for drivers to test if an exception is due to a query on a table that no longer exists -- Add `metabase.driver.sql-jdbc/impl-table-known-to-not-exist?` for JDBC drivers. This is the implemenation of table-known-to-not-exist for jdbc and allows testing directly against `java.sql.SQLException` throwables without worrying about the exception cause chain. +- Add `metabase.driver.sql-jdbc/impl-table-known-to-not-exist?` for JDBC drivers. This is the implementation of table-known-to-not-exist for jdbc and allows testing directly against `java.sql.SQLException` throwables without worrying about the exception cause chain. ## Metabase 0.54.0 @@ -202,7 +202,7 @@ layout: new-docs ## Metabase 0.53.12 - Add `metabase.driver/query-canceled?` for drivers to test if an exception is due to a query being canceled due to user action -- Add `metabase.driver.sql-jdbc/impl-query-canceled?` for JDBC drivers. This is the implemenation of query-canceled for jdbc and allows testing directly against `java.sql.SQLException` throwables without worrying about the exception cause chain. +- Add `metabase.driver.sql-jdbc/impl-query-canceled?` for JDBC drivers. This is the implementation of query-canceled for jdbc and allows testing directly against `java.sql.SQLException` throwables without worrying about the exception cause chain. ## Metabase 0.53.10 @@ -648,7 +648,7 @@ layout: new-docs to be assigned to specific database roles which are set before any queries are executed, so that access to tables can be restricted at the database level instead of (or in conjunction with) Metabase's built-in permissions system. -- The multimethod `metabase.driver.sql-jdbc.sync.describe-table/get-table-pks` is changed to return a vector instea +- The multimethod `metabase.driver.sql-jdbc.sync.describe-table/get-table-pks` is changed to return a vector instead of a set. - The function `metabase.query-processor.timezone/report-timezone-id-if-supported` has been updated to take an additional @@ -846,8 +846,8 @@ differences between the library versions. **Note: we expect these breaking changes to be fixed before 0.46.0 ships. This will be updated if they are.** -The classes `metabase.util.honeysql_extensions.Identifer` and `metabase.util.honeysql_extensions.TypedHoneySQLForm` -have been moved to `metabase.util.honey_sql_1.Identifer` and `metabase.util.honey_sql_1.TypedHoneySQLForm`, +The classes `metabase.util.honeysql_extensions.Identifier` and `metabase.util.honeysql_extensions.TypedHoneySQLForm` +have been moved to `metabase.util.honey_sql_1.Identifier` and `metabase.util.honey_sql_1.TypedHoneySQLForm`, respectively. On the off chance that your driver directly referencing these class names, you may need to update things to use the new class names. diff --git a/_docs/v0.57/developers-guide/drivers/driver-tests.md b/_docs/v0.57/developers-guide/drivers/driver-tests.md index 04a49b2a9..85a3d092d 100644 --- a/_docs/v0.57/developers-guide/drivers/driver-tests.md +++ b/_docs/v0.57/developers-guide/drivers/driver-tests.md @@ -181,7 +181,7 @@ You'll almost certainly be running your database in a local Docker container. Ra Tells Metabase to look for the environment variable `MB_MYSQL_TEST_USER`; if not found, default to `"root"`. The name of the environment variable follows the pattern `MB__TEST_`, as passed into the function as first and second args, respectively. You don't need to specify a default value for `tx/db-test-env-var`; perhaps `user` is an optional parameter; and if `MB_MYSQL_TEST_USER` isn't specified, you don't need to specify it in the connection details. -But what about properties you want to require, but do not have sane defaults? In those cases, you can use `tx/db-test-env-var-or-throw`. It the corresponding enviornment variable isn't set, these will throw an Exception, ultimately causing tests to fail. +But what about properties you want to require, but do not have sane defaults? In those cases, you can use `tx/db-test-env-var-or-throw`. It the corresponding environment variable isn't set, these will throw an Exception, ultimately causing tests to fail. ```clj ;; If MB_SQLSERVER_TEST_USER is unset, the test suite will quit with a message saying something like @@ -197,7 +197,7 @@ Besides `tx/db-test-env-var`, `metabase.test.data.interface` has several other h There's a few other things Metabase needs to know when comparing test results. For example, different databases name tables and columns in different ways; methods exist to let Metabase know it should expect something like the `venues` table in the `test-data` Database Definition to come back as `VENUES` for a database that uppercases everything. (We consider such minor variations in naming to still mean the same thing.) Take a look at `tx/format-name` and other methods like that and see which ones you need to implement. -## What about DBMSes that don't let you create new databases programatically? +## What about DBMSes that don't let you create new databases programmatically? This is actually a common problem, and luckily we have figured out how to work around it. The solution is usually something like using different _schemas_ in place of different databases, or prefixing table names with the database name, and creating everything in the same database. For SQL-based databases, you can implement `sql.tx/qualified-name-components` to have tests use a different identifier instead of what they would normally use, for example `"shared_db"."test-data_venues".id` instead of `"test-data".venues.id`. The SQL Server and Oracle test extensions are good examples of such black magic in action. diff --git a/_docs/v0.57/developers-guide/drivers/plugins.md b/_docs/v0.57/developers-guide/drivers/plugins.md index 633c79413..fa5d7c373 100644 --- a/_docs/v0.57/developers-guide/drivers/plugins.md +++ b/_docs/v0.57/developers-guide/drivers/plugins.md @@ -166,7 +166,7 @@ driver: # Whether loading this driver can be deferred until the first # attempt to connect to a database of this type. Default: true. Only - # set this to false if absolutely neccesary. + # set this to false if absolutely necessary. lazy-load: true # Parent driver, if any. diff --git a/_docs/v0.57/developers-guide/e2e-tests.md b/_docs/v0.57/developers-guide/e2e-tests.md index 54ffdb7c0..2829effd0 100644 --- a/_docs/v0.57/developers-guide/e2e-tests.md +++ b/_docs/v0.57/developers-guide/e2e-tests.md @@ -11,7 +11,7 @@ layout: new-docs # End-to-end tests with Cypress -Metabase uses Cypress for “end-to-end testing”, that is, tests that are executed against the application as a whole, including the frontend, backend, and application database. These tests are essentially scripts written in JavaScript that run in the web browser: visit different URLs, click various UI elements, type text, and assert that things happen as expected (for example, an element appearing on screen, or a network request occuring). +Metabase uses Cypress for “end-to-end testing”, that is, tests that are executed against the application as a whole, including the frontend, backend, and application database. These tests are essentially scripts written in JavaScript that run in the web browser: visit different URLs, click various UI elements, type text, and assert that things happen as expected (for example, an element appearing on screen, or a network request occurring). _Please, get familiar with the [Cypress best practices](https://docs.cypress.io/app/core-concepts/best-practices) before you proceed._ @@ -162,17 +162,15 @@ export MB_SNOWPLOW_URL=http://localhost:9090 We have a few helpers for dealing with tests involving snowplow -1. You can use `describeWithSnowplow` (or `describeWithSnowplowEE` for EE edition) method to define tests that only - run when a Snowplow instance is running 1. Use `resetSnowplow()` test helper before each test to clear the queue of processed events. -1. Use `expectSnowplowEvent({ ...payload }, count=n)` to assert that exactly `count` snowplow events match (partially) +2. Use `expectSnowplowEvent({ ...payload }, count=n)` to assert that exactly `count` snowplow events match (partially) the payload provided (count defaults to 1) -1. Use `expectUnstructuredSnowplowEvent` to assert that exactly `count` snowplow events are unstructured events that +3. Use `expectUnstructuredSnowplowEvent` to assert that exactly `count` snowplow events are unstructured events that partial-match the payload provided. This is simply a convenience function for comparing `event.unstruct_event.data.data` rather than the entire `event`. Most of our events are unstructured events, so this is handy. -1. Use `assertNoUnstructuredSnowplowEvent({ ...eventData })` is the inverse of `expectUnstructuredSnowplowEvent`, and asserts that +4. Use `assertNoUnstructuredSnowplowEvent({ ...eventData })` is the inverse of `expectUnstructuredSnowplowEvent`, and asserts that _no_ unstructured events match the payload. -1. Use `expectNoBadSnowplowEvents()` after each test to assert that no invalid events have been sent. +5. Use `expectNoBadSnowplowEvents()` after each test to assert that no invalid events have been sent. ### Running tests that require SMTP server diff --git a/_docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html b/_docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html deleted file mode 100644 index 456938a87..000000000 --- a/_docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html +++ /dev/null @@ -1,16 +0,0 @@ ---- -version: v0.57 -has_magic_breadcrumbs: true -show_category_breadcrumb: true -show_title_breadcrumb: true -category: Embedding -title: MetabaseEmbeddingSessionToken -source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/MetabaseEmbeddingSessionToken.html' -layout: docs-api ---- - -MetabaseEmbeddingSessionToken | Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

Type Alias MetabaseEmbeddingSessionToken

type MetabaseEmbeddingSessionToken = {
    exp?: number | null;
    id: string;
}
Index

Properties

exp? -id -

Properties

exp?: number | null

(EMB-829) This is a temporary type. After we disallowed token without expiration, -we will remove make it a non-optional number again.

-
id: string

diff --git a/_docs/v0.57/embedding/sdk/api/assets/navigation.js b/_docs/v0.57/embedding/sdk/api/assets/navigation.js index 17ae280bb..ba5d41c03 100644 --- a/_docs/v0.57/embedding/sdk/api/assets/navigation.js +++ b/_docs/v0.57/embedding/sdk/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJylWsty3DYQ/BeeVanEFTsV3aSVlFiWE8Ur2QeXD1hyvEQWBGhwqI3s8r+nsC+CwOBB+iQVuqcbgzfA/fitQPgPi/NioYSAErmSl1ptO9DFWVHWXFQaZHH+McprGdYU9FONjSjOig2XVXH+6tfvZ2GZe63aLqK1w8eCL16++v7J1tTAEK5YV68U09VbVTERyoKmHs0JNJYLQXfTCVFyMvqnh860RDQXizTyPJa79T8rSsG6rjgvKmg1lAyhKoLWZDojMJ7IKfNADtcVR7YSYPMOXh4U6YnXEkGzEvkTpUShEbElMuQloeMAEQmv7k470rjflPEMHdEgJabr5ORIUmi8w61KJIYvzfRzCQ1ke5RpLsRDrVW/rgMjN0jJbPRjjOk5pS97RM8ihz3LLddnjkNae47q8e8SELlcd1datZXaZrhFI2fW4j3veib4V5aXcDhsov876ABzh4pLnui1ZMP/N0o3aUMyYqLrA0cBaauBFl2Kqk1gVLrIxFpesnKT2w0O13H6+ffffnn5IuGmgW1Uj/ljnoyY4byomcaH5xbyremQH/Fegjm/5SxadMgM7yu1lUKx6gOv1jCh3SNxP1yLqe5zXW+4QND5ORP82a65bnNd3L1g+u4x19msjbkrhsOd49Y3DdP864R5S4fQ3vbx7C0gW7HOLMZPvApe9ir4zCUcyRc91gslP/P1UKcQI3JKI7wPYi4yQcRpKhKObRexHFPZ+Z3rR3zgWF+0/A08x3QH1jyH2y2m5G+3OE97yRqREjeczMGnMHEv8Fm29QCkBsnApMaIg8YvNftrUKLeHml0h8qo9ZhI3sQm1FlhHZze1GasmlZJkJjYs0+0nEm1UEJpYnbuy3MUAqPAQnJUHmpowJfYFacvx7EmCjFiquTGMmEH2Z2bdk1oPcycypLR7gPbHe9MZN/I2DOcxUo69B2q5vRosDDvXiD71wiNZRAmpfRHQXsdXz9CmqRvggKqBpqsta/KtYAGJEaER7wcF7qZXSSldN2soKq4XF9L5PhsTufWq5UPJvVOzP1R8A08289gBJo8P5VK/sXs6XwsSUXeqTWXZsL2VhWswtztcSF4ubko6WXJAmfo3Yt+zWUXOoiEmNlOp1lNrskHbLraeMzReL7qYQ0NLNpjPFeVeM31oMlaid6iefkuyO4Vl/j36l8oieOdQ8jVPU3iJXSdeZtRGyCGA0nL9bgBLOt38MVsi7vAG8KBIGXrK4k3rOGCOFQPWK7aH0KtmEh0JkHK1U8oz9J87Kj706P37c1XuGeaNYCg3zPRg7USOkBKZ1ltrAlufyUZAxk6p4niyFjlU1TuFKuun0bbKwlnaO43KKdax8KceK2VPq1YY5URNFnLfyEl8BxV0xJ/MlkJ0N4QpfEM1eOB2Gm5oXiCBvXGTMIZmmaCOHXaFyVjv4jgxPGxlJrxNA/NIKvbLb6DrlWys/Y6Gk9fsPsOLtpW8HL3yeJwSqIugCTxYO5j3p3V9XxiXJjPmWbt7SKWLs9yHEEpQ+er+kXLw6YkdzD24fwP/u5AIOH4Ld3UoNcaJD6Gf3rhkazqD+WpRrNfbk6n4IAdyR1cfZgw//Q/B1YG/Q==" \ No newline at end of file +window.navigationData = "eJylWtty2zYQ/Rc+ezpppkmnfrNlqYnjtK4lJw+ZPEDkRkQFAgy4tOpk8u8d6kYQWFzIPCWDc/YcLLS40p++Zwj/YXaZzZQQkCNX8lqrXQM6u8jykotCg8wuPwV5NcOSgn4psRLZRbblssguX//248Ivc69V3QS09vhQ8OWr1z8+m5oaGMINa8q1Yrp4rwomfFnQ1JM5gYZyIeh2Oj5KSkb/tNB0IxHMxSANPE/tdv8vslywpskuswJqDTlDKDKvNZnOAAwncs7ck8O84MjWAkze0cuBAr/EW4mgWY78iVKi0IDYEhnynNCxgICE03drHGncHcpwhpaolxLStXKyJCk0/IMbnYiUL810c/EVslllmguxKrVqN6Wncr2UxEE/xXS/nNLXLaJjkcKe5JbqM8Uhrj1F9fTvEhC53DQ3WtWF2iW4BSMn9uIDb1om+DeWlrA/bKT/AzSAqaVik0d6LVn//4XSVdyQjBjpuuIoIG7V04JLUbH1VKWNjOzlNcu3qT+DxbWcXvzx+6+vXkbcNLCtajG95smICc6zkmlcPdeQbk2H/Iz3ErrzW8qiRYdM8L5ROykUKz7yYgMjxj0Q99O9GOs+1XXBBYJOz5ngT3ZNdZvqYu8F43ePqc7d2pi6YljcKW5tVTHNv42Yt3QI7W0ez94DsjVrusX4iRfey14BX7iEE/mqxXKm5Be+6fvkYwROaYT3UcxGRohYQ0XCoe0ilGMsO/fHdSM+ciyvav4OnkO6PWuaw+0OY/K3O5ymvWSViIl3nMTiUxi5F7gs07oHYkXSM6kasdDwpeZwDYr02yEN7lAJvR4SyZvYiD4rLL3Tm9qMVVUrCRIje/aZljKpZkooTczOQ3uKgqcKDCRFZVVCBa7Evjl+OQ4NkY8RUiU3lhE7yP7ctB9C42Hm3BaNth/Y7njTRbaVDD3DGayoQ9ugqs6PBrPu3Qtk+xahMgz8pJj+IOig4+oHSKP0uyCPageN1jp0ZS6gAokB4QEvxYUeZhuJKc2rNRQFl5u5RI7P3enceLVywajemXk4Cr6DZ/MZjECj56dcyb+YOZ1PLbHIO7XhspuwrdEFozF1e5wJnm+vcnpZMsAJevei3XDZ+A4iPmay03lWk2vyERuvNqw5Gk9XPa6hnkV7iKeqEq+5DjRaK/Jr0bx0F2T3ikv8e/0v5MTxziKk6i4A8/IBvnZb1kptQS6IYiBIyfpK4oJVXBAH3h5LVftTqDUTkYEmSKn6EeVJmo8Ndbd5dL6LuQr3TLMKEPQHJlowVikLiOksi60x+cwvGEMgQedcxJaM0T5G5U6xYv402PpIOEHzsHlY3To1psRrrfR5NRmqDKDRWu7rJYGnqHYj8YbJQoB2SpTGE1RPh1Vr5PrmERrU+y8JJ2h2E8Tq06EpGvtVeCeOi8XUOs/uERhkcbvDB2hqJRtjH6Lx+OW3beCqrgXP958TjicY6nJGEo/mLubcJ23PJ8ZF96mxW3ubgKXNMxwHUMzQ+uJ9VXO/KcntjV04/WO8XQgkHL5Bdz1otQaJj/4/i3BIRvf79tigma8q5xOqx47k9q4uTJh//h/xMeP/" \ No newline at end of file diff --git a/_docs/v0.57/embedding/sdk/api/assets/search.js b/_docs/v0.57/embedding/sdk/api/assets/search.js index efdb90221..0b9352c0f 100644 --- a/_docs/v0.57/embedding/sdk/api/assets/search.js +++ b/_docs/v0.57/embedding/sdk/api/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/_docs/v0.57/embedding/sdk/api/index.html b/_docs/v0.57/embedding/sdk/api/index.html index 28384695b..630e054d8 100644 --- a/_docs/v0.57/embedding/sdk/api/index.html +++ b/_docs/v0.57/embedding/sdk/api/index.html @@ -9,4 +9,4 @@ layout: docs-api --- -Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

Embedded analytics SDK API

CollectionBrowser

CollectionBrowser
CollectionBrowserProps

CreateDashboardModal

CreateDashboardModal
CreateDashboardModalProps

CreateQuestion

CreateQuestion
CreateQuestionProps

Dashboard

EditableDashboard
InteractiveDashboard
StaticDashboard
EditableDashboardProps
InteractiveDashboardProps
StaticDashboardProps

InteractiveQuestion

InteractiveQuestion
DrillThroughQuestionProps
InteractiveQuestionEditorButtonProps
InteractiveQuestionEditorProps
InteractiveQuestionProps
InteractiveQuestionQuestionSettingsDropdownProps
InteractiveQuestionQuestionVisualizationProps
InteractiveQuestionResetButtonProps
InteractiveQuestionSaveQuestionFormProps
InteractiveQuestionTitleProps
SdkQuestionProps
InteractiveQuestionBackButtonProps
InteractiveQuestionBreakoutDropdownProps
InteractiveQuestionChartTypeDropdownProps
InteractiveQuestionChartTypeSelectorProps
InteractiveQuestionDownloadWidgetDropdownProps
InteractiveQuestionDownloadWidgetProps
InteractiveQuestionFilterDropdownProps
InteractiveQuestionFilterProps
InteractiveQuestionQuestionSettingsProps
InteractiveQuestionSaveButtonProps
InteractiveQuestionSummarizeDropdownProps

MetabaseProvider

defineMetabaseAuthConfig
MetabaseProvider
MetabaseProviderProps
MetabaseAuthConfig
MetabaseAuthConfigWithApiKey
MetabaseAuthConfigWithJwt
MetabaseAuthConfigWithSaml

MetabotQuestion

MetabotQuestion
MetabotQuestionProps

StaticQuestion

StaticQuestion
StaticQuestionProps

other

InteractiveQuestionComponents
MetabaseColors
MetabaseQuestion
MetabaseTheme
StaticQuestionComponents
ButtonProps
ChartColor
CollectionBrowserListColumns
CustomDashboardCardMenuItem
DashboardCardCustomMenuItem
DashboardCardMenu
DashboardCardMenuCustomElement
DashCardMenuItem
EmbeddingEntityType
EntityTypeFilterKeys
IconName
LoginStatus
MetabaseClickAction
MetabaseClickActionPluginsConfig
MetabaseCollection
MetabaseCollectionItem
MetabaseComponentTheme
MetabaseDashboard
MetabaseDashboardPluginsConfig
MetabaseDataPointObject
MetabaseEmbeddingSessionToken
MetabaseFetchRequestTokenFn
MetabaseFontFamily
MetabaseGlobalPluginsConfig
MetabasePluginsConfig
MetabaseUser
ParameterValues
SdkCollectionId
SdkDashboardId
SdkDashboardLoadEvent
SdkEntityId
SdkErrorComponent
SdkErrorComponentProps
SdkEventHandlersConfig
SdkQuestionId
SdkQuestionTitleProps
SdkUserId
SqlParameterValues
UserBackendJwtResponse

useApplicationName

useApplicationName

useAvailableFonts

useAvailableFonts

useCreateDashboardApi

useCreateDashboardApi
CreateDashboardValues

useCurrentUser

useCurrentUser

useMetabaseAuthStatus

useMetabaseAuthStatus

+Embedded analytics SDK API{% include docs/embedded-analytics-sdk-metadata.html %}

Embedded analytics SDK API

CollectionBrowser

CollectionBrowser
CollectionBrowserProps

CreateDashboardModal

CreateDashboardModal
CreateDashboardModalProps

CreateQuestion

CreateQuestion
CreateQuestionProps

Dashboard

EditableDashboard
InteractiveDashboard
StaticDashboard
EditableDashboardProps
InteractiveDashboardProps
StaticDashboardProps

InteractiveQuestion

InteractiveQuestion
DrillThroughQuestionProps
InteractiveQuestionEditorButtonProps
InteractiveQuestionEditorProps
InteractiveQuestionProps
InteractiveQuestionQuestionSettingsDropdownProps
InteractiveQuestionQuestionVisualizationProps
InteractiveQuestionResetButtonProps
InteractiveQuestionSaveQuestionFormProps
InteractiveQuestionTitleProps
SdkQuestionProps
InteractiveQuestionBackButtonProps
InteractiveQuestionBreakoutDropdownProps
InteractiveQuestionChartTypeDropdownProps
InteractiveQuestionChartTypeSelectorProps
InteractiveQuestionDownloadWidgetDropdownProps
InteractiveQuestionDownloadWidgetProps
InteractiveQuestionFilterDropdownProps
InteractiveQuestionFilterProps
InteractiveQuestionQuestionSettingsProps
InteractiveQuestionSaveButtonProps
InteractiveQuestionSummarizeDropdownProps

MetabaseProvider

defineMetabaseAuthConfig
MetabaseProvider
MetabaseProviderProps
MetabaseAuthConfig
MetabaseAuthConfigWithApiKey
MetabaseAuthConfigWithJwt
MetabaseAuthConfigWithSaml

MetabotQuestion

MetabotQuestion
MetabotQuestionProps

StaticQuestion

StaticQuestion
StaticQuestionProps

other

InteractiveQuestionComponents
MetabaseColors
MetabaseQuestion
MetabaseTheme
StaticQuestionComponents
ButtonProps
ChartColor
CollectionBrowserListColumns
CustomDashboardCardMenuItem
DashboardCardCustomMenuItem
DashboardCardMenu
DashboardCardMenuCustomElement
DashCardMenuItem
EmbeddingEntityType
EntityTypeFilterKeys
IconName
LoginStatus
MetabaseClickAction
MetabaseClickActionPluginsConfig
MetabaseCollection
MetabaseCollectionItem
MetabaseComponentTheme
MetabaseDashboard
MetabaseDashboardPluginsConfig
MetabaseDataPointObject
MetabaseFetchRequestTokenFn
MetabaseFontFamily
MetabaseGlobalPluginsConfig
MetabasePluginsConfig
MetabaseUser
ParameterValues
SdkCollectionId
SdkDashboardId
SdkDashboardLoadEvent
SdkEntityId
SdkErrorComponent
SdkErrorComponentProps
SdkEventHandlersConfig
SdkQuestionId
SdkQuestionTitleProps
SdkUserId
SqlParameterValues
UserBackendJwtResponse

useApplicationName

useApplicationName

useAvailableFonts

useAvailableFonts

useCreateDashboardApi

useCreateDashboardApi
CreateDashboardValues

useCurrentUser

useCurrentUser

useMetabaseAuthStatus

useMetabaseAuthStatus

diff --git a/_docs/v0.57/embedding/sdk/api/snippets/MetabaseEmbeddingSessionToken.md b/_docs/v0.57/embedding/sdk/api/snippets/MetabaseEmbeddingSessionToken.md deleted file mode 100644 index c25f13852..000000000 --- a/_docs/v0.57/embedding/sdk/api/snippets/MetabaseEmbeddingSessionToken.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -version: v0.57 -has_magic_breadcrumbs: true -show_category_breadcrumb: true -show_title_breadcrumb: true -category: Embedding -title: MetabaseEmbeddingSessionToken -source_url: 'https://github.com/metabase/metabase/blob/master/docs/embedding/sdk/api/snippets/MetabaseEmbeddingSessionToken.md' -layout: new-docs ---- - -```ts -type MetabaseEmbeddingSessionToken = { - exp?: number | null; - id: string; -}; -``` - -## Properties - - - -| Property | Type | Description | -| :---------------------- | :----------------- | :------------------------------------------------------------------------------------------------------------------------------------ | -| `exp?` | `number` \| `null` | (EMB-829) This is a temporary type. After we disallowed token without expiration, we will remove make it a non-optional number again. | -| `id` | `string` | - | - - diff --git a/_docs/v0.57/embedding/sdk/api/snippets/index.md b/_docs/v0.57/embedding/sdk/api/snippets/index.md index a242e0e91..be8f97794 100644 --- a/_docs/v0.57/embedding/sdk/api/snippets/index.md +++ b/_docs/v0.57/embedding/sdk/api/snippets/index.md @@ -123,7 +123,6 @@ layout: new-docs | [MetabaseDashboard](./api/MetabaseDashboard) | The Dashboard entity | | [MetabaseDashboardPluginsConfig](./api/MetabaseDashboardPluginsConfig) | - | | [MetabaseDataPointObject](./api/MetabaseDataPointObject) | - | -| [MetabaseEmbeddingSessionToken](./api/MetabaseEmbeddingSessionToken) | - | | [MetabaseFetchRequestTokenFn](./api/MetabaseFetchRequestTokenFn) | - | | [MetabaseFontFamily](./api/MetabaseFontFamily) | - | | [MetabaseGlobalPluginsConfig](./api/MetabaseGlobalPluginsConfig) | - | diff --git a/_docs/v0.57/embedding/sdk/dashboards.md b/_docs/v0.57/embedding/sdk/dashboards.md index 34e64f572..bcd896645 100644 --- a/_docs/v0.57/embedding/sdk/dashboards.md +++ b/_docs/v0.57/embedding/sdk/dashboards.md @@ -167,7 +167,7 @@ Until the Embedded analytics SDK is fully loaded and initialized, the hook retur ### `CreateDashboardModal` -#### API Refernce +#### API Reference - [Component](./api/CreateDashboardModal) - [Props](./api/CreateDashboardModalProps) diff --git a/_docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.md b/_docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.md index 7db4e945c..ce57793a1 100644 --- a/_docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.md +++ b/_docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.md @@ -58,7 +58,7 @@ Once the database status is `Available`, you need to click on the DB identifier: ![RDS DB Identifier](images/RDSDBIdentifier.png) -On the page that appears after you click on the database identifer, you will see on the center of the page the **Connectivity & Security** section. This section will provide you with the **Endpoint** that Metabase needs to connect to the application database we just created. +On the page that appears after you click on the database identifier, you will see on the center of the page the **Connectivity & Security** section. This section will provide you with the **Endpoint** that Metabase needs to connect to the application database we just created. ![RDS Connection Data](images/RDSConnectionData.png) diff --git a/_docs/v0.57/installation-and-operation/development-instance.md b/_docs/v0.57/installation-and-operation/development-instance.md index 2711e3e08..f651aae99 100644 --- a/_docs/v0.57/installation-and-operation/development-instance.md +++ b/_docs/v0.57/installation-and-operation/development-instance.md @@ -18,7 +18,7 @@ summary: 'Create development instances of Metabase for testing without paying pe On Pro and Enterprise plans, you can purchase a development instance or development token as an add-on to your plan. -- **Self-hosted**: you can purchase a dev token so you don't get billed for every test user acccount. You can use the same dev token for one or more self-hosted development instances (meaning: you can reuse the same token for multiple dev instances at no additional cost). The development token will have access to the same set of paid features as your production token. +- **Self-hosted**: you can purchase a dev token so you don't get billed for every test user account. You can use the same dev token for one or more self-hosted development instances (meaning: you can reuse the same token for multiple dev instances at no additional cost). The development token will have access to the same set of paid features as your production token. - **Cloud**: you can purchase a development instance hosted on [Metabase Cloud](/cloud/). The development instance will have access to the same set of paid features as your production token. Dev instances are only available to Pro and Enterprise plans; they're not included in the base plans. Dev instances must be purchased as an add-on to your plan, after you've completed your trial and made your first payment. diff --git a/_docs/v0.57/installation-and-operation/images/development-settings.png b/_docs/v0.57/installation-and-operation/images/development-settings.png deleted file mode 100644 index 36d41f682..000000000 Binary files a/_docs/v0.57/installation-and-operation/images/development-settings.png and /dev/null differ diff --git a/_docs/v0.57/installation-and-operation/images/production-settings.png b/_docs/v0.57/installation-and-operation/images/production-settings.png deleted file mode 100644 index d4c6cb463..000000000 Binary files a/_docs/v0.57/installation-and-operation/images/production-settings.png and /dev/null differ diff --git a/_docs/v0.57/installation-and-operation/images/production-view.png b/_docs/v0.57/installation-and-operation/images/production-view.png deleted file mode 100644 index 1051bc81a..000000000 Binary files a/_docs/v0.57/installation-and-operation/images/production-view.png and /dev/null differ diff --git a/_docs/v0.57/installation-and-operation/images/read-only-settings.png b/_docs/v0.57/installation-and-operation/images/read-only-settings.png new file mode 100644 index 000000000..b06404215 Binary files /dev/null and b/_docs/v0.57/installation-and-operation/images/read-only-settings.png differ diff --git a/_docs/v0.57/installation-and-operation/images/read-only-view.png b/_docs/v0.57/installation-and-operation/images/read-only-view.png new file mode 100644 index 000000000..34f5ecf7b Binary files /dev/null and b/_docs/v0.57/installation-and-operation/images/read-only-view.png differ diff --git a/_docs/v0.57/installation-and-operation/images/read-write-settings.png b/_docs/v0.57/installation-and-operation/images/read-write-settings.png new file mode 100644 index 000000000..e70572795 Binary files /dev/null and b/_docs/v0.57/installation-and-operation/images/read-write-settings.png differ diff --git a/_docs/v0.57/installation-and-operation/remote-sync.md b/_docs/v0.57/installation-and-operation/remote-sync.md index baa5d0b8a..2b7421e96 100644 --- a/_docs/v0.57/installation-and-operation/remote-sync.md +++ b/_docs/v0.57/installation-and-operation/remote-sync.md @@ -24,11 +24,11 @@ Remote Sync lets you develop analytics content in a collection in a development Here's a basic remote-sync workflow: -1. Create a dashboard in a **Metabase configured in Development mode**. +1. Create a dashboard in a **Metabase configured in Read-write mode**. 2. Push it to a Git branch. 3. Open a pull request for review. 4. Merge the PR to production. -5. Your **Metabase configured in Production mode** automatically pulls in the changes. +5. Your **Metabase configured in Read-only mode** automatically pulls in the changes. We'll cover [setting up Remote Sync](#setting-up-remote-sync), an [example dev-to-production workflow](#an-example-dev-to-production-workflow), [branch management](#branch-management), and some other odds and ends. @@ -36,10 +36,10 @@ We'll cover [setting up Remote Sync](#setting-up-remote-sync), an [example dev-t **Remote sync has two modes for different roles**: -- **Development mode**: Create and edit content. You can [push](#pushing-changes-to-git) and [pull](#pulling-changes-from-git) changes to and from your repository. Multiple Metabase instances can connect in Development mode, each working on [different branches](#branch-management). -- **Production mode**: Serves read-only content to users. Production instances only [pull](#pulling-changes-from-git) changes (typically from your main branch) and don't allow direct editing of synced content. You can set up [auto-sync](#pulling-changes-automatically) to automatically pull approved changes every five minutes. +- **Read-write mode**: Create and edit content. You can [push](#pushing-changes-to-git) and [pull](#pulling-changes-from-git) changes to and from your repository. Multiple Metabase instances can connect in Read-write mode, each working on [different branches](#branch-management). +- **Read-only mode**: Serves read-only content to users. Read-only instances only [pull](#pulling-changes-from-git) changes (typically from your main branch) and don't allow direct editing of synced content. You can set up [auto-sync](#pulling-changes-automatically) to automatically pull approved changes every five minutes. -**Only the synced collection is tracked**: Each Metabase connected to Remote Sync has one special [collection that syncs with Git](#how-the-synced-collection-works-in-development-mode). When you connect in Development mode, Metabase creates a collection called "Synced Collection" (you can rename it). Everything inside this collection (including sub-collections) is versioned and synchronized with your repository. +**Only the synced collection is tracked**: Each Metabase connected to Remote Sync has one special [collection that syncs with Git](#how-the-synced-collection-works-in-read-write-mode). When you connect in Read-write mode, Metabase creates a collection called "Synced Collection" (you can rename it). Everything inside this collection (including sub-collections) is versioned and synchronized with your repository. **The synced collection must be self-contained**: Everything a dashboard or question needs must be [inside the synced collection](#items-in-the-synced-collection-cant-depend-on-items-outside-of-it). Content outside the synced collection won't sync to your repository or appear in other Metabase instances. @@ -76,7 +76,7 @@ Copy the token immediately after generating it. ![Development settings](./images/development-settings.png) -You can put any Metabase into development mode. We also offer [Development instances](./development-instance) that you can use for Remote Sync or any other kind of development. +You can put any Metabase into Read-write mode. We also offer [Development instances](./development-instance) that you can use for Remote Sync or any other kind of development. In the Metabase instance that you use for development: @@ -86,7 +86,7 @@ In the Metabase instance that you use for development: - For example, `https://github.com/your-org/your-repo`. The repository must already exist and be initialized with at least one commit. -3. Select **Development mode**. +3. Select **Read-write mode**. 4. Add your access token: @@ -98,7 +98,7 @@ In the Metabase instance that you use for development: ### 4. Add an item to your synced collection -When you first connect in Development mode, Metabase automatically creates a **synced collection** called "Synced Collection"—any content you add to it will be tracked in Git and can be pushed to your repository. +When you first connect in Read-write mode, Metabase automatically creates a **synced collection** called "Synced Collection"—any content you add to it will be tracked in Git and can be pushed to your repository. You can rename the Synced Collection if you want, and you can add sub-collections within it to organize your content. @@ -147,7 +147,7 @@ In your production Metabase instance: - Use the same repository as your development Metabase, for example, `https://github.com/your-org/your-repo`. -3. Select **Production mode**. +3. Select **Read-only mode**. 4. Add your access token: @@ -161,7 +161,7 @@ In your production Metabase instance: - Click "Pull changes" to immediately sync content from your repository. - To keep your production instance automatically updated, toggle on "Auto-sync with Git". Metabase will pull changes from your main branch every five minutes. -In Production mode, the synced collection appears in the regular collections list with a special icon to indicate it's versioned and read-only. +In Read-only mode, the synced collection appears in the regular collections list with a special icon to indicate it's versioned and read-only. ![Production Metabase](./images/production-view.png) @@ -202,7 +202,7 @@ On your production Metabase instance: 2. The "Megafauna Analytics" dashboard appears in production with all its questions. 3. The content is read-only for users (they can view and use it, but can't edit it). -## How the synced collection works in Development mode +## How the synced collection works in Read-write mode - [The synced collection in the UI](#the-synced-collection-in-the-ui) - [Moving and deleting content in the synced collection](#moving-and-deleting-content-in-the-synced-collection) @@ -210,13 +210,13 @@ On your production Metabase instance: ### The synced collection in the UI -When you first connect in Development mode, Metabase creates a synced collection called "Synced Collection". You can add items and sub-collections to it. The synced collection shows its current state with visual indicators: a yellow dot indicates unsynced local changes that need to be committed, and up/down arrows provide sync controls for pulling and pushing changes. +When you first connect in Read-write mode, Metabase creates a synced collection called "Synced Collection". You can add items and sub-collections to it. The synced collection shows its current state with visual indicators: a yellow dot indicates unsynced local changes that need to be committed, and up/down arrows provide sync controls for pulling and pushing changes. -In Production mode, the synced collection appears in the regular collections list (not in a separate "Synced Collections" section) with a special icon to indicate it's versioned and read-only. +In Read-only mode, the synced collection appears in the regular collections list (not in a separate "Synced Collections" section) with a special icon to indicate it's versioned and read-only. ### Moving and deleting content in the synced collection -**Deletions sync to production:** When you remove content from the synced collection in Development mode and push that change, the content will also be removed from your Production instance when it syncs. This applies to moving content out of the synced collection or deleting it entirely. +**Deletions sync to production:** When you remove content from the synced collection in Read-write mode and push that change, the content will also be removed from your Production instance when it syncs. This applies to moving content out of the synced collection or deleting it entirely. Content in other Metabases that depended on this item may break since the dependency will no longer be in the synced collection. @@ -246,7 +246,7 @@ If you're using Metabase for embedding, you might want synced content to appear For groups with these permissions, the sub-collections they can access will appear at the top level of navigation, as if they were root-level collections. They won't see the top-level Synced Collection that you have in your development Metabase. -What you see in Development mode: +What you see in Read-write mode: ``` Collections @@ -255,7 +255,7 @@ Collections ├── Giant Sloth Statistics ``` -What embedding groups see in Production mode (with no access to Synced Collection, but access to Mammoth Statistics and Giant Sloth Statistics): +What embedding groups see in Read-only mode (with no access to Synced Collection, but access to Mammoth Statistics and Giant Sloth Statistics): ``` Collections @@ -287,7 +287,7 @@ Remote Sync uses the same serialization format as the [Metabase CLI serializatio ## Branch management -Branching is only available in Development mode. +Branching is only available in Read-write mode. ### Creating a branch @@ -320,13 +320,13 @@ If you have unsynced changes, Metabase will show a dialog asking what you want t The dialog shows you exactly which items have changed, so you can make an informed decision. -If you switch modes (from Development to Production or vice versa) with unpushed changes, you'll be prompted to save or discard them. You cannot switch to Production mode with uncommitted changes. +If you switch modes (from Read-write to Read-only or vice versa) with unpushed changes, you'll be prompted to save or discard them. You cannot switch to Read-only mode with uncommitted changes. If changes don't appear after switching modes: Hard refresh your browser (Cmd/Ctrl + Shift + R). ## Pushing changes to Git -You can only push changes in a Metabase with Remote Sync set to Development mode. +You can only push changes in a Metabase with Remote Sync set to Read-write mode. ### Committing and pushing your changes @@ -336,13 +336,13 @@ When you make changes to items in the synced collection, a yellow dot appears on 2. Enter a descriptive commit message explaining your changes. 3. Click "Continue" to push your changes to Git. -If you see a message that "Remote is ahead of local", that means someone else pushed to the branch from another Metabase in Development mode. Pull the latest changes before pushing again. +If you see a message that "Remote is ahead of local", that means someone else pushed to the branch from another Metabase in Read-write mode. Pull the latest changes before pushing again. ## Pulling changes from Git -You can pull changes when in Development or Production mode. +You can pull changes when in Read-write or Read-only mode. -In Development mode, you can get the latest changes from your Git repository: +In Read-write mode, you can get the latest changes from your Git repository: 1. Click the down arrow (pull) icon next to your synced collection in the left sidebar. 2. Review any summary of incoming changes if shown. @@ -355,7 +355,7 @@ If changes don't appear after pulling: - Hard refresh your browser (Cmd/Ctrl + Shift + R). - If you encounter sync errors, review error messages in the sync dialog, manually resolve conflicts in your Git repository, then pull again. -In Production mode, go to **Admin settings** > **Settings** > **Remote sync** and click **Pull changes**. +In Read-only mode, go to **Admin settings** > **Settings** > **Remote sync** and click **Pull changes**. ### Handling unsynced changes @@ -369,7 +369,7 @@ When in doubt, create a new branch and push changes to that branch. That way you ### Pulling changes automatically -In Production mode, you can set Metabase to auto-sync changes from your main branch. +In Read-only mode, you can set Metabase to auto-sync changes from your main branch. 1. Navigate to **Admin settings** > **Settings** > **Remote sync**. 2. Enable Auto-sync with Git. @@ -403,7 +403,7 @@ Keep doing what you're doing. If you want to switch fully to Remote Sync, we recommend starting with a new repo: -1. Check out a new branch in your Metabase instance in Development mode. +1. Check out a new branch in your Metabase instance in Read-write mode. 2. Import your data to your Metabase instance with the serialization command as you normally would. 3. Move the content you want to sync into the synced collection. 4. Push up your changes to the new repo. diff --git a/_docs/v0.57/installation-and-operation/upgrading-metabase.md b/_docs/v0.57/installation-and-operation/upgrading-metabase.md index 05eb13303..a80491fae 100644 --- a/_docs/v0.57/installation-and-operation/upgrading-metabase.md +++ b/_docs/v0.57/installation-and-operation/upgrading-metabase.md @@ -143,7 +143,7 @@ Metabase will do all this automatically. If you need to downgrade after a major version upgrade, you'll either need to restore from a backup, or manually migrate to a lower version, otherwise Metabase may refuse to start (see the next section). -Durning a **minor version upgrade** (e.g., 54.1 to 54.2), the new Metabase container or Jar will just work. Only in rare cases will it have to perform a migration, but, like with major version upgrades, Metabase will perform the migration automatically. And of course, you're backing up your application database each time you upgrade, right? +During a **minor version upgrade** (e.g., 54.1 to 54.2), the new Metabase container or Jar will just work. Only in rare cases will it have to perform a migration, but, like with major version upgrades, Metabase will perform the migration automatically. And of course, you're backing up your application database each time you upgrade, right? ## Rolling back an upgrade or to an older version @@ -188,7 +188,7 @@ Once the migration process completes, start up Metabase using the JAR or contain If you're running Metabase in a cluster: -1. Reduce the number of nodes to a single node. You can't upgrade all nodes at the same time because the ugprade process works by acquiring a migration lock on the application database from a single client, which performs the migration. If you keep more than one node active when you do a major version upgrade, the application won't behave correctly, as schema changes to the application database could cause problems for nodes that are still running the older version of Metabase. +1. Reduce the number of nodes to a single node. You can't upgrade all nodes at the same time because the upgrade process works by acquiring a migration lock on the application database from a single client, which performs the migration. If you keep more than one node active when you do a major version upgrade, the application won't behave correctly, as schema changes to the application database could cause problems for nodes that are still running the older version of Metabase. 2. Perform the upgrade as normal (as outlined above). 3. Raise the number of nodes to the same number you had before. diff --git a/_docs/v0.57/permissions/impersonation.md b/_docs/v0.57/permissions/impersonation.md index a1d8872fa..70ce6998b 100644 --- a/_docs/v0.57/permissions/impersonation.md +++ b/_docs/v0.57/permissions/impersonation.md @@ -22,7 +22,7 @@ This page covers the [View data](./data#view-data-permissions) permission level For now, impersonation access is only available for the following databases: - ClickHouse - MySQL -- PostgreSQL. If you're using views in PostgresSQL, the row-level security policies on views will only work on Postgres versions 15 and higher. +- PostgreSQL. If you're using views in PostgreSQL, the row-level security policies on views will only work on Postgres versions 15 and higher. - Redshift - Snowflake - SQL Server @@ -186,6 +186,6 @@ Blue group's more permissive access would override the impersonated access. Admins won't ever see the effects of impersonation effects, because their privileges will override those of any other group they're a member of. -Metabase's default Administrators group has "Can view" access to all databases, and Metabase uses the most permissive access for any person in multple groups, so any admin will have "Can view" - not "Impersonated" - access to the database. +Metabase's default Administrators group has "Can view" access to all databases, and Metabase uses the most permissive access for any person in multiple groups, so any admin will have "Can view" - not "Impersonated" - access to the database. To test impersonation, create a test user, assign them a user attribute with the database role, and add them to the impersonated group. Then, log in as the test user and verify the data access. diff --git a/_docs/v0.57/permissions/row-and-column-security-examples.md b/_docs/v0.57/permissions/row-and-column-security-examples.md index 57f3adf17..6b1a1083b 100644 --- a/_docs/v0.57/permissions/row-and-column-security-examples.md +++ b/_docs/v0.57/permissions/row-and-column-security-examples.md @@ -102,7 +102,7 @@ Here are the results: We'll call this question "Filtered people table". Save it to the "Admins collection" you created in the setup (or any collection that only Admins have access to). -2. **Use a SQL question to create a custom view for this table**: We'll go to the Permissions section and grant this group row and column secuity to this table. This time we'll select the second option, "Use a saved question to create a custom view for this table", and select the question we just created ("Filtered people table"), like so: +2. **Use a SQL question to create a custom view for this table**: We'll go to the Permissions section and grant this group row and column security to this table. This time we'll select the second option, "Use a saved question to create a custom view for this table", and select the question we just created ("Filtered people table"), like so: ![Using a question to create a custom view](images/question-modal.png) diff --git a/_docs/v0.57/permissions/row-and-column-security.md b/_docs/v0.57/permissions/row-and-column-security.md index 1e6fce46b..f2c59e727 100644 --- a/_docs/v0.57/permissions/row-and-column-security.md +++ b/_docs/v0.57/permissions/row-and-column-security.md @@ -281,7 +281,7 @@ To prevent the Email column from being exposed via a SQL question: ### Public sharing -Row and column security permissions don't apply to public questions or public dashboards. If somone in an unsecured group creates a public link using an original table, the original table will be displayed to anyone who has the public link URL. +Row and column security permissions don't apply to public questions or public dashboards. If someone in an unsecured group creates a public link using an original table, the original table will be displayed to anyone who has the public link URL. To prevent this from happening, you'll have to [disable public sharing](../embedding/public-links) for your Metabase. diff --git a/_docs/v0.57/questions/alerts.md b/_docs/v0.57/questions/alerts.md index 3d7405777..7f7f2c5dc 100644 --- a/_docs/v0.57/questions/alerts.md +++ b/_docs/v0.57/questions/alerts.md @@ -88,7 +88,7 @@ To create an alert when a time series crosses a goal line: - Whether you want Metabase to alert you every time the time series crosses a goal line, or only the first time it crosses the goal line. - How often you want Metabase to check to see if the goal line has been crossed. -7. Select the schedule and recepients for the alert, and click "Done" +7. Select the schedule and recipients for the alert, and click "Done" ## Progress bar alerts diff --git a/_docs/v0.57/questions/visualizations/map.md b/_docs/v0.57/questions/visualizations/map.md index ef193bc9f..5439c0e21 100644 --- a/_docs/v0.57/questions/visualizations/map.md +++ b/_docs/v0.57/questions/visualizations/map.md @@ -64,7 +64,7 @@ To change the pin type: - **Markers**. Maps display up to 1,000 markers. If you choose the marker pin type for results with more than 1,000 rows, Metabase will still only display 1,000 markers. Maps default to markers for results fewer then 1,000 rows. - **Tiles**. Maps display up to 2,000 tiles. Maps default to tiles for results greater than 1,000 rows. Tooltips will not be displayed for tiles. -By default, maps can't display more than 2,000 individual unaggregated data points, regardless of the pin type. This limit is the same for every chart displaying unaggregated data in Metabase. To increase the number of data points rendered on charts based on unaggregated queries, you can use the environment variable [`MB_UNAGGREGATED_QUERY_ROW_LIMIT`](../../configuring-metabase/environment-variables#mb_unaggregated_query_row_limit). This setting will affect data points on _all_ charts—not just the pin maps—so increasing the limit too much could significantly slow down your Metabase and your browswer. +By default, maps can't display more than 2,000 individual unaggregated data points, regardless of the pin type. This limit is the same for every chart displaying unaggregated data in Metabase. To increase the number of data points rendered on charts based on unaggregated queries, you can use the environment variable [`MB_UNAGGREGATED_QUERY_ROW_LIMIT`](../../configuring-metabase/environment-variables#mb_unaggregated_query_row_limit). This setting will affect data points on _all_ charts—not just the pin maps—so increasing the limit too much could significantly slow down your Metabase and your browser. If you need to display a large number of geographic data points, consider using a grid map to display the distribution instead. diff --git a/_docs/v0.57/troubleshooting-guide/ldap.md b/_docs/v0.57/troubleshooting-guide/ldap.md index 13d0ffcf9..ec9fd1f09 100644 --- a/_docs/v0.57/troubleshooting-guide/ldap.md +++ b/_docs/v0.57/troubleshooting-guide/ldap.md @@ -64,7 +64,7 @@ networks: driver: bridge ``` -If you don't pass environment variables to Metabase and you want to configure the environment manually, you can go to the Admin Panel, selectin "Settings", select "Authentication", and then select "LDAP Configuration" and enter the following values: +If you don't pass environment variables to Metabase and you want to configure the environment manually, you can go to the Admin Panel, select "Settings", select "Authentication", and then select "LDAP Configuration" and enter the following values: - `USERNAME OR DN`: `cn=admin,dc=example,dc=org` - `PASSWORD`: `adminpassword` diff --git a/_docs/v0.57/troubleshooting-guide/timezones.md b/_docs/v0.57/troubleshooting-guide/timezones.md index e1a76a4e1..10f3acde6 100644 --- a/_docs/v0.57/troubleshooting-guide/timezones.md +++ b/_docs/v0.57/troubleshooting-guide/timezones.md @@ -47,7 +47,7 @@ Once you think you have identified a problem, drill down to understand exactly w ## Is the Report Time Zone set incorrectly? -**Root cause:** Wrong numbers in questions or charts can be caused by a mis-match in the time zone being used by Metabase and the time zone being used by the data warehouse. +**Root cause:** Wrong numbers in questions or charts can be caused by a mismatch in the time zone being used by Metabase and the time zone being used by the data warehouse. **Steps to take:** diff --git a/_site/docs/v0.57/configuring-metabase/environment-variables.html b/_site/docs/v0.57/configuring-metabase/environment-variables.html index d3397d926..f285a7a4f 100644 --- a/_site/docs/v0.57/configuring-metabase/environment-variables.html +++ b/_site/docs/v0.57/configuring-metabase/environment-variables.html @@ -7557,7 +7557,7 @@

M

When using the appdb engine against postgresql, override the language used for stemming in to_tsvector. - Value must be a valid configured langauge option in your database such as ‘english’ or ‘simple’.

+ Value must be a valid configured language option in your database such as ‘english’ or ‘simple’.

MB_SEARCH_TYPEAHEAD_ENABLED

diff --git a/_site/docs/v0.57/configuring-metabase/localization.html b/_site/docs/v0.57/configuring-metabase/localization.html index 70fc750a8..d4fc1a1f8 100644 --- a/_site/docs/v0.57/configuring-metabase/localization.html +++ b/_site/docs/v0.57/configuring-metabase/localization.html @@ -5774,7 +5774,7 @@

Currency

Localizing embedded Metabase

-

You can tranlate both Metabase UI elements (like button labels) and content (like dashboard names) in static embeds. See Setting the language for static embeds and Translating embedded dashboards and questions.

+

You can translate both Metabase UI elements (like button labels) and content (like dashboard names) in static embeds. See Setting the language for static embeds and Translating embedded dashboards and questions.

diff --git a/_site/docs/v0.57/data-modeling/json-unfolding.html b/_site/docs/v0.57/data-modeling/json-unfolding.html index bfd995509..6114b5590 100644 --- a/_site/docs/v0.57/data-modeling/json-unfolding.html +++ b/_site/docs/v0.57/data-modeling/json-unfolding.html @@ -5547,7 +5547,7 @@

Toggling JSON unfolding f
  • Select the database that contains the field you want to update.
  • Select the table that contains the field.
  • Select the field containing the original JSON
  • -
  • In the Behavior section, locate the Unfold JSON option and select Yes or No. If the column was unfolded, Metabase will have hidden this JSON columnn from view, so if you want the JSON column to be visible again, you’ll need to change the column’s visibility to Everywhere.
  • +
  • In the Behavior section, locate the Unfold JSON option and select Yes or No. If the column was unfolded, Metabase will have hidden this JSON column from view, so if you want the JSON column to be visible again, you’ll need to change the column’s visibility to Everywhere.
  • Scroll to the top and click the Filter values button and select Re-scan this field.
  • diff --git a/_site/docs/v0.57/databases/ssl-certificates.html b/_site/docs/v0.57/databases/ssl-certificates.html index dcf81cf77..5fa11eb47 100644 --- a/_site/docs/v0.57/databases/ssl-certificates.html +++ b/_site/docs/v0.57/databases/ssl-certificates.html @@ -5558,7 +5558,7 @@

    Step 5: Add additional
    sslmode=verify-full&sslrootcert=/path/to/certificate.pem
     
    -

    Replace /path/to/certifcate.pem with the full path for the certificate you downloaded from your provider.

    +

    Replace /path/to/certificate.pem with the full path for the certificate you downloaded from your provider.

    You can learn more about SSL support for PostgreSQL.

    diff --git a/_site/docs/v0.57/databases/users-roles-privileges.html b/_site/docs/v0.57/databases/users-roles-privileges.html index a4f93f128..2ebba56f6 100644 --- a/_site/docs/v0.57/databases/users-roles-privileges.html +++ b/_site/docs/v0.57/databases/users-roles-privileges.html @@ -5559,7 +5559,7 @@

    Minimum database privileges

    -- GRANT SELECT ON "your_table" IN SCHEMA "your_schema" TO analytics;
    -

    Depending on how you use Metabase, you can also additonally grant:

    +

    Depending on how you use Metabase, you can also additionally grant:

    • TEMPORARY privileges to create temp tables.
    • diff --git a/_site/docs/v0.57/developers-guide/api-changelog.html b/_site/docs/v0.57/developers-guide/api-changelog.html index 9dc88072e..2471d5008 100644 --- a/_site/docs/v0.57/developers-guide/api-changelog.html +++ b/_site/docs/v0.57/developers-guide/api-changelog.html @@ -5605,7 +5605,7 @@

      Metabase 0.52.0

    • GET /:id/fields now includes the Table ID.

    • -
    • APIs under /api/pulse and /api/alert will be removed in a future version as we’re tranitioning to a new architecture.
    • +
    • APIs under /api/pulse and /api/alert will be removed in a future version as we’re transitioning to a new architecture.

    Metabase 0.51.0

    diff --git a/_site/docs/v0.57/developers-guide/devenv.html b/_site/docs/v0.57/developers-guide/devenv.html index 230a2cfb6..3e4d2de90 100644 --- a/_site/docs/v0.57/developers-guide/devenv.html +++ b/_site/docs/v0.57/developers-guide/devenv.html @@ -5660,7 +5660,7 @@

    The application database

    "-Dmb.db.pass="]}}} -

    You could also pass a full conection string in as the mb.db.connection.uri:

    +

    You could also pass a full connection string in as the mb.db.connection.uri:

    "-Dmb.db.connection.uri=postgres://<user>:<password>@localhost:5432/<dbname>"
     
    diff --git a/_site/docs/v0.57/developers-guide/driver-changelog.html b/_site/docs/v0.57/developers-guide/driver-changelog.html index 7442ccf86..3a43f9b47 100644 --- a/_site/docs/v0.57/developers-guide/driver-changelog.html +++ b/_site/docs/v0.57/developers-guide/driver-changelog.html @@ -5704,7 +5704,7 @@

    Metabase 0.54.12

    Metabase 0.54.11

      -
    • The multimethods metabase.driver.sql-jdbc.sync.interface/active-tables and metabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas, aswell as the functions +
    • The multimethods metabase.driver.sql-jdbc.sync.interface/active-tables and metabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas, as well as the functions metabase.driver.sql-jdbc.sync.describe_database/fast-active-tables, metabase.driver.sql-jdbc.sync.describe_database/have-select-privilege-fn and metabase.driver.sql-jdbc.sync.describe_database/db-tables now take a database spec instead of a java.sql.Connection object.
    @@ -5712,7 +5712,7 @@

    Metabase 0.54.10

    • Add metabase.driver/table-known-to-not-exist? for drivers to test if an exception is due to a query on a table that no longer exists
    • -
    • Add metabase.driver.sql-jdbc/impl-table-known-to-not-exist? for JDBC drivers. This is the implemenation of table-known-to-not-exist for jdbc and allows testing directly against java.sql.SQLException throwables without worrying about the exception cause chain.
    • +
    • Add metabase.driver.sql-jdbc/impl-table-known-to-not-exist? for JDBC drivers. This is the implementation of table-known-to-not-exist for jdbc and allows testing directly against java.sql.SQLException throwables without worrying about the exception cause chain.

    Metabase 0.54.0

    @@ -5760,7 +5760,7 @@

    Metabase 0.53.12

    • Add metabase.driver/query-canceled? for drivers to test if an exception is due to a query being canceled due to user action
    • -
    • Add metabase.driver.sql-jdbc/impl-query-canceled? for JDBC drivers. This is the implemenation of query-canceled for jdbc and allows testing directly against java.sql.SQLException throwables without worrying about the exception cause chain.
    • +
    • Add metabase.driver.sql-jdbc/impl-query-canceled? for JDBC drivers. This is the implementation of query-canceled for jdbc and allows testing directly against java.sql.SQLException throwables without worrying about the exception cause chain.

    Metabase 0.53.10

    @@ -6322,7 +6322,7 @@

    Metabase 0.47.0

    be restricted at the database level instead of (or in conjunction with) Metabase’s built-in permissions system.

  • -

    The multimethod metabase.driver.sql-jdbc.sync.describe-table/get-table-pks is changed to return a vector instea +

    The multimethod metabase.driver.sql-jdbc.sync.describe-table/get-table-pks is changed to return a vector instead of a set.

  • @@ -6537,8 +6537,8 @@

    Getting connection properti

    Tells Metabase to look for the environment variable MB_MYSQL_TEST_USER; if not found, default to "root". The name of the environment variable follows the pattern MB_<driver>_TEST_<property>, as passed into the function as first and second args, respectively. You don’t need to specify a default value for tx/db-test-env-var; perhaps user is an optional parameter; and if MB_MYSQL_TEST_USER isn’t specified, you don’t need to specify it in the connection details.

    -

    But what about properties you want to require, but do not have sane defaults? In those cases, you can use tx/db-test-env-var-or-throw. It the corresponding enviornment variable isn’t set, these will throw an Exception, ultimately causing tests to fail.

    +

    But what about properties you want to require, but do not have sane defaults? In those cases, you can use tx/db-test-env-var-or-throw. It the corresponding environment variable isn’t set, these will throw an Exception, ultimately causing tests to fail.

    ;; If MB_SQLSERVER_TEST_USER is unset, the test suite will quit with a message saying something like
     ;; "MB_SQLSERVER_TEST_USER is required to run tests against :sqlserver"
    @@ -5677,7 +5677,7 @@ 

    Other Test Extensions

    There’s a few other things Metabase needs to know when comparing test results. For example, different databases name tables and columns in different ways; methods exist to let Metabase know it should expect something like the venues table in the test-data Database Definition to come back as VENUES for a database that uppercases everything. (We consider such minor variations in naming to still mean the same thing.) Take a look at tx/format-name and other methods like that and see which ones you need to implement.

    -

    What about DBMSes that don’t let you create new databases programatically?

    +

    What about DBMSes that don’t let you create new databases programmatically?

    This is actually a common problem, and luckily we have figured out how to work around it. The solution is usually something like using different schemas in place of different databases, or prefixing table names with the database name, and creating everything in the same database. For SQL-based databases, you can implement sql.tx/qualified-name-components to have tests use a different identifier instead of what they would normally use, for example "shared_db"."test-data_venues".id instead of "test-data".venues.id. The SQL Server and Oracle test extensions are good examples of such black magic in action.

    diff --git a/_site/docs/v0.57/developers-guide/drivers/plugins.html b/_site/docs/v0.57/developers-guide/drivers/plugins.html index b92739095..04e0fc51f 100644 --- a/_site/docs/v0.57/developers-guide/drivers/plugins.html +++ b/_site/docs/v0.57/developers-guide/drivers/plugins.html @@ -5646,7 +5646,7 @@

    The Metabase plugin manifest ref # Whether loading this driver can be deferred until the first # attempt to connect to a database of this type. Default: true. Only - # set this to false if absolutely neccesary. + # set this to false if absolutely necessary. lazy-load: true # Parent driver, if any. diff --git a/_site/docs/v0.57/developers-guide/e2e-tests.html b/_site/docs/v0.57/developers-guide/e2e-tests.html index ea8ac6ff2..3e7d1edf6 100644 --- a/_site/docs/v0.57/developers-guide/e2e-tests.html +++ b/_site/docs/v0.57/developers-guide/e2e-tests.html @@ -5494,7 +5494,7 @@

    Other resources

    End-to-end tests with Cypress

    -

    Metabase uses Cypress for “end-to-end testing”, that is, tests that are executed against the application as a whole, including the frontend, backend, and application database. These tests are essentially scripts written in JavaScript that run in the web browser: visit different URLs, click various UI elements, type text, and assert that things happen as expected (for example, an element appearing on screen, or a network request occuring).

    +

    Metabase uses Cypress for “end-to-end testing”, that is, tests that are executed against the application as a whole, including the frontend, backend, and application database. These tests are essentially scripts written in JavaScript that run in the web browser: visit different URLs, click various UI elements, type text, and assert that things happen as expected (for example, an element appearing on screen, or a network request occurring).

    Please, get familiar with the Cypress best practices before you proceed.

    @@ -5650,8 +5650,6 @@

    Testing with Snowplow

    We have a few helpers for dealing with tests involving snowplow

      -
    1. You can use describeWithSnowplow (or describeWithSnowplowEE for EE edition) method to define tests that only -run when a Snowplow instance is running
    2. Use resetSnowplow() test helper before each test to clear the queue of processed events.
    3. Use expectSnowplowEvent({ ...payload }, count=n) to assert that exactly count snowplow events match (partially) the payload provided (count defaults to 1)
    4. diff --git a/_site/docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html b/_site/docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html deleted file mode 100644 index d1a723024..000000000 --- a/_site/docs/v0.57/embedding/sdk/api/MetabaseEmbeddingSessionToken.html +++ /dev/null @@ -1,32 +0,0 @@ -MetabaseEmbeddingSessionToken | Embedded analytics SDK API - - - - - - - - - - - - - - - - - - - - - - - - -

      Type Alias MetabaseEmbeddingSessionToken

      type MetabaseEmbeddingSessionToken = {
          exp?: number | null;
          id: string;
      }
      Index

      Properties

      exp? -id -

      Properties

      exp?: number | null

      (EMB-829) This is a temporary type. After we disallowed token without expiration, -we will remove make it a non-optional number again.

      -
      id: string

      - - \ No newline at end of file diff --git a/_site/docs/v0.57/embedding/sdk/api/assets/navigation.js b/_site/docs/v0.57/embedding/sdk/api/assets/navigation.js index 17ae280bb..ba5d41c03 100644 --- a/_site/docs/v0.57/embedding/sdk/api/assets/navigation.js +++ b/_site/docs/v0.57/embedding/sdk/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJylWsty3DYQ/BeeVanEFTsV3aSVlFiWE8Ur2QeXD1hyvEQWBGhwqI3s8r+nsC+CwOBB+iQVuqcbgzfA/fitQPgPi/NioYSAErmSl1ptO9DFWVHWXFQaZHH+McprGdYU9FONjSjOig2XVXH+6tfvZ2GZe63aLqK1w8eCL16++v7J1tTAEK5YV68U09VbVTERyoKmHs0JNJYLQXfTCVFyMvqnh860RDQXizTyPJa79T8rSsG6rjgvKmg1lAyhKoLWZDojMJ7IKfNADtcVR7YSYPMOXh4U6YnXEkGzEvkTpUShEbElMuQloeMAEQmv7k470rjflPEMHdEgJabr5ORIUmi8w61KJIYvzfRzCQ1ke5RpLsRDrVW/rgMjN0jJbPRjjOk5pS97RM8ihz3LLddnjkNae47q8e8SELlcd1datZXaZrhFI2fW4j3veib4V5aXcDhsov876ABzh4pLnui1ZMP/N0o3aUMyYqLrA0cBaauBFl2Kqk1gVLrIxFpesnKT2w0O13H6+ffffnn5IuGmgW1Uj/ljnoyY4byomcaH5xbyremQH/Fegjm/5SxadMgM7yu1lUKx6gOv1jCh3SNxP1yLqe5zXW+4QND5ORP82a65bnNd3L1g+u4x19msjbkrhsOd49Y3DdP864R5S4fQ3vbx7C0gW7HOLMZPvApe9ir4zCUcyRc91gslP/P1UKcQI3JKI7wPYi4yQcRpKhKObRexHFPZ+Z3rR3zgWF+0/A08x3QH1jyH2y2m5G+3OE97yRqREjeczMGnMHEv8Fm29QCkBsnApMaIg8YvNftrUKLeHml0h8qo9ZhI3sQm1FlhHZze1GasmlZJkJjYs0+0nEm1UEJpYnbuy3MUAqPAQnJUHmpowJfYFacvx7EmCjFiquTGMmEH2Z2bdk1oPcycypLR7gPbHe9MZN/I2DOcxUo69B2q5vRosDDvXiD71wiNZRAmpfRHQXsdXz9CmqRvggKqBpqsta/KtYAGJEaER7wcF7qZXSSldN2soKq4XF9L5PhsTufWq5UPJvVOzP1R8A08289gBJo8P5VK/sXs6XwsSUXeqTWXZsL2VhWswtztcSF4ubko6WXJAmfo3Yt+zWUXOoiEmNlOp1lNrskHbLraeMzReL7qYQ0NLNpjPFeVeM31oMlaid6iefkuyO4Vl/j36l8oieOdQ8jVPU3iJXSdeZtRGyCGA0nL9bgBLOt38MVsi7vAG8KBIGXrK4k3rOGCOFQPWK7aH0KtmEh0JkHK1U8oz9J87Kj706P37c1XuGeaNYCg3zPRg7USOkBKZ1ltrAlufyUZAxk6p4niyFjlU1TuFKuun0bbKwlnaO43KKdax8KceK2VPq1YY5URNFnLfyEl8BxV0xJ/MlkJ0N4QpfEM1eOB2Gm5oXiCBvXGTMIZmmaCOHXaFyVjv4jgxPGxlJrxNA/NIKvbLb6DrlWys/Y6Gk9fsPsOLtpW8HL3yeJwSqIugCTxYO5j3p3V9XxiXJjPmWbt7SKWLs9yHEEpQ+er+kXLw6YkdzD24fwP/u5AIOH4Ld3UoNcaJD6Gf3rhkazqD+WpRrNfbk6n4IAdyR1cfZgw//Q/B1YG/Q==" \ No newline at end of file +window.navigationData = "eJylWtty2zYQ/Rc+ezpppkmnfrNlqYnjtK4lJw+ZPEDkRkQFAgy4tOpk8u8d6kYQWFzIPCWDc/YcLLS40p++Zwj/YXaZzZQQkCNX8lqrXQM6u8jykotCg8wuPwV5NcOSgn4psRLZRbblssguX//248Ivc69V3QS09vhQ8OWr1z8+m5oaGMINa8q1Yrp4rwomfFnQ1JM5gYZyIeh2Oj5KSkb/tNB0IxHMxSANPE/tdv8vslywpskuswJqDTlDKDKvNZnOAAwncs7ck8O84MjWAkze0cuBAr/EW4mgWY78iVKi0IDYEhnynNCxgICE03drHGncHcpwhpaolxLStXKyJCk0/IMbnYiUL810c/EVslllmguxKrVqN6Wncr2UxEE/xXS/nNLXLaJjkcKe5JbqM8Uhrj1F9fTvEhC53DQ3WtWF2iW4BSMn9uIDb1om+DeWlrA/bKT/AzSAqaVik0d6LVn//4XSVdyQjBjpuuIoIG7V04JLUbH1VKWNjOzlNcu3qT+DxbWcXvzx+6+vXkbcNLCtajG95smICc6zkmlcPdeQbk2H/Iz3ErrzW8qiRYdM8L5ROykUKz7yYgMjxj0Q99O9GOs+1XXBBYJOz5ngT3ZNdZvqYu8F43ePqc7d2pi6YljcKW5tVTHNv42Yt3QI7W0ez94DsjVrusX4iRfey14BX7iEE/mqxXKm5Be+6fvkYwROaYT3UcxGRohYQ0XCoe0ilGMsO/fHdSM+ciyvav4OnkO6PWuaw+0OY/K3O5ymvWSViIl3nMTiUxi5F7gs07oHYkXSM6kasdDwpeZwDYr02yEN7lAJvR4SyZvYiD4rLL3Tm9qMVVUrCRIje/aZljKpZkooTczOQ3uKgqcKDCRFZVVCBa7Evjl+OQ4NkY8RUiU3lhE7yP7ctB9C42Hm3BaNth/Y7njTRbaVDD3DGayoQ9ugqs6PBrPu3Qtk+xahMgz8pJj+IOig4+oHSKP0uyCPageN1jp0ZS6gAokB4QEvxYUeZhuJKc2rNRQFl5u5RI7P3enceLVywajemXk4Cr6DZ/MZjECj56dcyb+YOZ1PLbHIO7XhspuwrdEFozF1e5wJnm+vcnpZMsAJevei3XDZ+A4iPmay03lWk2vyERuvNqw5Gk9XPa6hnkV7iKeqEq+5DjRaK/Jr0bx0F2T3ikv8e/0v5MTxziKk6i4A8/IBvnZb1kptQS6IYiBIyfpK4oJVXBAH3h5LVftTqDUTkYEmSKn6EeVJmo8Ndbd5dL6LuQr3TLMKEPQHJlowVikLiOksi60x+cwvGEMgQedcxJaM0T5G5U6xYv402PpIOEHzsHlY3To1psRrrfR5NRmqDKDRWu7rJYGnqHYj8YbJQoB2SpTGE1RPh1Vr5PrmERrU+y8JJ2h2E8Tq06EpGvtVeCeOi8XUOs/uERhkcbvDB2hqJRtjH6Lx+OW3beCqrgXP958TjicY6nJGEo/mLubcJ23PJ8ZF96mxW3ubgKXNMxwHUMzQ+uJ9VXO/KcntjV04/WO8XQgkHL5Bdz1otQaJj/4/i3BIRvf79tigma8q5xOqx47k9q4uTJh//h/xMeP/" \ No newline at end of file diff --git a/_site/docs/v0.57/embedding/sdk/api/assets/search.js b/_site/docs/v0.57/embedding/sdk/api/assets/search.js index efdb90221..0b9352c0f 100644 --- a/_site/docs/v0.57/embedding/sdk/api/assets/search.js +++ b/_site/docs/v0.57/embedding/sdk/api/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/_site/docs/v0.57/embedding/sdk/api/index.html b/_site/docs/v0.57/embedding/sdk/api/index.html index fdc33964d..d0a5d877a 100644 --- a/_site/docs/v0.57/embedding/sdk/api/index.html +++ b/_site/docs/v0.57/embedding/sdk/api/index.html @@ -23,6 +23,6 @@ -

      Embedded analytics SDK API

      CollectionBrowser

      CollectionBrowser
      CollectionBrowserProps

      CreateDashboardModal

      CreateDashboardModal
      CreateDashboardModalProps

      CreateQuestion

      CreateQuestion
      CreateQuestionProps

      Dashboard

      EditableDashboard
      InteractiveDashboard
      StaticDashboard
      EditableDashboardProps
      InteractiveDashboardProps
      StaticDashboardProps

      InteractiveQuestion

      InteractiveQuestion
      DrillThroughQuestionProps
      InteractiveQuestionEditorButtonProps
      InteractiveQuestionEditorProps
      InteractiveQuestionProps
      InteractiveQuestionQuestionSettingsDropdownProps
      InteractiveQuestionQuestionVisualizationProps
      InteractiveQuestionResetButtonProps
      InteractiveQuestionSaveQuestionFormProps
      InteractiveQuestionTitleProps
      SdkQuestionProps
      InteractiveQuestionBackButtonProps
      InteractiveQuestionBreakoutDropdownProps
      InteractiveQuestionChartTypeDropdownProps
      InteractiveQuestionChartTypeSelectorProps
      InteractiveQuestionDownloadWidgetDropdownProps
      InteractiveQuestionDownloadWidgetProps
      InteractiveQuestionFilterDropdownProps
      InteractiveQuestionFilterProps
      InteractiveQuestionQuestionSettingsProps
      InteractiveQuestionSaveButtonProps
      InteractiveQuestionSummarizeDropdownProps

      MetabaseProvider

      defineMetabaseAuthConfig
      MetabaseProvider
      MetabaseProviderProps
      MetabaseAuthConfig
      MetabaseAuthConfigWithApiKey
      MetabaseAuthConfigWithJwt
      MetabaseAuthConfigWithSaml

      MetabotQuestion

      MetabotQuestion
      MetabotQuestionProps

      StaticQuestion

      StaticQuestion
      StaticQuestionProps

      other

      InteractiveQuestionComponents
      MetabaseColors
      MetabaseQuestion
      MetabaseTheme
      StaticQuestionComponents
      ButtonProps
      ChartColor
      CollectionBrowserListColumns
      CustomDashboardCardMenuItem
      DashboardCardCustomMenuItem
      DashboardCardMenu
      DashboardCardMenuCustomElement
      DashCardMenuItem
      EmbeddingEntityType
      EntityTypeFilterKeys
      IconName
      LoginStatus
      MetabaseClickAction
      MetabaseClickActionPluginsConfig
      MetabaseCollection
      MetabaseCollectionItem
      MetabaseComponentTheme
      MetabaseDashboard
      MetabaseDashboardPluginsConfig
      MetabaseDataPointObject
      MetabaseEmbeddingSessionToken
      MetabaseFetchRequestTokenFn
      MetabaseFontFamily
      MetabaseGlobalPluginsConfig
      MetabasePluginsConfig
      MetabaseUser
      ParameterValues
      SdkCollectionId
      SdkDashboardId
      SdkDashboardLoadEvent
      SdkEntityId
      SdkErrorComponent
      SdkErrorComponentProps
      SdkEventHandlersConfig
      SdkQuestionId
      SdkQuestionTitleProps
      SdkUserId
      SqlParameterValues
      UserBackendJwtResponse

      useApplicationName

      useApplicationName

      useAvailableFonts

      useAvailableFonts

      useCreateDashboardApi

      useCreateDashboardApi
      CreateDashboardValues

      useCurrentUser

      useCurrentUser

      useMetabaseAuthStatus

      useMetabaseAuthStatus

      +

      Embedded analytics SDK API

      CollectionBrowser

      CollectionBrowser
      CollectionBrowserProps

      CreateDashboardModal

      CreateDashboardModal
      CreateDashboardModalProps

      CreateQuestion

      CreateQuestion
      CreateQuestionProps

      Dashboard

      EditableDashboard
      InteractiveDashboard
      StaticDashboard
      EditableDashboardProps
      InteractiveDashboardProps
      StaticDashboardProps

      InteractiveQuestion

      InteractiveQuestion
      DrillThroughQuestionProps
      InteractiveQuestionEditorButtonProps
      InteractiveQuestionEditorProps
      InteractiveQuestionProps
      InteractiveQuestionQuestionSettingsDropdownProps
      InteractiveQuestionQuestionVisualizationProps
      InteractiveQuestionResetButtonProps
      InteractiveQuestionSaveQuestionFormProps
      InteractiveQuestionTitleProps
      SdkQuestionProps
      InteractiveQuestionBackButtonProps
      InteractiveQuestionBreakoutDropdownProps
      InteractiveQuestionChartTypeDropdownProps
      InteractiveQuestionChartTypeSelectorProps
      InteractiveQuestionDownloadWidgetDropdownProps
      InteractiveQuestionDownloadWidgetProps
      InteractiveQuestionFilterDropdownProps
      InteractiveQuestionFilterProps
      InteractiveQuestionQuestionSettingsProps
      InteractiveQuestionSaveButtonProps
      InteractiveQuestionSummarizeDropdownProps

      MetabaseProvider

      defineMetabaseAuthConfig
      MetabaseProvider
      MetabaseProviderProps
      MetabaseAuthConfig
      MetabaseAuthConfigWithApiKey
      MetabaseAuthConfigWithJwt
      MetabaseAuthConfigWithSaml

      MetabotQuestion

      MetabotQuestion
      MetabotQuestionProps

      StaticQuestion

      StaticQuestion
      StaticQuestionProps

      other

      InteractiveQuestionComponents
      MetabaseColors
      MetabaseQuestion
      MetabaseTheme
      StaticQuestionComponents
      ButtonProps
      ChartColor
      CollectionBrowserListColumns
      CustomDashboardCardMenuItem
      DashboardCardCustomMenuItem
      DashboardCardMenu
      DashboardCardMenuCustomElement
      DashCardMenuItem
      EmbeddingEntityType
      EntityTypeFilterKeys
      IconName
      LoginStatus
      MetabaseClickAction
      MetabaseClickActionPluginsConfig
      MetabaseCollection
      MetabaseCollectionItem
      MetabaseComponentTheme
      MetabaseDashboard
      MetabaseDashboardPluginsConfig
      MetabaseDataPointObject
      MetabaseFetchRequestTokenFn
      MetabaseFontFamily
      MetabaseGlobalPluginsConfig
      MetabasePluginsConfig
      MetabaseUser
      ParameterValues
      SdkCollectionId
      SdkDashboardId
      SdkDashboardLoadEvent
      SdkEntityId
      SdkErrorComponent
      SdkErrorComponentProps
      SdkEventHandlersConfig
      SdkQuestionId
      SdkQuestionTitleProps
      SdkUserId
      SqlParameterValues
      UserBackendJwtResponse

      useApplicationName

      useApplicationName

      useAvailableFonts

      useAvailableFonts

      useCreateDashboardApi

      useCreateDashboardApi
      CreateDashboardValues

      useCurrentUser

      useCurrentUser

      useMetabaseAuthStatus

      useMetabaseAuthStatus

      \ No newline at end of file diff --git a/_site/docs/v0.57/embedding/sdk/dashboards.html b/_site/docs/v0.57/embedding/sdk/dashboards.html index f811e5e45..e3235d179 100644 --- a/_site/docs/v0.57/embedding/sdk/dashboards.html +++ b/_site/docs/v0.57/embedding/sdk/dashboards.html @@ -6058,7 +6058,7 @@

      Options

      CreateDashboardModal

      -

      API Refernce

      +

      API Reference

      • Component
      • diff --git a/_site/docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.html b/_site/docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.html index 90d9549b1..775f56f25 100644 --- a/_site/docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.html +++ b/_site/docs/v0.57/installation-and-operation/creating-RDS-database-on-AWS.html @@ -5543,7 +5543,7 @@

        Set up security

        RDS DB Identifier

        -

        On the page that appears after you click on the database identifer, you will see on the center of the page the Connectivity & Security section. This section will provide you with the Endpoint that Metabase needs to connect to the application database we just created.

        +

        On the page that appears after you click on the database identifier, you will see on the center of the page the Connectivity & Security section. This section will provide you with the Endpoint that Metabase needs to connect to the application database we just created.

        RDS Connection Data

        diff --git a/_site/docs/v0.57/installation-and-operation/development-instance.html b/_site/docs/v0.57/installation-and-operation/development-instance.html index 9f106b312..9c5c056c0 100644 --- a/_site/docs/v0.57/installation-and-operation/development-instance.html +++ b/_site/docs/v0.57/installation-and-operation/development-instance.html @@ -5523,7 +5523,7 @@

        Development instances

        On Pro and Enterprise plans, you can purchase a development instance or development token as an add-on to your plan.

          -
        • Self-hosted: you can purchase a dev token so you don’t get billed for every test user acccount. You can use the same dev token for one or more self-hosted development instances (meaning: you can reuse the same token for multiple dev instances at no additional cost). The development token will have access to the same set of paid features as your production token.
        • +
        • Self-hosted: you can purchase a dev token so you don’t get billed for every test user account. You can use the same dev token for one or more self-hosted development instances (meaning: you can reuse the same token for multiple dev instances at no additional cost). The development token will have access to the same set of paid features as your production token.
        • Cloud: you can purchase a development instance hosted on Metabase Cloud. The development instance will have access to the same set of paid features as your production token.
        diff --git a/_site/docs/v0.57/installation-and-operation/images/development-settings.png b/_site/docs/v0.57/installation-and-operation/images/development-settings.png deleted file mode 100644 index 36d41f682..000000000 Binary files a/_site/docs/v0.57/installation-and-operation/images/development-settings.png and /dev/null differ diff --git a/_site/docs/v0.57/installation-and-operation/images/production-settings.png b/_site/docs/v0.57/installation-and-operation/images/production-settings.png deleted file mode 100644 index d4c6cb463..000000000 Binary files a/_site/docs/v0.57/installation-and-operation/images/production-settings.png and /dev/null differ diff --git a/_site/docs/v0.57/installation-and-operation/images/production-view.png b/_site/docs/v0.57/installation-and-operation/images/production-view.png deleted file mode 100644 index 1051bc81a..000000000 Binary files a/_site/docs/v0.57/installation-and-operation/images/production-view.png and /dev/null differ diff --git a/_site/docs/v0.57/installation-and-operation/images/read-only-settings.png b/_site/docs/v0.57/installation-and-operation/images/read-only-settings.png new file mode 100644 index 000000000..b06404215 Binary files /dev/null and b/_site/docs/v0.57/installation-and-operation/images/read-only-settings.png differ diff --git a/_site/docs/v0.57/installation-and-operation/images/read-only-view.png b/_site/docs/v0.57/installation-and-operation/images/read-only-view.png new file mode 100644 index 000000000..34f5ecf7b Binary files /dev/null and b/_site/docs/v0.57/installation-and-operation/images/read-only-view.png differ diff --git a/_site/docs/v0.57/installation-and-operation/images/read-write-settings.png b/_site/docs/v0.57/installation-and-operation/images/read-write-settings.png new file mode 100644 index 000000000..e70572795 Binary files /dev/null and b/_site/docs/v0.57/installation-and-operation/images/read-write-settings.png differ diff --git a/_site/docs/v0.57/installation-and-operation/remote-sync.html b/_site/docs/v0.57/installation-and-operation/remote-sync.html index ed0c50857..f10672e13 100644 --- a/_site/docs/v0.57/installation-and-operation/remote-sync.html +++ b/_site/docs/v0.57/installation-and-operation/remote-sync.html @@ -5527,11 +5527,11 @@

        How Remote Sync works

        Here’s a basic remote-sync workflow:

          -
        1. Create a dashboard in a Metabase configured in Development mode.
        2. +
        3. Create a dashboard in a Metabase configured in Read-write mode.
        4. Push it to a Git branch.
        5. Open a pull request for review.
        6. Merge the PR to production.
        7. -
        8. Your Metabase configured in Production mode automatically pulls in the changes.
        9. +
        10. Your Metabase configured in Read-only mode automatically pulls in the changes.

        We’ll cover setting up Remote Sync, an example dev-to-production workflow, branch management, and some other odds and ends.

        @@ -5541,11 +5541,11 @@

        Key concepts

        Remote sync has two modes for different roles:

          -
        • Development mode: Create and edit content. You can push and pull changes to and from your repository. Multiple Metabase instances can connect in Development mode, each working on different branches.
        • -
        • Production mode: Serves read-only content to users. Production instances only pull changes (typically from your main branch) and don’t allow direct editing of synced content. You can set up auto-sync to automatically pull approved changes every five minutes.
        • +
        • Read-write mode: Create and edit content. You can push and pull changes to and from your repository. Multiple Metabase instances can connect in Read-write mode, each working on different branches.
        • +
        • Read-only mode: Serves read-only content to users. Read-only instances only pull changes (typically from your main branch) and don’t allow direct editing of synced content. You can set up auto-sync to automatically pull approved changes every five minutes.
        -

        Only the synced collection is tracked: Each Metabase connected to Remote Sync has one special collection that syncs with Git. When you connect in Development mode, Metabase creates a collection called “Synced Collection” (you can rename it). Everything inside this collection (including sub-collections) is versioned and synchronized with your repository.

        +

        Only the synced collection is tracked: Each Metabase connected to Remote Sync has one special collection that syncs with Git. When you connect in Read-write mode, Metabase creates a collection called “Synced Collection” (you can rename it). Everything inside this collection (including sub-collections) is versioned and synchronized with your repository.

        The synced collection must be self-contained: Everything a dashboard or question needs must be inside the synced collection. Content outside the synced collection won’t sync to your repository or appear in other Metabase instances.

        @@ -5586,7 +5586,7 @@

        3. Connect your

        Development settings

        -

        You can put any Metabase into development mode. We also offer Development instances that you can use for Remote Sync or any other kind of development.

        +

        You can put any Metabase into Read-write mode. We also offer Development instances that you can use for Remote Sync or any other kind of development.

        In the Metabase instance that you use for development:

        @@ -5602,7 +5602,7 @@

        3. Connect your

    5. -

      Select Development mode.

      +

      Select Read-write mode.

    6. Add your access token:

      @@ -5622,7 +5622,7 @@

      3. Connect your

      4. Add an item to your synced collection

      -

      When you first connect in Development mode, Metabase automatically creates a synced collection called “Synced Collection”—any content you add to it will be tracked in Git and can be pushed to your repository.

      +

      When you first connect in Read-write mode, Metabase automatically creates a synced collection called “Synced Collection”—any content you add to it will be tracked in Git and can be pushed to your repository.

      You can rename the Synced Collection if you want, and you can add sub-collections within it to organize your content.

      @@ -5692,7 +5692,7 @@

      7. Connect your p

    7. -

      Select Production mode.

      +

      Select Read-only mode.

    8. Add your access token:

      @@ -5717,7 +5717,7 @@

      7. Connect your p

    -

    In Production mode, the synced collection appears in the regular collections list with a special icon to indicate it’s versioned and read-only.

    +

    In Read-only mode, the synced collection appears in the regular collections list with a special icon to indicate it’s versioned and read-only.

    Production Metabase

    @@ -5764,7 +5764,7 @@

    Step 5: Production automaticall
  • The content is read-only for users (they can view and use it, but can’t edit it).
  • -

    How the synced collection works in Development mode

    +

    How the synced collection works in Read-write mode

    • The synced collection in the UI
    • @@ -5774,13 +5774,13 @@

      How the synced coll

      The synced collection in the UI

      -

      When you first connect in Development mode, Metabase creates a synced collection called “Synced Collection”. You can add items and sub-collections to it. The synced collection shows its current state with visual indicators: a yellow dot indicates unsynced local changes that need to be committed, and up/down arrows provide sync controls for pulling and pushing changes.

      +

      When you first connect in Read-write mode, Metabase creates a synced collection called “Synced Collection”. You can add items and sub-collections to it. The synced collection shows its current state with visual indicators: a yellow dot indicates unsynced local changes that need to be committed, and up/down arrows provide sync controls for pulling and pushing changes.

      -

      In Production mode, the synced collection appears in the regular collections list (not in a separate “Synced Collections” section) with a special icon to indicate it’s versioned and read-only.

      +

      In Read-only mode, the synced collection appears in the regular collections list (not in a separate “Synced Collections” section) with a special icon to indicate it’s versioned and read-only.

      Moving and deleting content in the synced collection

      -

      Deletions sync to production: When you remove content from the synced collection in Development mode and push that change, the content will also be removed from your Production instance when it syncs. This applies to moving content out of the synced collection or deleting it entirely.

      +

      Deletions sync to production: When you remove content from the synced collection in Read-write mode and push that change, the content will also be removed from your Production instance when it syncs. This applies to moving content out of the synced collection or deleting it entirely.

      Content in other Metabases that depended on this item may break since the dependency will no longer be in the synced collection.

      @@ -5819,7 +5819,7 @@

      Making sub-collections a

      For groups with these permissions, the sub-collections they can access will appear at the top level of navigation, as if they were root-level collections. They won’t see the top-level Synced Collection that you have in your development Metabase.

      -

      What you see in Development mode:

      +

      What you see in Read-write mode:

      Collections
       └── Synced Collection
      @@ -5827,7 +5827,7 @@ 

      Making sub-collections a ├── Giant Sloth Statistics

      -

      What embedding groups see in Production mode (with no access to Synced Collection, but access to Mammoth Statistics and Giant Sloth Statistics):

      +

      What embedding groups see in Read-only mode (with no access to Synced Collection, but access to Mammoth Statistics and Giant Sloth Statistics):

      Collections
       ├── Mammoth Statistics
      @@ -5862,7 +5862,7 @@ 

      What Metabase syncs

      Branch management

      -

      Branching is only available in Development mode.

      +

      Branching is only available in Read-write mode.

      Creating a branch

      @@ -5901,13 +5901,13 @@

      Switching branches

      The dialog shows you exactly which items have changed, so you can make an informed decision.

      -

      If you switch modes (from Development to Production or vice versa) with unpushed changes, you’ll be prompted to save or discard them. You cannot switch to Production mode with uncommitted changes.

      +

      If you switch modes (from Read-write to Read-only or vice versa) with unpushed changes, you’ll be prompted to save or discard them. You cannot switch to Read-only mode with uncommitted changes.

      If changes don’t appear after switching modes: Hard refresh your browser (Cmd/Ctrl + Shift + R).

      Pushing changes to Git

      -

      You can only push changes in a Metabase with Remote Sync set to Development mode.

      +

      You can only push changes in a Metabase with Remote Sync set to Read-write mode.

      Committing and pushing your changes

      @@ -5919,13 +5919,13 @@

      Committing and pushing your changes
    • Click “Continue” to push your changes to Git.
    • -

      If you see a message that “Remote is ahead of local”, that means someone else pushed to the branch from another Metabase in Development mode. Pull the latest changes before pushing again.

      +

      If you see a message that “Remote is ahead of local”, that means someone else pushed to the branch from another Metabase in Read-write mode. Pull the latest changes before pushing again.

      Pulling changes from Git

      -

      You can pull changes when in Development or Production mode.

      +

      You can pull changes when in Read-write or Read-only mode.

      -

      In Development mode, you can get the latest changes from your Git repository:

      +

      In Read-write mode, you can get the latest changes from your Git repository:

      1. Click the down arrow (pull) icon next to your synced collection in the left sidebar.
      2. @@ -5942,7 +5942,7 @@

        Pulling changes from Git

      3. If you encounter sync errors, review error messages in the sync dialog, manually resolve conflicts in your Git repository, then pull again.

    -

    In Production mode, go to Admin settings > Settings > Remote sync and click Pull changes.

    +

    In Read-only mode, go to Admin settings > Settings > Remote sync and click Pull changes.

    Handling unsynced changes

    @@ -5958,7 +5958,7 @@

    Handling unsynced changes

    Pulling changes automatically

    -

    In Production mode, you can set Metabase to auto-sync changes from your main branch.

    +

    In Read-only mode, you can set Metabase to auto-sync changes from your main branch.

    1. Navigate to Admin settings > Settings > Remote sync.
    2. @@ -5999,7 +5999,7 @@

      If you already

      If you want to switch fully to Remote Sync, we recommend starting with a new repo:

        -
      1. Check out a new branch in your Metabase instance in Development mode.
      2. +
      3. Check out a new branch in your Metabase instance in Read-write mode.
      4. Import your data to your Metabase instance with the serialization command as you normally would.
      5. Move the content you want to sync into the synced collection.
      6. Push up your changes to the new repo.
      7. diff --git a/_site/docs/v0.57/installation-and-operation/upgrading-metabase.html b/_site/docs/v0.57/installation-and-operation/upgrading-metabase.html index 010edb49e..ca9812e58 100644 --- a/_site/docs/v0.57/installation-and-operation/upgrading-metabase.html +++ b/_site/docs/v0.57/installation-and-operation/upgrading-metabase.html @@ -5645,7 +5645,7 @@

        What happens during an upgr

        If you need to downgrade after a major version upgrade, you’ll either need to restore from a backup, or manually migrate to a lower version, otherwise Metabase may refuse to start (see the next section).

        -

        Durning a minor version upgrade (e.g., 54.1 to 54.2), the new Metabase container or Jar will just work. Only in rare cases will it have to perform a migration, but, like with major version upgrades, Metabase will perform the migration automatically. And of course, you’re backing up your application database each time you upgrade, right?

        +

        During a minor version upgrade (e.g., 54.1 to 54.2), the new Metabase container or Jar will just work. Only in rare cases will it have to perform a migration, but, like with major version upgrades, Metabase will perform the migration automatically. And of course, you’re backing up your application database each time you upgrade, right?

        Rolling back an upgrade or to an older version

        @@ -5691,7 +5691,7 @@

        Upgrading Metabase running in a

        If you’re running Metabase in a cluster:

          -
        1. Reduce the number of nodes to a single node. You can’t upgrade all nodes at the same time because the ugprade process works by acquiring a migration lock on the application database from a single client, which performs the migration. If you keep more than one node active when you do a major version upgrade, the application won’t behave correctly, as schema changes to the application database could cause problems for nodes that are still running the older version of Metabase.
        2. +
        3. Reduce the number of nodes to a single node. You can’t upgrade all nodes at the same time because the upgrade process works by acquiring a migration lock on the application database from a single client, which performs the migration. If you keep more than one node active when you do a major version upgrade, the application won’t behave correctly, as schema changes to the application database could cause problems for nodes that are still running the older version of Metabase.
        4. Perform the upgrade as normal (as outlined above).
        5. Raise the number of nodes to the same number you had before.
        diff --git a/_site/docs/v0.57/permissions/impersonation.html b/_site/docs/v0.57/permissions/impersonation.html index e7063a807..0d68f3dcc 100644 --- a/_site/docs/v0.57/permissions/impersonation.html +++ b/_site/docs/v0.57/permissions/impersonation.html @@ -5526,7 +5526,7 @@

        Databases that support impersonati
        • ClickHouse
        • MySQL
        • -
        • PostgreSQL. If you’re using views in PostgresSQL, the row-level security policies on views will only work on Postgres versions 15 and higher.
        • +
        • PostgreSQL. If you’re using views in PostgreSQL, the row-level security policies on views will only work on Postgres versions 15 and higher.
        • Redshift
        • Snowflake
        • SQL Server
        • @@ -5713,7 +5713,7 @@

          Admins won’t see the eff

          Admins won’t ever see the effects of impersonation effects, because their privileges will override those of any other group they’re a member of.

          -

          Metabase’s default Administrators group has “Can view” access to all databases, and Metabase uses the most permissive access for any person in multple groups, so any admin will have “Can view” - not “Impersonated” - access to the database.

          +

          Metabase’s default Administrators group has “Can view” access to all databases, and Metabase uses the most permissive access for any person in multiple groups, so any admin will have “Can view” - not “Impersonated” - access to the database.

          To test impersonation, create a test user, assign them a user attribute with the database role, and add them to the impersonated group. Then, log in as the test user and verify the data access.

          diff --git a/_site/docs/v0.57/permissions/row-and-column-security-examples.html b/_site/docs/v0.57/permissions/row-and-column-security-examples.html index f9a99cdeb..860a95b3d 100644 --- a/_site/docs/v0.57/permissions/row-and-column-security-examples.html +++ b/_site/docs/v0.57/permissions/row-and-column-security-examples.html @@ -5633,7 +5633,7 @@

          Custom example 1: filtering columns<

          We’ll call this question “Filtered people table”. Save it to the “Admins collection” you created in the setup (or any collection that only Admins have access to).

            -
          1. Use a SQL question to create a custom view for this table: We’ll go to the Permissions section and grant this group row and column secuity to this table. This time we’ll select the second option, “Use a saved question to create a custom view for this table”, and select the question we just created (“Filtered people table”), like so:
          2. +
          3. Use a SQL question to create a custom view for this table: We’ll go to the Permissions section and grant this group row and column security to this table. This time we’ll select the second option, “Use a saved question to create a custom view for this table”, and select the question we just created (“Filtered people table”), like so:

          Using a question to create a custom view

          diff --git a/_site/docs/v0.57/permissions/row-and-column-security.html b/_site/docs/v0.57/permissions/row-and-column-security.html index efa96b8a9..7dd4a54c6 100644 --- a/_site/docs/v0.57/permissions/row-and-column-security.html +++ b/_site/docs/v0.57/permissions/row-and-column-security.html @@ -5873,7 +5873,7 @@

          You cannot secure

          Public sharing

          -

          Row and column security permissions don’t apply to public questions or public dashboards. If somone in an unsecured group creates a public link using an original table, the original table will be displayed to anyone who has the public link URL.

          +

          Row and column security permissions don’t apply to public questions or public dashboards. If someone in an unsecured group creates a public link using an original table, the original table will be displayed to anyone who has the public link URL.

          To prevent this from happening, you’ll have to disable public sharing for your Metabase.

          diff --git a/_site/docs/v0.57/questions/alerts.html b/_site/docs/v0.57/questions/alerts.html index 353d79d8c..c79838f3e 100644 --- a/_site/docs/v0.57/questions/alerts.html +++ b/_site/docs/v0.57/questions/alerts.html @@ -5578,7 +5578,7 @@

          Goal line alerts

        • How often you want Metabase to check to see if the goal line has been crossed.
        -
      8. Select the schedule and recepients for the alert, and click “Done”
      9. +
      10. Select the schedule and recipients for the alert, and click “Done”

      Progress bar alerts

      diff --git a/_site/docs/v0.57/questions/visualizations/map.html b/_site/docs/v0.57/questions/visualizations/map.html index a6329e60f..e960c2d77 100644 --- a/_site/docs/v0.57/questions/visualizations/map.html +++ b/_site/docs/v0.57/questions/visualizations/map.html @@ -5570,7 +5570,7 @@

      Choose pin type

    -

    By default, maps can’t display more than 2,000 individual unaggregated data points, regardless of the pin type. This limit is the same for every chart displaying unaggregated data in Metabase. To increase the number of data points rendered on charts based on unaggregated queries, you can use the environment variable MB_UNAGGREGATED_QUERY_ROW_LIMIT. This setting will affect data points on all charts—not just the pin maps—so increasing the limit too much could significantly slow down your Metabase and your browswer.

    +

    By default, maps can’t display more than 2,000 individual unaggregated data points, regardless of the pin type. This limit is the same for every chart displaying unaggregated data in Metabase. To increase the number of data points rendered on charts based on unaggregated queries, you can use the environment variable MB_UNAGGREGATED_QUERY_ROW_LIMIT. This setting will affect data points on all charts—not just the pin maps—so increasing the limit too much could significantly slow down your Metabase and your browser.

    If you need to display a large number of geographic data points, consider using a grid map to display the distribution instead.

    diff --git a/_site/docs/v0.57/troubleshooting-guide/ldap.html b/_site/docs/v0.57/troubleshooting-guide/ldap.html index ff01293b8..efef91dd5 100644 --- a/_site/docs/v0.57/troubleshooting-guide/ldap.html +++ b/_site/docs/v0.57/troubleshooting-guide/ldap.html @@ -5546,7 +5546,7 @@

    LDAP sample configuration

    driver: bridge
    -

    If you don’t pass environment variables to Metabase and you want to configure the environment manually, you can go to the Admin Panel, selectin “Settings”, select “Authentication”, and then select “LDAP Configuration” and enter the following values:

    +

    If you don’t pass environment variables to Metabase and you want to configure the environment manually, you can go to the Admin Panel, select “Settings”, select “Authentication”, and then select “LDAP Configuration” and enter the following values:

    • USERNAME OR DN: cn=admin,dc=example,dc=org
    • diff --git a/_site/docs/v0.57/troubleshooting-guide/timezones.html b/_site/docs/v0.57/troubleshooting-guide/timezones.html index 71eaf6024..9a50cf50e 100644 --- a/_site/docs/v0.57/troubleshooting-guide/timezones.html +++ b/_site/docs/v0.57/troubleshooting-guide/timezones.html @@ -5538,7 +5538,7 @@

      Is the problem due to time zones?

      Is the Report Time Zone set incorrectly?

      -

      Root cause: Wrong numbers in questions or charts can be caused by a mis-match in the time zone being used by Metabase and the time zone being used by the data warehouse.

      +

      Root cause: Wrong numbers in questions or charts can be caused by a mismatch in the time zone being used by Metabase and the time zone being used by the data warehouse.

      Steps to take: