diff --git a/docs-mintlify/admin/account-billing/ai-tokens.mdx b/docs-mintlify/admin/account-billing/ai-tokens.mdx index 3dd3f0e8ed179..a3b745eaa341c 100644 --- a/docs-mintlify/admin/account-billing/ai-tokens.mdx +++ b/docs-mintlify/admin/account-billing/ai-tokens.mdx @@ -118,5 +118,5 @@ Token usage can vary between identical prompts due to differences in conversation context (earlier messages in the session) or the AI choosing a different reasoning path. -[ref-ai-overview]: /admin/ai/index +[ref-ai-overview]: /admin/ai [ref-byom]: /admin/ai/bring-your-own-model diff --git a/docs-mintlify/admin/account-billing/distribution.mdx b/docs-mintlify/admin/account-billing/distribution.mdx index 9120951c2b663..762c6c670e4c6 100644 --- a/docs-mintlify/admin/account-billing/distribution.mdx +++ b/docs-mintlify/admin/account-billing/distribution.mdx @@ -124,4 +124,4 @@ open http://localhost:3000 [ref-infrastructure]: /admin/deployment/infrastructure [ref-workspace]: /admin/workspace [ref-deployment]: /admin/deployment -[ref-update-channels]: /admin/deployment/index#update-channels \ No newline at end of file +[ref-update-channels]: /admin/deployment#update-channels \ No newline at end of file diff --git a/docs-mintlify/admin/account-billing/pricing.mdx b/docs-mintlify/admin/account-billing/pricing.mdx index 61cc54e6959bc..8b293008aa2d6 100644 --- a/docs-mintlify/admin/account-billing/pricing.mdx +++ b/docs-mintlify/admin/account-billing/pricing.mdx @@ -308,7 +308,7 @@ for the AI token consumption at the **Billing** page of their Cube Cloud account [ref-cloud-deployment-dev-instance]: /admin/deployment/deployment-types#shared [ref-cloud-deployment-prod-cluster]: /admin/deployment/deployment-types#dedicated [ref-cloud-limits]: /admin/deployment/limits -[ref-monitoring-integrations]: /docs/monitoring/integrations +[ref-monitoring-integrations]: /admin/monitoring/monitoring-integrations [ref-cloud-acl]: /admin/users-and-permissions/custom-roles [ref-cloud-deployment-prod-multicluster]: /admin/deployment/deployment-types#multi-cluster [ref-cloud-custom-domains]: /admin/deployment/custom-domains @@ -327,8 +327,8 @@ for the AI token consumption at the **Billing** page of their Cube Cloud account [ref-production-cluster]: /admin/deployment/deployment-types#dedicated [ref-development-instance]: /admin/deployment/deployment-types#shared [ref-apis]: /reference -[ref-mdx-api]: /reference/mdx-api -[ref-dax-api]: /reference/dax-api +[ref-mdx-api]: /reference/core-data-apis/mdx-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-cube-store-architecture]: /docs/pre-aggregations/running-in-production#architecture [ref-data-at-rest-encryption]: /docs/pre-aggregations/running-in-production#data-at-rest-encryption [ref-customer-managed-keys]: /admin/deployment/encryption-keys diff --git a/docs-mintlify/admin/connect-to-data/visualization-tools/excel.mdx b/docs-mintlify/admin/connect-to-data/visualization-tools/excel.mdx index 5f2a13fe777dd..de19acdb8d443 100644 --- a/docs-mintlify/admin/connect-to-data/visualization-tools/excel.mdx +++ b/docs-mintlify/admin/connect-to-data/visualization-tools/excel.mdx @@ -49,7 +49,7 @@ To find your MDX API credentials, go to the [Integrations][ref-integrations-apis Follow the instructions to [install][ref-cube-cloud-for-excel-installation] the add-in and [authenticate][ref-cube-cloud-for-excel-authentication] to Cube Cloud. -[ref-mdx-api]: /reference/mdx-api +[ref-mdx-api]: /reference/core-data-apis/mdx-api [link-pivottable]: https://support.microsoft.com/en-us/office/create-a-pivottable-to-analyze-worksheet-data-a9a84538-bfe9-40a9-a8e9-f99134456576 [ref-cube-cloud-for-excel]: /docs/integrations/microsoft-excel [ref-cube-cloud-for-excel-pivot]: /docs/integrations/microsoft-excel#create-reports-via-pivot-table diff --git a/docs-mintlify/admin/connect-to-data/visualization-tools/powerbi.mdx b/docs-mintlify/admin/connect-to-data/visualization-tools/powerbi.mdx index 5070d05071354..3ab232d78963c 100644 --- a/docs-mintlify/admin/connect-to-data/visualization-tools/powerbi.mdx +++ b/docs-mintlify/admin/connect-to-data/visualization-tools/powerbi.mdx @@ -72,7 +72,7 @@ than the DAX API. However, this is the only option when using Cube Core. [link-powerbi]: https://www.microsoft.com/en-gb/power-platform/products/power-bi/ [link-powerbi-desktop-vs-service]: https://learn.microsoft.com/en-us/power-bi/fundamentals/service-service-vs-desktop [link-powerbi-gateway]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-integrations-apis]: /admin/connect-to-data/visualization-tools [ref-sql-api]: /reference/core-data-apis/sql-api [ref-sls]: /docs/integrations/semantic-layer-sync diff --git a/docs-mintlify/admin/customization/chart-palettes.mdx b/docs-mintlify/admin/customization/chart-palettes.mdx index 9abe3a6181505..76dd2cb96ceca 100644 --- a/docs-mintlify/admin/customization/chart-palettes.mdx +++ b/docs-mintlify/admin/customization/chart-palettes.mdx @@ -7,8 +7,8 @@ Chart palettes control the colors used in chart visualizations across [workbooks Custom palettes are managed centrally and are available across every deployment in the account. -[ref-workbooks]: /workbooks -[ref-dashboards]: /workbooks/dashboards +[ref-workbooks]: /docs/explore-analyze/workbooks +[ref-dashboards]: /docs/explore-analyze/dashboards ## Requirements diff --git a/docs-mintlify/admin/customization/dashboard-themes.mdx b/docs-mintlify/admin/customization/dashboard-themes.mdx index 5a6d10fd0f90c..2e76cd18103ed 100644 --- a/docs-mintlify/admin/customization/dashboard-themes.mdx +++ b/docs-mintlify/admin/customization/dashboard-themes.mdx @@ -7,7 +7,7 @@ Dashboard themes control the look and feel of [dashboards][ref-dashboards] — i Themes are designed and saved from the dashboard builder, then managed centrally in the admin area. -[ref-dashboards]: /workbooks/dashboards +[ref-dashboards]: /docs/explore-analyze/dashboards ## Requirements diff --git a/docs-mintlify/admin/deployment/auto-suspension.mdx b/docs-mintlify/admin/deployment/auto-suspension.mdx index b0a35a4e0a6ca..b3315e2595cb3 100644 --- a/docs-mintlify/admin/deployment/auto-suspension.mdx +++ b/docs-mintlify/admin/deployment/auto-suspension.mdx @@ -124,4 +124,4 @@ response times to be significantly longer than usual. [self-effects]: #effects-on-experience [ref-refresh-worker]: /cube-core/architecture#refresh-worker [ref-sls]: /docs/integrations/semantic-layer-sync#on-schedule -[ref-cube-version]: /admin/deployment/index#cube-version \ No newline at end of file +[ref-cube-version]: /admin/deployment#cube-version \ No newline at end of file diff --git a/docs-mintlify/admin/deployment/core.mdx b/docs-mintlify/admin/deployment/core.mdx index 99faf358b4a4c..d9d7a400a45e5 100644 --- a/docs-mintlify/admin/deployment/core.mdx +++ b/docs-mintlify/admin/deployment/core.mdx @@ -523,7 +523,7 @@ data source usage. [link-cubejs-dev-vs-prod]: /docs/data-modeling/dev-mode [link-k8s-healthcheck-api]: https://kubernetes.io/docs/reference/using-api/health-checks/ -[ref-config-connect-db]: /connecting-to-the-database +[ref-config-connect-db]: /admin/connect-to-data/data-sources [ref-caching-cubestore]: /docs/pre-aggregations/running-in-production [ref-conf-preaggs-schema]: /reference/configuration/config#pre_aggregations_schema [ref-env-vars]: /reference/configuration/environment-variables diff --git a/docs-mintlify/admin/deployment/environments.mdx b/docs-mintlify/admin/deployment/environments.mdx index 9bedc81dc0a27..2efbcceb9e519 100644 --- a/docs-mintlify/admin/deployment/environments.mdx +++ b/docs-mintlify/admin/deployment/environments.mdx @@ -114,5 +114,5 @@ credentials**][ref-credentials]. [ref-suspend]: /admin/deployment/auto-suspension [ref-overview]: /admin/connect-to-data/visualization-tools [ref-credentials]: /admin/connect-to-data/visualization-tools -[ref-version]: /admin/deployment/index#cube-version -[ref-version-channel]: /admin/deployment/index#update-channels \ No newline at end of file +[ref-version]: /admin/deployment#cube-version +[ref-version-channel]: /admin/deployment#update-channels \ No newline at end of file diff --git a/docs-mintlify/admin/deployment/index.mdx b/docs-mintlify/admin/deployment/index.mdx index bfdf36c2227ee..02ca0c6c52f9f 100644 --- a/docs-mintlify/admin/deployment/index.mdx +++ b/docs-mintlify/admin/deployment/index.mdx @@ -198,8 +198,8 @@ resource consumption in different scenarios. [ref-playground]: /docs/explore-analyze/playground [ref-environments]: /admin/deployment/environments [ref-environments-prod]: /admin/deployment/environments#production-environment -[ref-lts]: /docs/distribution#long-term-support +[ref-lts]: /admin/account-billing/distribution#long-term-support [link-semver]: https://semver.org [ref-data-sources]: /admin/connect-to-data/data-sources [ref-audit-log]: /admin/monitoring/audit-log -[ref-distribution-versions]: /docs/distribution#versions \ No newline at end of file +[ref-distribution-versions]: /admin/account-billing/distribution#versions \ No newline at end of file diff --git a/docs-mintlify/admin/deployment/providers/azure.mdx b/docs-mintlify/admin/deployment/providers/azure.mdx index b7f0d092ad829..43f547334ff25 100644 --- a/docs-mintlify/admin/deployment/providers/azure.mdx +++ b/docs-mintlify/admin/deployment/providers/azure.mdx @@ -55,6 +55,6 @@ Cube Cloud integrates with the following [data visualization tools](/admin/conne [ref-powerbi]: /admin/connect-to-data/visualization-tools/powerbi -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-excel]: /admin/connect-to-data/visualization-tools/excel [ref-cube-cloud-for-excel]: /docs/integrations/microsoft-excel \ No newline at end of file diff --git a/docs-mintlify/admin/index.mdx b/docs-mintlify/admin/index.mdx index 824ec9f370538..9342c90882122 100644 --- a/docs-mintlify/admin/index.mdx +++ b/docs-mintlify/admin/index.mdx @@ -196,13 +196,13 @@ mode does the following: - Logs incorrect/invalid configuration for `externalRefresh` /`waitForRenew` instead of throwing errors. -[ref-folder-structure]: /docs/data-modeling/syntax#folder-structure +[ref-folder-structure]: /docs/data-modeling/concepts/syntax#folder-structure [link-config]: /reference/configuration/config [link-dev-playground]: /docs/explore-analyze/playground [link-env-vars]: /reference/configuration/environment-variables [link-scheduled-refresh]: /reference/data-modeling/pre-aggregations#scheduled_refresh [ref-dynamic-data-models]: /docs/data-modeling/dynamic -[ref-custom-docker-image]: /docs/deployment/core#extend-the-docker-image +[ref-custom-docker-image]: /admin/deployment/core#extend-the-docker-image [link-docker-env-vars]: https://docs.docker.com/compose/environment-variables/set-environment-variables/ [ref-mls]: /docs/data-modeling/access-control/member-level-security [link-current-python-version]: https://github.com/cube-js/cube/blob/master/packages/cubejs-docker/latest.Dockerfile#L13 diff --git a/docs-mintlify/cube-core/deployment.mdx b/docs-mintlify/cube-core/deployment.mdx index 99faf358b4a4c..d9d7a400a45e5 100644 --- a/docs-mintlify/cube-core/deployment.mdx +++ b/docs-mintlify/cube-core/deployment.mdx @@ -523,7 +523,7 @@ data source usage. [link-cubejs-dev-vs-prod]: /docs/data-modeling/dev-mode [link-k8s-healthcheck-api]: https://kubernetes.io/docs/reference/using-api/health-checks/ -[ref-config-connect-db]: /connecting-to-the-database +[ref-config-connect-db]: /admin/connect-to-data/data-sources [ref-caching-cubestore]: /docs/pre-aggregations/running-in-production [ref-conf-preaggs-schema]: /reference/configuration/config#pre_aggregations_schema [ref-env-vars]: /reference/configuration/environment-variables diff --git a/docs-mintlify/cube-core/getting-started/learn-more.mdx b/docs-mintlify/cube-core/getting-started/learn-more.mdx index 2bda3a8a07058..0d36571046823 100644 --- a/docs-mintlify/cube-core/getting-started/learn-more.mdx +++ b/docs-mintlify/cube-core/getting-started/learn-more.mdx @@ -5,7 +5,7 @@ description: Now that you've set up your first project, learn more about what el ## Data Modeling -Learn more about [data modeling](/docs/data-modeling/concepts) +Learn more about [data modeling](/docs/data-modeling/overview) and how to effectively define metrics in your data models. ## Querying diff --git a/docs-mintlify/cube-core/migrate-from-core/upload-with-cli.mdx b/docs-mintlify/cube-core/migrate-from-core/upload-with-cli.mdx index 97fb673305be7..45f7099a301df 100644 --- a/docs-mintlify/cube-core/migrate-from-core/upload-with-cli.mdx +++ b/docs-mintlify/cube-core/migrate-from-core/upload-with-cli.mdx @@ -99,4 +99,4 @@ queries or connect your application to Cube Cloud API. [ref-cloud-connecting-to-databases]: /admin/connect-to-data/data-sources -[ref-cloud-playground]: /cloud/dev-tools/dev-playground +[ref-cloud-playground]: /docs/explore-analyze/playground diff --git a/docs-mintlify/docs/data-modeling/access-control/member-level-security.mdx b/docs-mintlify/docs/data-modeling/access-control/member-level-security.mdx index ac20fb5e4f87f..2fba65c1d2037 100644 --- a/docs-mintlify/docs/data-modeling/access-control/member-level-security.mdx +++ b/docs-mintlify/docs/data-modeling/access-control/member-level-security.mdx @@ -143,7 +143,7 @@ them entirely, see [data masking][ref-data-masking] in access policies. -[ref-data-modeling-concepts]: /docs/data-modeling/concepts +[ref-data-modeling-concepts]: /docs/data-modeling/overview [ref-apis]: /reference [ref-cubes]: /docs/data-modeling/cubes [ref-views]: /docs/data-modeling/views diff --git a/docs-mintlify/docs/data-modeling/access-control/row-level-security.mdx b/docs-mintlify/docs/data-modeling/access-control/row-level-security.mdx index c917886c0175a..16ed731d055a9 100644 --- a/docs-mintlify/docs/data-modeling/access-control/row-level-security.mdx +++ b/docs-mintlify/docs/data-modeling/access-control/row-level-security.mdx @@ -63,7 +63,7 @@ cube(`orders`, { -[ref-data-modeling-concepts]: /docs/data-modeling/concepts +[ref-data-modeling-concepts]: /docs/data-modeling/overview [ref-apis]: /reference [ref-cubes]: /docs/data-modeling/cubes [ref-views]: /docs/data-modeling/views diff --git a/docs-mintlify/docs/data-modeling/concepts/syntax.mdx b/docs-mintlify/docs/data-modeling/concepts/syntax.mdx index f0c8ec29b7e62..4164031726856 100644 --- a/docs-mintlify/docs/data-modeling/concepts/syntax.mdx +++ b/docs-mintlify/docs/data-modeling/concepts/syntax.mdx @@ -1014,7 +1014,7 @@ string values in time dimensions. [ref-data-blending]: /docs/data-modeling/concepts/data-blending [link-js-template-literals]: https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/Strings#embedding_javascript [link-python-reserved-words]: https://docs.python.org/3/reference/lexical_analysis.html#keywords -[ref-dax-api-date-hierarchies]: /reference/dax-api#date-hierarchies +[ref-dax-api-date-hierarchies]: /reference/core-data-apis/dax-api#date-hierarchies [ref-time-dimension]: /docs/data-modeling/dimensions#time-dimensions [ref-recipe-string-time-dimensions]: /recipes/data-modeling/string-time-dimensions [ref-view-groups]: /reference/data-modeling/view-group diff --git a/docs-mintlify/docs/data-modeling/dimensions.mdx b/docs-mintlify/docs/data-modeling/dimensions.mdx index d80572764287d..1f5cc75b91c7d 100644 --- a/docs-mintlify/docs/data-modeling/dimensions.mdx +++ b/docs-mintlify/docs/data-modeling/dimensions.mdx @@ -563,7 +563,7 @@ cubes: [ref-dimensions-ref]: /reference/data-modeling/dimensions [ref-workbooks]: /docs/explore-analyze/workbooks -[ref-references]: /docs/data-modeling/syntax#references +[ref-references]: /docs/data-modeling/concepts/syntax#references [link-tabler]: https://tabler.io/icons [ref-measures-page]: /docs/data-modeling/measures [ref-joins]: /docs/data-modeling/joins diff --git a/docs-mintlify/docs/data-modeling/dynamic/jinja.mdx b/docs-mintlify/docs/data-modeling/dynamic/jinja.mdx index a29d8db52a297..3b707945ca5d0 100644 --- a/docs-mintlify/docs/data-modeling/dynamic/jinja.mdx +++ b/docs-mintlify/docs/data-modeling/dynamic/jinja.mdx @@ -385,7 +385,7 @@ image][ref-docker-image-extension]. [jinja-docs-filters-safe]: https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.safe [ref-cube-dbt]: /reference/data-modeling/cube_dbt [ref-visual-model]: /docs/data-modeling/visual-modeler -[ref-docker-image-extension]: /docs/deployment/core#extend-the-docker-image +[ref-docker-image-extension]: /admin/deployment/core#extend-the-docker-image [ref-cube-package]: /reference/data-modeling/cube-package [ref-cube-template-context]: /reference/data-modeling/cube-package#templatecontext-class [ref-cube-dbt-package]: /reference/data-modeling/cube_dbt diff --git a/docs-mintlify/docs/data-modeling/extending-cubes.mdx b/docs-mintlify/docs/data-modeling/extending-cubes.mdx index 9c5124144d967..170a3652af8cb 100644 --- a/docs-mintlify/docs/data-modeling/extending-cubes.mdx +++ b/docs-mintlify/docs/data-modeling/extending-cubes.mdx @@ -207,4 +207,4 @@ cube(`base_events`, { [ref-cube-extends]: /reference/data-modeling/cube#extends [ref-view-extends]: /reference/data-modeling/view#extends [ref-schema-ref-cube-filter-params]: /reference/data-modeling/context-variables#filter_params -[ref-cube-variable]: /docs/data-modeling/syntax#cube-variable \ No newline at end of file +[ref-cube-variable]: /docs/data-modeling/concepts/syntax#cube-variable \ No newline at end of file diff --git a/docs-mintlify/docs/data-modeling/overview.mdx b/docs-mintlify/docs/data-modeling/overview.mdx index 0276921a51c22..3a64f4f67c4ac 100644 --- a/docs-mintlify/docs/data-modeling/overview.mdx +++ b/docs-mintlify/docs/data-modeling/overview.mdx @@ -338,5 +338,5 @@ model. [ref-apis]: /reference [ref-calculated-measures]: /docs/data-modeling/measures#calculated-measures [ref-views]: /reference/data-modeling/view -[ref-explore]: /analytics/explore -[ref-workbooks]: /analytics/workbooks \ No newline at end of file +[ref-explore]: /docs/explore-analyze/explore +[ref-workbooks]: /docs/explore-analyze/workbooks \ No newline at end of file diff --git a/docs-mintlify/docs/data-modeling/views.mdx b/docs-mintlify/docs/data-modeling/views.mdx index 32f279d746c42..f4ecd2cf17892 100644 --- a/docs-mintlify/docs/data-modeling/views.mdx +++ b/docs-mintlify/docs/data-modeling/views.mdx @@ -454,9 +454,9 @@ parameters. [ref-access-policies]: /reference/data-modeling/data-access-policies [ref-ai-context]: /docs/data-modeling/ai-context [ref-compile-context]: /docs/data-modeling/access-control/context -[ref-explore]: /analytics/explore -[ref-workbooks]: /analytics/workbooks -[ref-embedding]: /docs/embedding +[ref-explore]: /docs/explore-analyze/explore +[ref-workbooks]: /docs/explore-analyze/workbooks +[ref-embedding]: /embedding [ref-ide]: /docs/data-modeling/data-model-ide [ref-viz-tools]: /admin/connect-to-data/visualization-tools [ref-apis-support]: /reference#data-modeling diff --git a/docs-mintlify/docs/data-modeling/visual-modeler.mdx b/docs-mintlify/docs/data-modeling/visual-modeler.mdx index cb6537d51a131..a92e6195f1fef 100644 --- a/docs-mintlify/docs/data-modeling/visual-modeler.mdx +++ b/docs-mintlify/docs/data-modeling/visual-modeler.mdx @@ -161,7 +161,7 @@ allow editing of [dynamic data models][ref-dynamic-data-models] or models which [ref-dynamic-data-models]: /docs/data-modeling/dynamic [ref-jinja]: /docs/data-modeling/dynamic/jinja [ref-continuous-deployment]: /admin/deployment/continuous-deployment -[ref-yaml-syntax]: /docs/data-modeling/syntax#model-syntax +[ref-yaml-syntax]: /docs/data-modeling/concepts/syntax#model-syntax [ref-dev-mode]: /docs/data-modeling/dev-mode [ref-environments]: /admin/deployment/environments [ref-playground]: /docs/explore-analyze/playground diff --git a/docs-mintlify/docs/explore-analyze/notifications.mdx b/docs-mintlify/docs/explore-analyze/notifications.mdx index 1c79384b69dc1..76395482414e5 100644 --- a/docs-mintlify/docs/explore-analyze/notifications.mdx +++ b/docs-mintlify/docs/explore-analyze/notifications.mdx @@ -73,4 +73,4 @@ This is a one-time setup. Once connected, you can select any channel your Slack workspace has access to. [ref-roles]: /admin/users-and-permissions/roles-and-permissions -[ref-scheduled-refreshes]: /analytics/scheduled-refreshes \ No newline at end of file +[ref-scheduled-refreshes]: /docs/explore-analyze/scheduled-refreshes \ No newline at end of file diff --git a/docs-mintlify/docs/explore-analyze/playground.mdx b/docs-mintlify/docs/explore-analyze/playground.mdx index c65428a8eb2ff..ab784c50d62eb 100644 --- a/docs-mintlify/docs/explore-analyze/playground.mdx +++ b/docs-mintlify/docs/explore-analyze/playground.mdx @@ -198,7 +198,7 @@ manually. [ref-js-sdk]: /reference/javascript-sdk [ref-data-model]: /docs/data-modeling/data-model-ide#generating-data-model-files [ref-multiple-data-sources]: /admin/connect-to-data/multiple-data-sources -[ref-queries]: /reference/queries +[ref-queries]: /reference/core-data-apis/queries [ref-data-modeling]: /docs/data-modeling/overview [ref-data-model-title]: /reference/data-modeling/measures#title [ref-data-model-description]: /reference/data-modeling/measures#description diff --git a/docs-mintlify/docs/explore-analyze/scheduled-refreshes.mdx b/docs-mintlify/docs/explore-analyze/scheduled-refreshes.mdx index 92c1028c34086..c002922279073 100644 --- a/docs-mintlify/docs/explore-analyze/scheduled-refreshes.mdx +++ b/docs-mintlify/docs/explore-analyze/scheduled-refreshes.mdx @@ -95,4 +95,4 @@ When a scheduled refresh runs, it progresses through these phases: The sidebar shows real-time status updates during execution. [ref-roles]: /admin/users-and-permissions/roles-and-permissions -[ref-notifications]: /analytics/notifications \ No newline at end of file +[ref-notifications]: /docs/explore-analyze/notifications \ No newline at end of file diff --git a/docs-mintlify/docs/explore-analyze/workbooks/index.mdx b/docs-mintlify/docs/explore-analyze/workbooks/index.mdx index 4ce940cc6fa03..75421288a2d9a 100644 --- a/docs-mintlify/docs/explore-analyze/workbooks/index.mdx +++ b/docs-mintlify/docs/explore-analyze/workbooks/index.mdx @@ -32,7 +32,7 @@ The category selector lets you switch between starting-point types: as the starting point for the new report. The workbook you are currently in and empty tabs (which have no query to reuse) appear disabled. - **Source tables** — raw tables from your connected - [data sources](/admin/connect-to-data/data-sources/index), browsable by data source and schema. + [data sources](/admin/connect-to-data/data-sources), browsable by data source and schema. Click through the list to drill down to an individual view, report, or table. Once you reach a starting point, the data model sidebar activates so you can continue building your query there. diff --git a/docs-mintlify/docs/getting-started/cloud/create-data-model.mdx b/docs-mintlify/docs/getting-started/cloud/create-data-model.mdx index 1c125c2de57a2..ab8fa11758dea 100644 --- a/docs-mintlify/docs/getting-started/cloud/create-data-model.mdx +++ b/docs-mintlify/docs/getting-started/cloud/create-data-model.mdx @@ -212,5 +212,5 @@ After saving, you can experiment with your newly created view in the Playground. In the next section, we will learn how to query our `orders_view` using a BI tool. -[ref-member-references]: /docs/data-modeling/syntax#references +[ref-member-references]: /docs/data-modeling/concepts/syntax#references [ref-visual-model]: /docs/data-modeling/visual-modeler \ No newline at end of file diff --git a/docs-mintlify/docs/getting-started/create-workbooks-and-dashboards.mdx b/docs-mintlify/docs/getting-started/create-workbooks-and-dashboards.mdx index 6f19b173da2dd..85ae87e196271 100644 --- a/docs-mintlify/docs/getting-started/create-workbooks-and-dashboards.mdx +++ b/docs-mintlify/docs/getting-started/create-workbooks-and-dashboards.mdx @@ -25,4 +25,4 @@ Once you're ready to share your work, you can turn workbooks into [dashboards][r Dashboards can be published to make them accessible to your team. Published dashboards provide stakeholders with direct access to the insights that matter most. -[ref-dashboards]: /analytics/dashboards \ No newline at end of file +[ref-dashboards]: /docs/explore-analyze/dashboards \ No newline at end of file diff --git a/docs-mintlify/docs/getting-started/databricks/create-data-model.mdx b/docs-mintlify/docs/getting-started/databricks/create-data-model.mdx index 14a2e9d42feee..37ff57ad7c3c0 100644 --- a/docs-mintlify/docs/getting-started/databricks/create-data-model.mdx +++ b/docs-mintlify/docs/getting-started/databricks/create-data-model.mdx @@ -212,5 +212,5 @@ After saving, you can experiment with your newly created view in the Playground. In the next section, we will learn how to query our `orders_view` using a BI tool. -[ref-member-references]: /docs/data-modeling/syntax#references +[ref-member-references]: /docs/data-modeling/concepts/syntax#references [ref-visual-model]: /docs/data-modeling/visual-modeler \ No newline at end of file diff --git a/docs-mintlify/docs/getting-started/embed-analytics.mdx b/docs-mintlify/docs/getting-started/embed-analytics.mdx index 03576bf624647..c45f7a05461ae 100644 --- a/docs-mintlify/docs/getting-started/embed-analytics.mdx +++ b/docs-mintlify/docs/getting-started/embed-analytics.mdx @@ -17,8 +17,8 @@ For more control over the conversational analytics experience, you can use the [ If you want complete control over visualizations and user interfaces, you can use [Cube's core APIs][ref-core-apis]—including REST (JSON), GraphQL, and SQL APIs—directly. This headless approach enables you to build fully custom visualization, reporting, and dashboarding experiences tailored to your specific needs. -[ref-dashboards]: /analytics/dashboards -[ref-analytics-chat]: /analytics/analytics-chat +[ref-dashboards]: /docs/explore-analyze/dashboards +[ref-analytics-chat]: /docs/explore-analyze/analytics-chat [ref-chat-api]: /reference/embed-apis/chat-api [ref-core-apis]: /reference/core-data-apis [ref-private-embedding]: /embedding/iframe/auth/private diff --git a/docs-mintlify/docs/getting-started/index.mdx b/docs-mintlify/docs/getting-started/index.mdx index abe83644ae712..eaed780ae4ddc 100644 --- a/docs-mintlify/docs/getting-started/index.mdx +++ b/docs-mintlify/docs/getting-started/index.mdx @@ -34,6 +34,6 @@ Cube Cloud supports several ways to import existing Cube projects: - [Import a local project with CLI](/docs/getting-started/migrate-from-core/upload-with-cli) [cube-cloud]: https://cube.dev/cloud/ -[ref-infrastructure]: /docs/deployment/cloud +[ref-infrastructure]: /admin/deployment/infrastructure [ref-workspace]: /docs/workspace [ref-data-sources]: /admin/connect-to-data/data-sources \ No newline at end of file diff --git a/docs-mintlify/docs/getting-started/migrate-from-core/upload-with-cli.mdx b/docs-mintlify/docs/getting-started/migrate-from-core/upload-with-cli.mdx index 97fb673305be7..45f7099a301df 100644 --- a/docs-mintlify/docs/getting-started/migrate-from-core/upload-with-cli.mdx +++ b/docs-mintlify/docs/getting-started/migrate-from-core/upload-with-cli.mdx @@ -99,4 +99,4 @@ queries or connect your application to Cube Cloud API. [ref-cloud-connecting-to-databases]: /admin/connect-to-data/data-sources -[ref-cloud-playground]: /cloud/dev-tools/dev-playground +[ref-cloud-playground]: /docs/explore-analyze/playground diff --git a/docs-mintlify/docs/integrations/power-bi/index.mdx b/docs-mintlify/docs/integrations/power-bi/index.mdx index b10c182bdd572..3be48f5c7540a 100644 --- a/docs-mintlify/docs/integrations/power-bi/index.mdx +++ b/docs-mintlify/docs/integrations/power-bi/index.mdx @@ -65,7 +65,7 @@ than the DAX API. However, this is the only option when using Cube Core. [link-powerbi]: https://www.microsoft.com/en-gb/power-platform/products/power-bi/ [link-powerbi-desktop-vs-service]: https://learn.microsoft.com/en-us/power-bi/fundamentals/service-service-vs-desktop [link-powerbi-gateway]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-integrations-apis]: /admin/connect-to-data/visualization-tools [ref-sql-api]: /reference/core-data-apis/sql-api [ref-sls]: /docs/integrations/semantic-layer-sync diff --git a/docs-mintlify/docs/integrations/power-bi/kerberos.mdx b/docs-mintlify/docs/integrations/power-bi/kerberos.mdx index 4a71a10369f1c..ab7b952a31240 100644 --- a/docs-mintlify/docs/integrations/power-bi/kerberos.mdx +++ b/docs-mintlify/docs/integrations/power-bi/kerberos.mdx @@ -194,6 +194,6 @@ receives is just a string — what you map to it is your decision. [link-ktpass]: https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass [ref-power-bi]: /admin/connect-to-data/visualization-tools/powerbi#connecting-from-power-bi [link-kerberos]: https://en.wikipedia.org/wiki/Kerberos_(protocol)#Microsoft_Windows -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-config-check-sql-auth]: /reference/configuration/config#check_sql_auth [ref-scim]: /admin/sso/microsoft-entra-id/scim \ No newline at end of file diff --git a/docs-mintlify/docs/integrations/power-bi/ntlm.mdx b/docs-mintlify/docs/integrations/power-bi/ntlm.mdx index 6e2286ec0ee8b..31d85c6118f39 100644 --- a/docs-mintlify/docs/integrations/power-bi/ntlm.mdx +++ b/docs-mintlify/docs/integrations/power-bi/ntlm.mdx @@ -96,7 +96,7 @@ of the master user account were passed. [link-ntlm]: https://en.wikipedia.org/wiki/NTLM -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [link-power-bi-opdg]: https://learn.microsoft.com/en-us/power-bi/connect-data/service-gateway-onprem [ref-kerberos]: /docs/integrations/power-bi/kerberos [ref-config-check-sql-auth]: /reference/configuration/config#check_sql_auth diff --git a/docs-mintlify/docs/integrations/slack.mdx b/docs-mintlify/docs/integrations/slack.mdx index 2da1bf09e9d48..75f042207ce93 100644 --- a/docs-mintlify/docs/integrations/slack.mdx +++ b/docs-mintlify/docs/integrations/slack.mdx @@ -102,5 +102,5 @@ Slack Agent is in active development. The following limitations apply: [ref-analytics-chat]: /docs/explore-analyze/analytics-chat [ref-notifications]: /docs/explore-analyze/notifications -[ref-scheduled-refreshes]: /analytics/scheduled-refreshes +[ref-scheduled-refreshes]: /docs/explore-analyze/scheduled-refreshes [ref-rules]: /admin/ai/rules diff --git a/docs-mintlify/docs/integrations/tableau.mdx b/docs-mintlify/docs/integrations/tableau.mdx index 55739a97bc308..0d11915a705de 100644 --- a/docs-mintlify/docs/integrations/tableau.mdx +++ b/docs-mintlify/docs/integrations/tableau.mdx @@ -132,7 +132,7 @@ You can use [user attributes][ref-user-attributes] and [ref-sls]: /docs/integrations/semantic-layer-sync [ref-scim]: /admin/sso/microsoft-entra-id/scim [ref-entra]: /admin/sso/microsoft-entra-id -[ref-okta]: /admin/sso/okta +[ref-okta]: /admin/sso/okta/saml [ref-user-attributes]: /admin/users-and-permissions/user-attributes [ref-user-groups]: /admin/users-and-permissions/user-groups [ref-dap]: /docs/data-modeling/data-access-policies diff --git a/docs-mintlify/recipes/configuration/environment-variables.mdx b/docs-mintlify/recipes/configuration/environment-variables.mdx index 0b39e6bc274e2..869b43d81fb6a 100644 --- a/docs-mintlify/recipes/configuration/environment-variables.mdx +++ b/docs-mintlify/recipes/configuration/environment-variables.mdx @@ -157,9 +157,9 @@ cube(`my_cube`, { ``` -[ref-data-model-syntax]: /docs/data-modeling/syntax +[ref-data-model-syntax]: /docs/data-modeling/concepts/syntax [ref-config-files]: /admin/connect-to-data#cubepy-and-cubejs-files -[ref-docker-compose-config]: /docs/deployment/core#configuration +[ref-docker-compose-config]: /admin/deployment/core#configuration [ref-python-globals]: /docs/data-modeling/dynamic/jinja#python [ref-template-context]: /reference/data-modeling/cube-package#templatecontext-class [ref-nodejs-globals]: /docs/data-modeling/dynamic/schema-execution-environment#nodejs-globals-processenv-consolelog-and-others \ No newline at end of file diff --git a/docs-mintlify/recipes/core-data-api/sorting.mdx b/docs-mintlify/recipes/core-data-api/sorting.mdx index d82361521bb8d..6379e4e4eeecf 100644 --- a/docs-mintlify/recipes/core-data-api/sorting.mdx +++ b/docs-mintlify/recipes/core-data-api/sorting.mdx @@ -152,5 +152,5 @@ As you can see, now `NULL` values of the `value` dimension appear first in the result set. -[ref-queries]: /reference/queries +[ref-queries]: /reference/core-data-apis/queries [ref-data-apis]: /reference#data-apis \ No newline at end of file diff --git a/docs-mintlify/recipes/data-modeling/custom-order.mdx b/docs-mintlify/recipes/data-modeling/custom-order.mdx index 0a4f83ceff880..016d8c6525712 100644 --- a/docs-mintlify/recipes/data-modeling/custom-order.mdx +++ b/docs-mintlify/recipes/data-modeling/custom-order.mdx @@ -183,4 +183,4 @@ stable business rule that should be available to all consumers. [ref-data-apis]: /reference#data-apis [ref-sql-api]: /reference/core-data-apis/sql-api [ref-custom-sorting]: /recipes/core-data-api/sorting -[ref-workbooks]: /docs/workspace/workbooks +[ref-workbooks]: /docs/explore-analyze/workbooks diff --git a/docs-mintlify/recipes/data-modeling/funnels.mdx b/docs-mintlify/recipes/data-modeling/funnels.mdx index 58b8224478c9d..4a88e6f81d3be 100644 --- a/docs-mintlify/recipes/data-modeling/funnels.mdx +++ b/docs-mintlify/recipes/data-modeling/funnels.mdx @@ -328,6 +328,6 @@ cube(`PurchaseFunnel`, { }) ``` -[ref-modeling-syntax]: /docs/data-modeling/syntax +[ref-modeling-syntax]: /docs/data-modeling/concepts/syntax [ref-partitioned-rollups]: /docs/pre-aggregations/using-pre-aggregations#time-partitioning [ref-schema-ref-preaggs-origsql]: /reference/data-modeling/pre-aggregations#original_sql \ No newline at end of file diff --git a/docs-mintlify/recipes/data-modeling/style-guide.mdx b/docs-mintlify/recipes/data-modeling/style-guide.mdx index d90e4571373d8..b4e380ece48db 100644 --- a/docs-mintlify/recipes/data-modeling/style-guide.mdx +++ b/docs-mintlify/recipes/data-modeling/style-guide.mdx @@ -327,9 +327,9 @@ This style guide was inspired in part by: - [LAMS Style Guide](https://looker-open-source.github.io/look-at-me-sideways/rules.html) [cpn]: https://cube.dev/consulting/cube-partner-network -[ref-syntax-model]: /docs/data-modeling/syntax#model-syntax -[ref-syntax-naming]: /docs/data-modeling/syntax#naming -[ref-syntax-folder-structure]: /docs/data-modeling/syntax#folder-structure +[ref-syntax-model]: /docs/data-modeling/concepts/syntax#model-syntax +[ref-syntax-naming]: /docs/data-modeling/concepts/syntax#naming +[ref-syntax-folder-structure]: /docs/data-modeling/concepts/syntax#folder-structure [ref-public]: /reference/data-modeling/cube#public [ref-sql-table]: /reference/data-modeling/cube#sql_table [ref-join-rel]: /reference/data-modeling/joins#relationship diff --git a/docs-mintlify/recipes/data-modeling/xirr.mdx b/docs-mintlify/recipes/data-modeling/xirr.mdx index 9b5f2f5eeb965..e92574ef11c1a 100644 --- a/docs-mintlify/recipes/data-modeling/xirr.mdx +++ b/docs-mintlify/recipes/data-modeling/xirr.mdx @@ -183,7 +183,7 @@ All queries above would yield the same result: [ref-sql-api]: /reference/core-data-apis/sql-api/reference#custom-functions -[ref-dax-api]: /reference/dax-api/reference#financial-functions +[ref-dax-api]: /reference/core-data-apis/dax-api/reference#financial-functions [ref-rest-api]: /reference/core-data-apis/rest-api [ref-query-wpp]: /reference/core-data-apis/queries#query-with-post-processing [ref-query-regular]: /reference/core-data-apis/queries#regular-query diff --git a/docs-mintlify/recipes/pre-aggregations/incrementally-building-pre-aggregations-for-a-date-range.mdx b/docs-mintlify/recipes/pre-aggregations/incrementally-building-pre-aggregations-for-a-date-range.mdx index aaa54331fc226..506803d14db29 100644 --- a/docs-mintlify/recipes/pre-aggregations/incrementally-building-pre-aggregations-for-a-date-range.mdx +++ b/docs-mintlify/recipes/pre-aggregations/incrementally-building-pre-aggregations-for-a-date-range.mdx @@ -254,5 +254,5 @@ used to apply the build ranges as defined by `build_range_start` and [ref-schema-ref-preagg-buildrange]: /reference/data-modeling/pre-aggregations#build_range_start-and-build_range_end [ref-schema-ref-cube-filterparam]: /reference/data-modeling/context-variables#filter_params -[self-config-aws-athena]: /config/databases/aws-athena/ +[self-config-aws-athena]: /admin/connect-to-data/data-sources/aws-athena [self-config-google-bigquery]: /admin/connect-to-data/data-sources/google-bigquery \ No newline at end of file diff --git a/docs-mintlify/reference/configuration/config.mdx b/docs-mintlify/reference/configuration/config.mdx index 36786b1a3f46e..088b58961bdf3 100644 --- a/docs-mintlify/reference/configuration/config.mdx +++ b/docs-mintlify/reference/configuration/config.mdx @@ -1512,7 +1512,7 @@ module.exports = { [ref-config-options]: /admin/connect-to-data#configuration-options [self-orchestrator-id]: #context_to_orchestrator_id [ref-multiple-data-sources]: /admin/connect-to-data/multiple-data-sources -[ref-websockets]: /reference/core-data-apis/rest-api/real-time-data-fetch +[ref-websockets]: /recipes/core-data-api/real-time-data-fetch [ref-matching-preaggs]: /docs/pre-aggregations/matching-pre-aggregations [link-snake-case]: https://en.wikipedia.org/wiki/Snake_case [link-camel-case]: https://en.wikipedia.org/wiki/Camel_case @@ -1521,6 +1521,6 @@ module.exports = { [ref-dap]: /docs/data-modeling/data-access-policies [ref-dap-roles]: /docs/data-modeling/data-access-policies#data-access-roles [ref-auth-integration]: /docs/data-modeling/access-control#authentication-integration -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [ref-ntlm]: /docs/integrations/power-bi/ntlm [ref-environments]: /admin/deployment/environments \ No newline at end of file diff --git a/docs-mintlify/reference/configuration/environment-variables.mdx b/docs-mintlify/reference/configuration/environment-variables.mdx index 46239b2644284..4a0147c1e4e19 100644 --- a/docs-mintlify/reference/configuration/environment-variables.mdx +++ b/docs-mintlify/reference/configuration/environment-variables.mdx @@ -191,7 +191,7 @@ from [**Settings → Data Sources**][ref-config-multiple-ds-cloud]. The page writes, updates, and removes it as you add or delete named sources — you only need to hand-edit it when configuring Cube Core or when overriding the UI from -[**Settings → Environment Variables**](/admin/index#environment-variables). +[**Settings → Environment Variables**](/admin#environment-variables). @@ -2136,8 +2136,8 @@ The port for a Cube deployment to listen to API connections on. [ref-context-to-app-id]: /reference/configuration/config#context_to_app_id [ref-environments]: /admin/deployment/environments [ref-databricks-m2m-oauth]: https://docs.databricks.com/aws/en/dev-tools/auth/oauth-m2m -[ref-mdx-api]: /reference/mdx-api -[ref-mdx-api-locale]: /reference/mdx-api#measure-format +[ref-mdx-api]: /reference/core-data-apis/mdx-api +[ref-mdx-api-locale]: /reference/core-data-apis/mdx-api#measure-format [ref-time-dimensions]: /reference/data-modeling/dimensions#type [ref-time-zone]: /reference/core-data-apis/queries#time-zone [link-tzdb]: https://en.wikipedia.org/wiki/Tz_database diff --git a/docs-mintlify/reference/control-plane-api.mdx b/docs-mintlify/reference/control-plane-api.mdx index c1b905f3a93a4..3b02a5264086f 100644 --- a/docs-mintlify/reference/control-plane-api.mdx +++ b/docs-mintlify/reference/control-plane-api.mdx @@ -260,8 +260,8 @@ curl \ [ref-core-data-apis]: /reference/core-data-apis [ref-rest-api]: /reference/core-data-apis/rest-api [ref-metadata-api]: /reference/core-data-apis/rest-api/reference#metadata-api -[ref-deployments]: /admin/deployment/index -[ref-environments]: /admin/workspace/environments +[ref-deployments]: /admin/deployment +[ref-environments]: /admin/deployment/environments [ref-api-keys]: /admin/account-billing/api-keys [ref-security-context]: /docs/data-modeling/access-control/context [ref-audit-log]: /admin/monitoring/audit-log \ No newline at end of file diff --git a/docs-mintlify/reference/core-data-apis/dax-api/index.mdx b/docs-mintlify/reference/core-data-apis/dax-api/index.mdx index 0ea19afed4c1f..3430840daddce 100644 --- a/docs-mintlify/reference/core-data-apis/dax-api/index.mdx +++ b/docs-mintlify/reference/core-data-apis/dax-api/index.mdx @@ -88,7 +88,7 @@ and use it. [ref-cross-view-filter]: /reference/core-data-apis/dax-api/cross-view-filter [link-dax]: https://learn.microsoft.com/en-us/dax/ [ref-sql-api]: /reference/core-data-apis/sql-api -[ref-ref-dax-api]: /reference/dax-api/reference +[ref-ref-dax-api]: /reference/core-data-apis/dax-api/reference [ref-views]: /docs/data-modeling/views [ref-time-dimensions]: /docs/data-modeling/dimensions#time-dimensions [ref-kerberos]: /docs/integrations/power-bi/kerberos diff --git a/docs-mintlify/reference/core-data-apis/dax-api/reference.mdx b/docs-mintlify/reference/core-data-apis/dax-api/reference.mdx index ec94409d90209..f872744f98034 100644 --- a/docs-mintlify/reference/core-data-apis/dax-api/reference.mdx +++ b/docs-mintlify/reference/core-data-apis/dax-api/reference.mdx @@ -382,5 +382,5 @@ No time intelligence functions currently supported. | [`SAMPLEAXISWITHLOCALMINMAX`](https://learn.microsoft.com/en-us/dax/sampleaxiswithlocalminmax-function-dax) | — | Acts as the `TOPN` function | -[ref-dax-api]: /reference/dax-api +[ref-dax-api]: /reference/core-data-apis/dax-api [link-dax-func-reference]: https://learn.microsoft.com/en-us/dax/dax-function-reference \ No newline at end of file diff --git a/docs-mintlify/reference/core-data-apis/graphql-api/index.mdx b/docs-mintlify/reference/core-data-apis/graphql-api/index.mdx index b40921af4f5cd..c477a503d0655 100644 --- a/docs-mintlify/reference/core-data-apis/graphql-api/index.mdx +++ b/docs-mintlify/reference/core-data-apis/graphql-api/index.mdx @@ -233,8 +233,8 @@ to our query as follows: [graphql]: https://graphql.org [cube-ea]: https://cube.dev/use-cases/embedded-analytics [ref-ref-graphql-api]: /reference/core-data-apis/graphql-api/reference -[ref-websockets]: /reference/core-data-apis/rest-api/real-time-data-fetch#web-sockets -[ref-subscriptions]: /reference/core-data-apis/rest-api/real-time-data-fetch#client-subscriptions +[ref-websockets]: /recipes/core-data-api/real-time-data-fetch#web-sockets +[ref-subscriptions]: /recipes/core-data-api/real-time-data-fetch#client-subscriptions [ref-compare-date-range]: /reference/core-data-apis/queries#compare-date-range-query [ref-metadata]: /reference/core-data-apis/rest-api/reference#base_path/v1/meta [ref-pivot-config]: /reference/javascript-sdk/reference/cubejs-client-core#pivotconfig diff --git a/docs-mintlify/reference/core-data-apis/index.mdx b/docs-mintlify/reference/core-data-apis/index.mdx index 5e8d4f5738db5..3c1193ca7f31d 100644 --- a/docs-mintlify/reference/core-data-apis/index.mdx +++ b/docs-mintlify/reference/core-data-apis/index.mdx @@ -94,9 +94,9 @@ tools][ref-viz-tools]: [ref-auth-ntlm]: /docs/integrations/power-bi/ntlm [ref-superset]: /admin/connect-to-data/visualization-tools/superset [ref-preset]: /admin/connect-to-data/visualization-tools/superset -[ref-playground]: /admin/workspace/playground +[ref-playground]: /docs/explore-analyze/playground [ref-custom-time-formats]: /reference/data-modeling/dimensions#format -[ref-workbooks]: /analytics/workbooks +[ref-workbooks]: /docs/explore-analyze/workbooks [ref-groups]: /admin/users-and-permissions/user-groups [ref-user-attributes]: /admin/users-and-permissions/user-attributes [ref-dap]: /docs/data-modeling/data-access-policies \ No newline at end of file diff --git a/docs-mintlify/reference/core-data-apis/queries.mdx b/docs-mintlify/reference/core-data-apis/queries.mdx index 757f9363b1a45..6d1deafba509f 100644 --- a/docs-mintlify/reference/core-data-apis/queries.mdx +++ b/docs-mintlify/reference/core-data-apis/queries.mdx @@ -410,7 +410,7 @@ called `count` to be defined in the cube or view. Please add one to resolve this [ref-sql-utils]: /reference/data-modeling/context-variables#sql_utils [ref-matching-preaggs-time-dimensions]: /docs/pre-aggregations/matching-pre-aggregations#matching-time-dimensions [ref-matching-preaggs-ungrouped]: /docs/pre-aggregations/matching-pre-aggregations#matching-ungrouped-queries -[ref-pagination-recipe]: /reference/recipes/pagination +[ref-pagination-recipe]: /recipes/core-data-api/pagination [ref-primary-key]: /reference/data-modeling/dimensions#primary_key [ref-conf-allow-ungrouped]: /reference/configuration/config#allow_ungrouped_without_primary_key [ref-caching]: /docs/pre-aggregations diff --git a/docs-mintlify/reference/core-data-apis/sql-api/index.mdx b/docs-mintlify/reference/core-data-apis/sql-api/index.mdx index d465a9acc71b6..02797307de832 100644 --- a/docs-mintlify/reference/core-data-apis/sql-api/index.mdx +++ b/docs-mintlify/reference/core-data-apis/sql-api/index.mdx @@ -244,8 +244,8 @@ Use the following environment variables to allocate more resources for query pla [link-postgres]: https://www.postgresql.org -[ref-dax-api]: /reference/dax-api -[ref-mdx-api]: /reference/mdx-api +[ref-dax-api]: /reference/core-data-apis/dax-api +[ref-mdx-api]: /reference/core-data-apis/mdx-api [ref-sls]: /docs/integrations/semantic-layer-sync [ref-sql-api-auth]: /reference/core-data-apis/sql-api/security [ref-config-checksqlauth]: /reference/configuration/config#checksqlauth @@ -261,7 +261,7 @@ Use the following environment variables to allocate more resources for query pla [ref-deepnote]: /admin/connect-to-data/visualization-tools/deepnote [ref-sql-query-format]: /reference/core-data-apis/sql-api/query-format [ref-ref-sql-api]: /reference/core-data-apis/sql-api/reference -[ref-data-model-concepts]: /docs/data-modeling/concepts +[ref-data-model-concepts]: /docs/data-modeling/overview [ref-regular-queries]: /reference/core-data-apis/queries#regular-query [ref-queries-wpp]: /reference/core-data-apis/queries#query-with-post-processing [ref-queries-wpd]: /reference/core-data-apis/queries#query-with-pushdown diff --git a/docs-mintlify/reference/core-data-apis/sql-api/query-format.mdx b/docs-mintlify/reference/core-data-apis/sql-api/query-format.mdx index a8cdaedbd548a..459cb82d437aa 100644 --- a/docs-mintlify/reference/core-data-apis/sql-api/query-format.mdx +++ b/docs-mintlify/reference/core-data-apis/sql-api/query-format.mdx @@ -410,7 +410,7 @@ As you can see, the sorting operation is done after the regular query and the pr [ref-regular-queries]: /reference/core-data-apis/queries#regular-query [ref-queries-wpp]: /reference/core-data-apis/queries#query-with-post-processing [ref-queries-wpd]: /reference/core-data-apis/queries#query-with-pushdown -[ref-data-model-concepts]: /docs/data-modeling/concepts +[ref-data-model-concepts]: /docs/data-modeling/overview [ref-measure-types]: /reference/data-modeling/measures#type [ref-query-default-limit]: /reference/core-data-apis/queries#row-limit [ref-ref-sql-api]: /reference/core-data-apis/sql-api/reference diff --git a/docs-mintlify/reference/data-modeling/context-variables.mdx b/docs-mintlify/reference/data-modeling/context-variables.mdx index 4e7f0efeb9bd9..34919d971bab8 100644 --- a/docs-mintlify/reference/data-modeling/context-variables.mdx +++ b/docs-mintlify/reference/data-modeling/context-variables.mdx @@ -812,7 +812,7 @@ cube(`orders`, { [ref-config-queryrewrite]: /reference/configuration/config#query_rewrite [ref-sec-ctx]: /docs/data-modeling/access-control/context [ref-ref-cubes]: /reference/data-modeling/cube -[ref-syntax-references]: /docs/data-modeling/syntax#references +[ref-syntax-references]: /docs/data-modeling/concepts/syntax#references [ref-dynamic-data-models]: /docs/data-modeling/dynamic/jinja [ref-query-filter]: /reference/core-data-apis/rest-api/query-format#query-properties [ref-dynamic-jinja]: /docs/data-modeling/dynamic/jinja diff --git a/docs-mintlify/reference/data-modeling/cube-package.mdx b/docs-mintlify/reference/data-modeling/cube-package.mdx index 1e6cc3a540dab..33c190e3c552b 100644 --- a/docs-mintlify/reference/data-modeling/cube-package.mdx +++ b/docs-mintlify/reference/data-modeling/cube-package.mdx @@ -148,4 +148,4 @@ def wrap_2(data): [ref-config-options]: /admin/connect-to-data#configuration-options [ref-ref-config-options]: /reference/configuration/config -[ref-model-syntax]: /docs/data-modeling/syntax#model-syntax \ No newline at end of file +[ref-model-syntax]: /docs/data-modeling/concepts/syntax#model-syntax \ No newline at end of file diff --git a/docs-mintlify/reference/data-modeling/cube.mdx b/docs-mintlify/reference/data-modeling/cube.mdx index 4d44a9243454e..94b7b36b380aa 100644 --- a/docs-mintlify/reference/data-modeling/cube.mdx +++ b/docs-mintlify/reference/data-modeling/cube.mdx @@ -659,7 +659,7 @@ The `access_policy` parameter is used to configure [access policies][ref-ref-dap [ref-ai-context]: /docs/data-modeling/ai-context [ref-config-driverfactory]: /reference/configuration/config#driver_factory [ref-recipe-control-access-cubes-views]: /docs/data-modeling/access-control -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-playground]: /docs/explore-analyze/playground [ref-apis]: /reference [ref-ref-measures]: /reference/data-modeling/measures @@ -669,7 +669,7 @@ The `access_policy` parameter is used to configure [access policies][ref-ref-dap [ref-ref-joins]: /reference/data-modeling/joins [ref-ref-pre-aggs]: /reference/data-modeling/pre-aggregations [ref-ref-dap]: /reference/data-modeling/data-access-policies -[ref-syntax-cube-sql]: /docs/data-modeling/syntax#cubesql-function +[ref-syntax-cube-sql]: /docs/data-modeling/concepts/syntax#cubesql-function [ref-extension]: /docs/data-modeling/extending-cubes [ref-calendar-cubes]: /docs/data-modeling/concepts/calendar-cubes [ref-calendar-cubes-time-shifts]: /docs/data-modeling/concepts/calendar-cubes#time-shifts diff --git a/docs-mintlify/reference/data-modeling/cube_dbt.mdx b/docs-mintlify/reference/data-modeling/cube_dbt.mdx index 2778ed642b9e0..cdeba3f743cf5 100644 --- a/docs-mintlify/reference/data-modeling/cube_dbt.mdx +++ b/docs-mintlify/reference/data-modeling/cube_dbt.mdx @@ -510,7 +510,7 @@ cubes: [link-dbt-materializations]: https://docs.getdbt.com/docs/build/materializations [ref-cubes]: /reference/data-modeling/cube -[ref-model-syntax]: /docs/data-modeling/syntax#model-syntax +[ref-model-syntax]: /docs/data-modeling/concepts/syntax#model-syntax [ref-cube-sql-table]: /reference/data-modeling/cube#sql_table [ref-dimension-sql]: /reference/data-modeling/dimensions#sql [ref-dimension-type]: /reference/data-modeling/dimensions#type diff --git a/docs-mintlify/reference/data-modeling/dimensions.mdx b/docs-mintlify/reference/data-modeling/dimensions.mdx index bcbc4de73fcd0..3480065de405f 100644 --- a/docs-mintlify/reference/data-modeling/dimensions.mdx +++ b/docs-mintlify/reference/data-modeling/dimensions.mdx @@ -1313,7 +1313,7 @@ cube(`fiscal_calendar`, { [ref-schema-ref-joins]: /reference/data-modeling/joins [ref-subquery]: /docs/data-modeling/dimensions#subquery-dimensions [self-subquery]: #sub-query -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-playground]: /docs/explore-analyze/playground [ref-apis]: /reference [ref-time-dimensions]: #type @@ -1337,7 +1337,7 @@ cube(`fiscal_calendar`, { [ref-workbooks]: /docs/explore-analyze/workbooks [link-target]: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a#target [link-tabler]: https://tabler.io/icons -[ref-references]: /docs/data-modeling/syntax#references +[ref-references]: /docs/data-modeling/concepts/syntax#references [ref-filter-params]: /reference/data-modeling/context-variables#filter_params [link-encode-uri-component]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent [ref-rest-filters]: /reference/core-data-apis/rest-api/query-format#query-properties \ No newline at end of file diff --git a/docs-mintlify/reference/data-modeling/hierarchies.mdx b/docs-mintlify/reference/data-modeling/hierarchies.mdx index dc3476deab6fc..4939fc7fb6b59 100644 --- a/docs-mintlify/reference/data-modeling/hierarchies.mdx +++ b/docs-mintlify/reference/data-modeling/hierarchies.mdx @@ -322,7 +322,7 @@ cube(`users`, { [ref-ref-cubes]: /reference/data-modeling/cube [ref-ref-dimensions]: /reference/data-modeling/dimensions [ref-ref-views]: /reference/data-modeling/view -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-apis-support]: /reference#data-modeling [ref-playground]: /docs/explore-analyze/playground#viewing-the-data-model [ref-viz-tools]: /admin/connect-to-data/visualization-tools \ No newline at end of file diff --git a/docs-mintlify/reference/data-modeling/joins.mdx b/docs-mintlify/reference/data-modeling/joins.mdx index f3aac849559da..72d58c04106d7 100644 --- a/docs-mintlify/reference/data-modeling/joins.mdx +++ b/docs-mintlify/reference/data-modeling/joins.mdx @@ -666,7 +666,7 @@ Please use views to address join predictability and stability. [ref-schema-fundamentals-join-dir]: /docs/data-modeling/joins#direction-of-joins [ref-schema-cube-sql]: /reference/data-modeling/cube#sql [ref-schema-data-blenging]: /docs/data-modeling/concepts/data-blending#data-blending -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [wiki-djikstra-alg]: https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm [wiki-left-join]: https://en.wikipedia.org/wiki/Join_(SQL)#Left_outer_join [wiki-1-1]: https://en.wikipedia.org/wiki/One-to-one_(data_model) diff --git a/docs-mintlify/reference/data-modeling/measures.mdx b/docs-mintlify/reference/data-modeling/measures.mdx index 501fc64624026..d2769a063d687 100644 --- a/docs-mintlify/reference/data-modeling/measures.mdx +++ b/docs-mintlify/reference/data-modeling/measures.mdx @@ -1486,8 +1486,8 @@ cube(`orders`, { [ref-ai-context]: /docs/data-modeling/ai-context [ref-ref-cubes]: /reference/data-modeling/cube [ref-schema-ref-types-formats-measures-formats]: /reference/data-modeling/measures#format -[ref-drilldowns]: /reference/recipes/drilldowns -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-drilldowns]: /recipes/core-data-api/drilldowns +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-playground]: /docs/explore-analyze/playground [ref-apis]: /reference [ref-rolling-window]: /docs/data-modeling/measures#rolling-windows diff --git a/docs-mintlify/reference/data-modeling/pre-aggregations.mdx b/docs-mintlify/reference/data-modeling/pre-aggregations.mdx index 7cb45edec6a9f..0d64bdf35911b 100644 --- a/docs-mintlify/reference/data-modeling/pre-aggregations.mdx +++ b/docs-mintlify/reference/data-modeling/pre-aggregations.mdx @@ -1820,7 +1820,7 @@ cube(`orders`, { [ref-schema-measures]: /reference/data-modeling/measures [ref-schema-segments]: /reference/data-modeling/segments [ref-schema-types-dim-time]: /reference/data-modeling/dimensions#type -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [self-granularity]: #granularity [self-incremental]: #incremental [self-origsql-preaggs]: #use_original_sql_pre_aggregations diff --git a/docs-mintlify/reference/data-modeling/segments.mdx b/docs-mintlify/reference/data-modeling/segments.mdx index 7c15380eede1e..d14d248c250e7 100644 --- a/docs-mintlify/reference/data-modeling/segments.mdx +++ b/docs-mintlify/reference/data-modeling/segments.mdx @@ -337,6 +337,6 @@ cube(`users`, { [ref-ref-cubes]: /reference/data-modeling/cube [ref-backend-query]: /reference/core-data-apis/rest-api/query-format [ref-schema-gen]: /recipes/data-modeling/using-dynamic-measures -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-playground]: /docs/explore-analyze/playground [ref-apis]: /reference \ No newline at end of file diff --git a/docs-mintlify/reference/data-modeling/view.mdx b/docs-mintlify/reference/data-modeling/view.mdx index f937ae2f677d1..fcd1164c597dd 100644 --- a/docs-mintlify/reference/data-modeling/view.mdx +++ b/docs-mintlify/reference/data-modeling/view.mdx @@ -969,7 +969,7 @@ The `access_policy` parameter is used to configure [access policies][ref-ref-dap [ref-ai-context]: /docs/data-modeling/ai-context [ref-recipe-control-access-cubes-views]: /docs/data-modeling/access-control -[ref-naming]: /docs/data-modeling/syntax#naming +[ref-naming]: /docs/data-modeling/concepts/syntax#naming [ref-apis]: /reference [ref-ref-cubes]: /reference/data-modeling/cube [ref-ref-hierarchies]: /reference/data-modeling/hierarchies diff --git a/packages/cubejs-schema-compiler/src/compiler/CubeToMetaTransformer.ts b/packages/cubejs-schema-compiler/src/compiler/CubeToMetaTransformer.ts index 6587067dd909c..da4eb611c221e 100644 --- a/packages/cubejs-schema-compiler/src/compiler/CubeToMetaTransformer.ts +++ b/packages/cubejs-schema-compiler/src/compiler/CubeToMetaTransformer.ts @@ -112,7 +112,7 @@ export type LinkConfig = { label: string; dashboard?: string; icon?: string; - target: 'blank' | 'self'; + target?: 'blank' | 'self'; primary?: boolean; params?: string[]; }; @@ -341,7 +341,7 @@ export class CubeToMetaTransformer implements CompilerInterface { label: link.label, ...(link.dashboard ? { dashboard: typeof link.dashboard === 'function' ? link.dashboard() : link.dashboard } : {}), icon: link.icon, - target: link.target || 'blank', + ...(link.target ? { target: link.target } : {}), ...(link.primary ? { primary: true } : {}), ...(link.params && Array.isArray(link.params) && link.params.length > 0 ? { params: link.params.map((p: any) => (typeof p.key === 'function' ? p.key() : p.key)) } diff --git a/packages/cubejs-schema-compiler/test/unit/links.test.ts b/packages/cubejs-schema-compiler/test/unit/links.test.ts index ac46b24d0eade..f422ebe5c9698 100644 --- a/packages/cubejs-schema-compiler/test/unit/links.test.ts +++ b/packages/cubejs-schema-compiler/test/unit/links.test.ts @@ -91,6 +91,12 @@ cubes: expect(fullNameDim!.links![0].icon).toBe('brand-google'); expect(fullNameDim!.links![0].target).toBe('blank'); + // The send_email link does not set a target in the model, so target + // must not be stamped into the meta (no implicit 'blank' default). + expect(fullNameDim!.links![1].label).toBe('Write an email'); + expect(fullNameDim!.links![1].target).toBeUndefined(); + expect('target' in fullNameDim!.links![1]).toBe(false); + const syntheticDim = usersCube!.config.dimensions.find( (d: any) => d.name === 'users.full_name___link_google_search_url' ); @@ -266,6 +272,25 @@ cubes: expect(fullNameDim!.links![0].dashboard).toBe('abc123'); }); + it('should not stamp a default target on dashboard links', async () => { + const compilers = prepareYamlCompiler(schemaWithDashboardLink); + await compilers.compiler.compile(); + + const { metaTransformer } = compilers; + const { cubes } = metaTransformer; + const usersCube = cubes.find((c: any) => c.config.name === 'users'); + expect(usersCube).toBeDefined(); + + const fullNameDim = usersCube!.config.dimensions.find( + (d: any) => d.name === 'users.full_name' + ); + expect(fullNameDim).toBeDefined(); + // The dashboard link does not specify a target, so meta must not + // force target: 'blank' onto it. + expect(fullNameDim!.links![0].target).toBeUndefined(); + expect('target' in fullNameDim!.links![0]).toBe(false); + }); + it('should not allow both url and dashboard on same link', async () => { const invalidSchema = ` cubes: diff --git a/rust/cubestore/cubestore/src/config/mod.rs b/rust/cubestore/cubestore/src/config/mod.rs index 366e522ab81ff..f8cc36a0c92de 100644 --- a/rust/cubestore/cubestore/src/config/mod.rs +++ b/rust/cubestore/cubestore/src/config/mod.rs @@ -463,6 +463,8 @@ pub trait ConfigObj: DIService { fn stale_stream_timeout(&self) -> u64; + fn streaming_lag_timeout_ms(&self) -> u64; + fn select_workers(&self) -> &Vec; fn worker_bind_address(&self) -> &Option; @@ -717,6 +719,7 @@ pub struct ConfigObjImpl { pub meta_store_snapshot_interval: u64, pub gc_loop_interval: u64, pub stale_stream_timeout: u64, + pub streaming_lag_timeout_ms: u64, pub select_workers: Vec, pub worker_bind_address: Option, pub metastore_bind_address: Option, @@ -945,6 +948,10 @@ impl ConfigObj for ConfigObjImpl { self.stale_stream_timeout } + fn streaming_lag_timeout_ms(&self) -> u64 { + self.streaming_lag_timeout_ms + } + fn select_workers(&self) -> &Vec { &self.select_workers } @@ -1734,6 +1741,7 @@ impl Config { meta_store_snapshot_interval: 300, gc_loop_interval: 60, stale_stream_timeout: env_parse("CUBESTORE_STALE_STREAM_TIMEOUT", 600), + streaming_lag_timeout_ms: env_parse("CUBESTORE_STREAMING_LAG_TIMEOUT_MS", 5000), select_workers: env::var("CUBESTORE_WORKERS") .ok() .map(|v| v.split(",").map(|s| s.to_string()).collect()) @@ -2099,6 +2107,7 @@ impl Config { in_memory_not_used_timeout: 30, import_job_timeout: 600, stale_stream_timeout: 60, + streaming_lag_timeout_ms: 5000, select_workers: Vec::new(), worker_bind_address: None, metastore_bind_address: None, diff --git a/rust/cubestore/cubestore/src/http/mod.rs b/rust/cubestore/cubestore/src/http/mod.rs index cb8dc6dd9c4f4..ffa6e62b2a452 100644 --- a/rust/cubestore/cubestore/src/http/mod.rs +++ b/rust/cubestore/cubestore/src/http/mod.rs @@ -72,6 +72,12 @@ impl From for warp::reject::Rejection { } } +/// Rate limit errors are expected under load and are still returned to the client, +/// so they shouldn't pollute the error log. +fn is_rate_limit_error(e: &CubeError) -> bool { + e.message.to_ascii_lowercase().contains("rate limit") +} + #[derive(Deserialize)] pub struct UploadQuery { name: String, @@ -331,7 +337,13 @@ impl HttpServer { HttpCommand::QueryResultArrow { .. } => format!("HttpCommand::QueryResultArrow {{}}"), HttpCommand::QueryResultCompleted => format!("HttpCommand::QueryResultCompleted"), }; - log::error!( + let level = if is_rate_limit_error(&e) { + log::Level::Warn + } else { + log::Level::Error + }; + log::log!( + level, "Error processing HTTP command (connection_id={}): {}\nThe command: {}", if let Some(c) = connection_id.as_ref() { c.as_str() } else { "(None)" }, e.display_with_backtrace(), @@ -426,7 +438,13 @@ impl HttpServer { command, }, Err(e) => { - log::error!( + let level = if is_rate_limit_error(&e) { + log::Level::Warn + } else { + log::Level::Error + }; + log::log!( + level, "Error processing HTTP command: {}\nThe command: {}", e.display_with_backtrace(), command_text, diff --git a/rust/cubestore/cubestore/src/streaming/kafka.rs b/rust/cubestore/cubestore/src/streaming/kafka.rs index d18320a18beb9..565d0f4cd05a6 100644 --- a/rust/cubestore/cubestore/src/streaming/kafka.rs +++ b/rust/cubestore/cubestore/src/streaming/kafka.rs @@ -265,8 +265,13 @@ impl KafkaClientService for KafkaClientServiceImpl { let consumer = self.consumer.read().await.clone(); match consumer { Some(consumer) => { + // Must exceed the consumer's `fetch.wait.max.ms` (500ms by default): the broker + // serves requests on a connection serially, so this request can wait behind an + // in-flight long-poll Fetch. A shorter timeout expires while the request is in + // flight, forcing librdkafka to drop the whole connection. + let timeout = Duration::from_millis(self.config_obj.streaming_lag_timeout_ms()); let last_offset = cube_ext::spawn_blocking(move || { - match consumer.fetch_watermarks(&topic, partition, Duration::from_millis(200)) { + match consumer.fetch_watermarks(&topic, partition, timeout) { Ok((_, last_offset)) => Some(last_offset), Err(e) => { log::error!("KafraService: Error while fetching last_offset: {}", e);