diff --git a/docs/docs/build/connect/connect.md b/docs/docs/build/connect/connect.md index dbec6d9bf98..731bc0fe48d 100644 --- a/docs/docs/build/connect/connect.md +++ b/docs/docs/build/connect/connect.md @@ -7,6 +7,8 @@ sidebar_position: 00 + +
Rill supports a multitude of connectors to ingest data from various sources: local files, S3 or GCS buckets, download using HTTP(S), databases, data warehouses, and the list goes on. Rill can ingest `.csv`, `.tsv`, `.json`,and `.parquet` files, which may be compressed (`.gz`). This can be done either through the UI directly, when working with Rill Developer, or by pushing the logic into the [source YAML](../../reference/project-files/sources.md) definition directly (see _Using Code_ sections below). diff --git a/docs/docs/build/dashboards/dashboards.md b/docs/docs/build/dashboards/dashboards.md index 298697ad0e3..e7ed05c78b5 100644 --- a/docs/docs/build/dashboards/dashboards.md +++ b/docs/docs/build/dashboards/dashboards.md @@ -5,7 +5,7 @@ sidebar_label: Create Dashboards sidebar_position: 00 --- -In Rill, dashboards are one of many components that access the metrics layer. Currently, it is possible to create an explore dashboard but more features are on the way! +In Rill, dashboards are one of many components that access the metrics layer. Currently, it is only possible to create an explore dashboard but more features are on the way! ![img](/img/build/dashboard/explore-dashboard.png) @@ -27,7 +27,7 @@ measures: :::tip Starting in version 0.50, metrics view has been separated from dashboard. This allows for a cleaner, more accessible metrics layer and the ability to build various dashboards and components on top of a single metrics layer. For more information on why we decided to do this, please refer to the following: [Why separate the dashboard and metrics layer](/concepts/metrics-layer) -For migration steps, see [Migrations](/manage/migration#v049---v050). +For migration steps, see [Migrations](/latest-changes/v50-dashboard-changes#how-to-migrate-your-current-dashboards). ::: diff --git a/docs/docs/build/metrics-view/customize.md b/docs/docs/build/metrics-view/customize.md index 5a749f6077c..5e72ac09d07 100644 --- a/docs/docs/build/metrics-view/customize.md +++ b/docs/docs/build/metrics-view/customize.md @@ -7,7 +7,7 @@ sidebar_position: 30 ## Common Customizations -You will find below some common customizations and metrics-view configurations that are available for end users. +You will find below some common customizations and metrics view configurations that are available for end users. :::info Metric View properties @@ -39,7 +39,7 @@ Defining security policies for your data is crucial for security. For more infor version: 1 #defines version type: metrics_view # metrics_view -title: The title of your metrics_view +title: The title of your metrics view display_name: The display_name description: A description model: refernce the model or table, diff --git a/docs/docs/build/metrics-view/expressions.md b/docs/docs/build/metrics-view/expressions.md index 8c0f72027d2..0e78444b45e 100644 --- a/docs/docs/build/metrics-view/expressions.md +++ b/docs/docs/build/metrics-view/expressions.md @@ -19,7 +19,7 @@ Rill's modeling layer provides open-ended SQL compatibility for complex SQL quer ## Measure Expressions -Measure expressions can take any SQL numeric function, a set of aggregates and apply filters to create derived metrics. Reminder on basic expressions are available in the [create metrics-view definition](metrics-view.md#measures). +Measure expressions can take any SQL numeric function, a set of aggregates and apply filters to create derived metrics. Reminder on basic expressions are available in the [create metrics view definition](metrics-view.md#measures). ### Metric Formatting diff --git a/docs/docs/build/metrics-view/metrics-view.md b/docs/docs/build/metrics-view/metrics-view.md index 8ce2c7a19a9..f46ef74e587 100644 --- a/docs/docs/build/metrics-view/metrics-view.md +++ b/docs/docs/build/metrics-view/metrics-view.md @@ -1,6 +1,6 @@ --- title: Create Metrics Views -description: Create metrics-view using source data and models with time, dimensions, and measures +description: Create metrics view using source data and models with time, dimensions, and measures sidebar_label: Create Metrics Views sidebar_position: 00 --- @@ -18,7 +18,7 @@ In Rill, your metrics view is defined by _metric definitions_. Metric definition :::tip Starting in version 0.50, metrics view has been separated from dashboard. This allows for a cleaner, more accessible metrics layer and the ability to build various dashboards and components on top of a single metrics layer. For more information on why we decided to do this, please refer to the following: [Why separate the dashboard and metrics layer](/concepts/metrics-layer) -For migration steps, see [Migrations](/manage/migration#v049---v050). +For migration steps, see [Migrations](/latest-changes/v50-dashboard-changes#how-to-migrate-your-current-dashboards). ::: ## Creating valid metrics @@ -71,7 +71,7 @@ In your Rill project directory, after the `metrics-view.yaml` file is created in version: 1 type: metrics_view -table: example_table # Choose a table to underpin your metrics +model: example_model # Choose a table to underpin your metrics timeseries: timestamp_column # Choose a timestamp column (if any) from your table dimensions: diff --git a/docs/docs/build/models/models.md b/docs/docs/build/models/models.md index 2999467bbff..3fd832014e2 100644 --- a/docs/docs/build/models/models.md +++ b/docs/docs/build/models/models.md @@ -5,11 +5,17 @@ sidebar_label: Create Models sidebar_position: 00 --- + +
+ + [Data models](/reference/project-files/models.md) in Rill are composed of SQL `SELECT` statements that operate on source data. They allow you to join, transform, and clean data. ## SQL transformations -Data transformations in Rill Developer are powered by DuckDB and their dialect of SQL (DuckDB SQL). Please visit [DuckDB SQL documentation](https://duckdb.org/docs/sql/introduction) to learn about how to write your queries. +By default, data transformations in Rill Developer are powered by DuckDB and their dialect of SQL (DuckDB SQL). Please visit [DuckDB SQL documentation](https://duckdb.org/docs/sql/introduction) to learn about how to write your queries. + +It is possible to change the default [OLAP engine](https://docs.rilldata.com/build/olap/) for [the entire project](https://docs.rilldata.com/reference/project-files/rill-yaml#configuring-the-default-olap-engine) or [a specific metrics view](https://docs.rilldata.com/reference/project-files/metrics-view). You will need to define the connector credentials within your Rill project, or via the environmental variables. For additional tips on commonly used expressions (either in models or dashboard definitions) visit our [common expressions page](../metrics-view/expressions.md). diff --git a/docs/docs/build/olap/olap.md b/docs/docs/build/olap/olap.md index 16f68e75ea6..322fe500814 100644 --- a/docs/docs/build/olap/olap.md +++ b/docs/docs/build/olap/olap.md @@ -33,6 +33,9 @@ Rill is continually evaluating additional OLAP engines that can be added. For a DuckDB is unique in that it can act as both a [source](../../reference/connectors/motherduck.md) and [OLAP engine](../../reference/olap-engines/duckdb.md) for Rill. If you wish to connect to existing tables in DuckDB though, you can simply use the [DuckDB connector](../../reference/connectors/motherduck.md#connecting-to-external-duckdb-as-a-source) to read a specific table or view from an accessible DuckDB database file and ingest the data into Rill. +![ch](/img/build/connect/duckdb.png) + + :::warning Rill will use DuckDB by default as an embedded OLAP engine but it is **not** currently possible to "bring your own DuckDB database" to be used as an alternative OLAP Engine. The internal DuckDB that Rill uses is hardcoded and not configurable (necessary for Rill Cloud consistency). @@ -52,9 +55,11 @@ When Druid has been configured as the [default OLAP engine](../../reference/proj When ClickHouse has been configured as the [default OLAP engine](../../reference/project-files/rill-yaml.md#configuring-the-default-olap-engine) for your project, any existing external tables that Rill can read and query should be shown through the Rill Developer UI. You can then create dashboards using these external ClickHouse tables. -
-![External ClickHouse tables](/img/build/connect/external-tables/external-clickhouse-table.png) -
+![ch](/img/build/connect/clickhouse.png) + +:::note No Source Folder in ClickHouse +There is no source folder in a ClickHouse based project as all of the tables exist on your ClickHouse Database and is read into Rill at start up. If you try to import data into a ClickHouse based project, you will likely result in errors stating that importing from XXX to ClickHouse is not supported. +::: ## Pinot diff --git a/docs/docs/concepts/metrics-layer.md b/docs/docs/concepts/metrics-layer.md index 97094db42b5..6a26f00a11c 100644 --- a/docs/docs/concepts/metrics-layer.md +++ b/docs/docs/concepts/metrics-layer.md @@ -1,46 +1,34 @@ --- -title: "What is a Metrics View?" +title: "What is a Metrics Layer?" sidebar_label: "What is a Metrics View?" sidebar_position: 11 hide_table_of_contents: true --- -What is a metrics layer, and why did we decide to split the dashboard into two individual components? - - ## What is a Metrics Layer? A metrics layer is a `centralized framework` used to define and organize **key metrics** for your organization. Having a centralized layer allows an organization to easily manage and re-use calculations across various reports, dashboard, and data tools. As Rill continues to grow, we decided to separate metrics layer from the dashboard configuration. - -### Historically, in Rill... - -
- -Historically in Rill, the metrics layer and dashboard configuration were a single file. As seen above, the metrics would be defined **inside** a dashboard YAML file along with the dashboard components and dashboard customizations. However, as we continue to create more features, we found that this was not the best approach. In order to create a metrics layer in Rill as a first class resource and not a consequence of dashboards, we found it necessary to split the two resources into their own files. Thus, the metrics-view was born. - :::tip -Starting from version 0.50, the operation of creating a dashboard via AI will create a metrics-view and dashboard separately in their own respective folders and navigate you to a preview of your dashboard. If you find that some of the metrics need to be modified, you will need to navigate to your [metrics/model_name_metrics.yaml](/build/metrics-view/) file. +Starting from version 0.50, the operation of creating a dashboard via AI will create a metrics view and dashboard separately in their own respective folders and navigate you to a preview of your dashboard. If you find that some of the metrics need to be modified, you will need to navigate to your [metrics/model_name_metrics.yaml](/build/metrics-view/) file. Assuming that you have the ' * ', select all, in your dashboard configurations, any changes will automatically be changed on your [explore dashboard](/build/dashboards/). ::: -## Splitting the Dashboard into two components, Metrics-view and Dashboard Configuration -Splitting the metrics view into its own component allows us more freedom to continue building Rill and adding new additional features. Instead of querying a dashboard for data, we would be querying the metrics-layer. The dashboard will directly query the metrics-view along with many new components that are currently being developed. -### New Metrics View as an independent object in Rill +## Introducing Metrics View +Within Rill, we refer to Metrics layers as a metrics view. It's a single view or file that contains all of your measures and dimensions that will be used to display the data in various ways. The metrics view also contains some configurations settings that are required to ensure that the data being displayed is as accurate as you need. -![img](/img/concepts/metrics-view/metrics-view-components.png) - -### (Explore) Dashboard +![img](/img/tutorials/102/new-viz-editor.png) -With the split of metrics view, dashboard configurations experienced an overhaul. Instead of defining measure and dimensions, you will now reference the object into your dashboard. What this allows is creating customized dashboards for specific viewers and reusability of a single metrics-view in multiple dashboards! +:::tip +It is possible to develop the metrics layer in a traditional BI-as-code manner as well as via the UI. To switch between the two, select the toggle in the top right corner. +::: -![img](/img/concepts/metrics-view/explore-dashboard.png) +## Interfacing with a Metrics view -For more information on what is changed, please review the [migrations](/manage/migration) and the [reference page](/reference/project-files/explore-dashboards). +A metrics view on its own does not have any visualization capabilities. Instead, the metrics view is the building block for all of the visualization and components within Rill. Please see below for the currently available and soon to be released features of Rill! -## More to come! +![img](/img/concepts/metrics-view/metrics-view-components.png) -New features are being developed as we speak! If you're curious, feel free to [contact us](/contact)! \ No newline at end of file diff --git a/docs/docs/deploy/deploy-dashboard/deploy-dashboard.md b/docs/docs/deploy/deploy-dashboard/deploy-dashboard.md index e8d023cc20a..f8a98192a01 100644 --- a/docs/docs/deploy/deploy-dashboard/deploy-dashboard.md +++ b/docs/docs/deploy/deploy-dashboard/deploy-dashboard.md @@ -188,7 +188,7 @@ Likewise, if using the UI by selecting the `Update` button, Rill will detect the :::tip Interested in using Gitlab? -Check out our documentation on deploying a [Rill project using Gitlab](deploy-from-ci.md)! +Check out our documentation on deploying a [Rill project using Gitlab](deploy-from-cli.md)! ::: diff --git a/docs/docs/deploy/deploy-dashboard/deploy-from-ci.md b/docs/docs/deploy/deploy-dashboard/deploy-from-cli.md similarity index 92% rename from docs/docs/deploy/deploy-dashboard/deploy-from-ci.md rename to docs/docs/deploy/deploy-dashboard/deploy-from-cli.md index dc3278445bb..9e40af9d128 100644 --- a/docs/docs/deploy/deploy-dashboard/deploy-from-ci.md +++ b/docs/docs/deploy/deploy-dashboard/deploy-from-cli.md @@ -11,7 +11,7 @@ Follow these steps to setup continuous deployment from Gitlab to Rill Cloud: 1. Create a new Gitlab repository and push your Rill project to it. -2. On your local, [authenticate with Rill Cloud](/manage/user-management.md#install-and-authenticate-the-rill-cli) and create an organization (replace `my-org-name` with your desired name): +2. On your local, [authenticate with Rill Cloud](/manage/user-management#logging-into-rill-cloud) and create an organization (replace `my-org-name` with your desired name): ```bash rill login rill org create my-org-name diff --git a/docs/docs/explore/dashboard-101.md b/docs/docs/explore/dashboard-101.md index bbce26d7f15..25130c0c432 100644 --- a/docs/docs/explore/dashboard-101.md +++ b/docs/docs/explore/dashboard-101.md @@ -36,7 +36,7 @@ The main screen of any Rill dashboard is called the _Explore_ page. As seen abov - _**Explore or Pivot:**_ You can switch the view from _explore_ to [_pivot_](https://docs.rilldata.com/explore/filters/pivot) by selecting either from the UI (see `pink` box) -- _**Alerts, Bookmarks and Sharing:**_ You can create an [alert](./alerts/alerts.md) by selecting the bell, customizing the default view of the dashboard (see `purple` box) to a predefined set of metrics, dimensions, and filters by selecting the [bookmark](bookmarks.md), or share the dashboard ([internally](/manage/user-management#option-1---admin-invites-user) or [externally](./public-url.md)) by clicking the `Share` button. +- _**Alerts, Bookmarks and Sharing:**_ You can create an [alert](./alerts/alerts.md) by selecting the bell, customizing the default view of the dashboard (see `purple` box) to a predefined set of metrics, dimensions, and filters by selecting the [bookmark](bookmarks.md), or share the dashboard ([internally](/manage/user-management#administrator-shares-from-rill-cloud) or [externally](./public-url.md)) by clicking the `Share` button. ### Metrics Panel diff --git a/docs/docs/explore/public-url.md b/docs/docs/explore/public-url.md index 70f5af9703b..62e1e90cd1c 100644 --- a/docs/docs/explore/public-url.md +++ b/docs/docs/explore/public-url.md @@ -41,9 +41,6 @@ You can now manage public URLs via the UI. You will find a new "settings" tab in ![img](/img/explore/publicurl/public-url-settings.png) ### via the CLI -:::tip -Starting from v.0.48, `public-url` has been rebranded to `public-url`. -::: ``` rill public-url Manage public URLs diff --git a/docs/docs/latest-changes/_category_.yml b/docs/docs/latest-changes/_category_.yml new file mode 100644 index 00000000000..7a18e1e6a95 --- /dev/null +++ b/docs/docs/latest-changes/_category_.yml @@ -0,0 +1,4 @@ +position: 90 +label: Changes +collapsible: false +collapsed: false \ No newline at end of file diff --git a/docs/docs/latest-changes/v50-dashboard-changes.md b/docs/docs/latest-changes/v50-dashboard-changes.md new file mode 100644 index 00000000000..6ec324ad49f --- /dev/null +++ b/docs/docs/latest-changes/v50-dashboard-changes.md @@ -0,0 +1,146 @@ +--- +title: "Dashboard split into two components" +description: For documenting required migrations +sidebar_label: "Changes to Dashboards" +sidebar_position: 60 +--- +As we continue to develope more features within Rill, it became clear that we needed to separate the dashboard into two components. +1. Metrics view +2. Dashboard configuration + +### Historically, in Rill... + +
+ +Historically in Rill, the metrics layer and dashboard configuration were a single file. As seen above, the metrics would be defined **inside** a dashboard YAML file along with the dashboard components and dashboard customizations. We found that this was not the best approach as we continued developement. In order to create a metrics layer in Rill as a first class resource and not a consequence of dashboards, we found it necessary to split the two resources into their own files. Thus, the metrics view was born. + +## Splitting the Dashboard into two components, Metrics view and Dashboard Configuration +Splitting the metrics view into its own component allows us more freedom to continue building Rill and adding new additional features. Instead of querying a dashboard for data, we would be querying the metrics-layer. The dashboard will directly query the metrics view along with many new components that are currently being developed. + +### New Metrics View as an independent object in Rill + +![img](/img/concepts/metrics-view/metrics-view-components.png) + +### (Explore) Dashboard + +With the split of metrics view, dashboard configurations experienced an overhaul. Instead of defining measure and dimensions, you will now reference the object into your dashboard. What this allows is creating customized dashboards for specific viewers and reusability of a single metrics view in multiple dashboards! + +![img](/img/concepts/metrics-view/explore-dashboard.png) + +## How to migrate your current Dashboards + +### version 0.49 -> version 0.50 + +Due to the [separation of dashboards to metrics layer and dashboards](/concepts/metrics-layer), you will need to review your current dashboards and make the following changes (note: Legacy dashboards will continue to function.): + +**[Sample Legacy Dashboard Contents](https://docs.rilldata.com/reference/project-files/explore-dashboards):** + +```yaml +title: #defined on metrics view and dashboard +model: #defined on metrics view +type: #defined on both, explore or metrics view +timeseries: #defined on metrics view + +smallest_time_grain: #defined in metrics view, + +default_dimensions: #separate default +default_measures: #values defined in +default_comparisons: #dashboard config +... + + + +measures: #defined in metrics view, + ... + +dimensions: #defined in metrics view, + ... + +security: #defined on both metrics view and dashboard but different capabilities + ... + +theme: #defined in dashboard + +available_time_zones: #defined in dashboard as time_zones: +available_time_ranges: #defined in dashboard as time_ranges: + +first_day_of_week: #defined in metrics view, +first_month_of_year: #defined in metrics view, + +``` +--- +**[Metrics View YAML](/reference/project-files/metrics-view):** + +Please check the reference for the required parameters for a metrics view. +```yaml +version: 1 #defines version +type: metrics_view # metrics_view + +title: The title of your metrics_view +display_name: The display_name +description: A description +model / table: reference to the model or table, +database / database_schema: #if using a different OLAP engine, refers to database and schema (usually not required) + +timeseries: your timeseries column + +smallest_time_grain: #defines the smallest time grain + +first_day_of_week: #defines first day of week +first_month_of_year: #defines first month of year + +dimensions: #your dimensions, can be copied from dashboard.yaml + - name: + label: + column/expression: + property: + description: + unnest: + uri: + +measures: #your measures, can be copied from dashboard.yaml + - name: + label: + type: + expressions: + window: + per: + requires: + description: + format_preset / format_d3: + valid_percent_of_total: + +security: #your security policies can be copied from dashboard.yaml +``` + +**[Explore dashboard YAML](/reference/project-files/explore-dashboards):** + +Please check the reference for the required parameters for an explore dashboard. + +```yaml +type: explore + +title: Title of your explore dashboard +description: a description +metrics_view: + +dimensions: '*' #can use regex +measures: '*' #can use regex + +theme: #your default theme + +time_ranges: #was available_time_ranges +time_zones: #was available_time_zones + +defaults: #define all the defaults within here + dimensions: + measures: + time_range: + comparison_mode: + comparison_dimension: + +security: + access: #only access can be set on dashboard level, see metric view for detailed access policy +``` + +For any questions, please [contact the team](https://docs.rilldata.com/contact) via Slack, email, Discord or the in-app chat! \ No newline at end of file diff --git a/docs/docs/manage/migration.md b/docs/docs/manage/migration.md deleted file mode 100644 index b1efeeb0850..00000000000 --- a/docs/docs/manage/migration.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: "Migrations" -description: For documenting required migrations -sidebar_label: "Migrations" -sidebar_position: 60 ---- - -Please refer to the changes below and recommended migration steps. - -## Migration - -### v0.49 -> v0.50 - -Due to the [separation of dashboards to metrics layer and dashboards](/concepts/metrics-layer), you will need to review your current dashboards and make the following changes (note: Legacy dashboards will continue to function.): - -**[Sample Legacy Dashboard Contents](https://docs.rilldata.com/reference/project-files/explore-dashboards):** - -```yaml -title: #needs to be defined on metrics-view and dashboard -model: #defined on metrics-view -type: #defined on both, explore or metrics-view -timeseries: #defined on metrics-view - -smallest_time_grain: #defined in metrics-view, - -default_...: #defined in dashboard - dimensions: - measures: - comparison: - ... - - -measures: #defined in metrics-view, - ... - -dimensions: #defined in metrics-view, - ... - -security: #defined on both metrics-view and dashboard but different capabilities - ... - -theme: #defined in dashboard - -available_time_zones: #defined in dashboard as time_zones: -available_time_ranges: #defined in dashboard as time_ranges: - -first_day_of_week: #defined in metrics-view, -first_month_of_year: #defined in metrics-view, - -``` - -**[Metrics_View YAML](/reference/project-files/metrics-view):** -```yaml -version: 1 #defines version -type: metrics_view # metrics_view - -title: The title of your metrics_view -display_name: The display_name -description: A description -model / table: refernce the model or table, -database / database_schema: #if using a different OLAP engine, refers to database and schema (usually not required) - -timeseries: your timeseries column - -smallest_time_grain: #defines the smallest time grain - -first_day_of_week: #defines first day of week -first_month_of_year: #defines first month of year - -dimensions: #your dimensions, can be copied from dashboard.yaml - - name: - label: - column/expression: - property: - description: - unnest: - uri: - -measures: #your measures, can be copied from dashboard.yaml - - name: - label: - type: - expressions: - window: - per: - requires: - description: - format_preset / format_d3: - valid_percent_of_total: - -security: #your security policies can be copied from dashboard.yaml -``` - -**[Explore dashboard YAML](/reference/project-files/explore-dashboards):** -```yaml -type: explore - -title: Title of your explore dashboard -description: a description -metrics_view: - -dimensions: '*' #can use regex -measures: '*' #can use regex - -theme: #your default theme - -time_ranges: #was available_time_ranges -time_zones: #was available_time_zones - -defaults: #define all the defaults within here - dimensions: - measures: - time_range: - comparison_mode: - comparison_dimension: - -security: - access: #only access can be set on dashboard level, see metric view for detailed access policy -``` - -For any questions, please [contact the team](https://docs.rilldata.com/contact) via Slack, email, Discord or the in-app chat! \ No newline at end of file diff --git a/docs/docs/manage/project-management.md b/docs/docs/manage/project-management.md index 00aef7e1767..61eb752478c 100644 --- a/docs/docs/manage/project-management.md +++ b/docs/docs/manage/project-management.md @@ -1,5 +1,5 @@ --- -title: "Organizations and Projects (Rill Cloud)" +title: "Organizations and Projects in Rill Cloud" description: Basic managment from projects sidebar_label: "Organizations and Projects" sidebar_position: 19 @@ -9,9 +9,11 @@ Once a project is ready to be deployed onto Rill Cloud, as an admin, you will ne ## Organization -An Organization in Rill is the parent management object and encompasses how your team or organization interfaces with Rill Cloud. Organizations are designed to hold the differnet components of your Rill project. Projects exist within an organization, which itself contains sources, models, dashboards, and other resources that belong to your standalone Rill projects. +![img](/img/manage/project-management/org-view.png) -If you'd like to create, edit, modify, or delete an organization, run the following command. +An Organization in Rill is the parent management object and encompasses how your team or organization interfaces with Rill Cloud. Organizations are designed to hold the differnet components of your Rill project. Organizations consists of projects that each consist of their own source, models, metrics view, dashboards and more. + +If you'd like to create, edit, modify, or delete an organization from the CLI, run the following command. ``` rill org @@ -37,21 +39,37 @@ Global Flags: :::tip -[Access to Rill can be granted on the organization level](user-management.md#adding-a-member-to-the-organization). +Access to Rill can be granted on the [organization level](/manage/user-management#how-to-add-an-organization-user), [project level](/manage/user-management#how-to-add-a-project-user), and [user group level](/manage/user-management#how-to-add-a-user-to-a-usergroup). ::: ## Project -A project is a single deployed instance from Rill Developer (or what we refer to as a Rill project). Each project can be connected to one GitHub repository. Once you have deployed a project to Rill Cloud, you can make changes to it via the CLI or the UI. +![project](/img/manage/project-management/project-view.png) + +A project is a single deployed instance from Rill Developer (or what we refer to as a Rill project). Each project can be connected to one GitHub repository. Once you have deployed a project to Rill Cloud, you can make changes to it via the CLI or via Rill Cloud. + +## Rill Cloud + +### Checking deployment status +After deploying to Rill Cloud, you will be navigating to the status page. Here you will be able to see your component's status and if there are any issues with loading or parsing. + +![img](/img/manage/project-management/status.png) + + +### Deploying from a branch other than `main` +If you have already setup your connection to GitHub, you can edit the branch from where the project is deployed from. + +![img](/img/manage/project-management/main-branch.png) + -### CLI +## CLI Managing a project includes the project itself and all components or resources that belong to the project. Via the CLI, you can make changes to the project's properties such as description, GitHub branch, etc using the following: ``` rill project ``` -#### Updating the deployment +### Refreshing the deployment Your project on Rill Cloud will automatically redeploy every time you git push changes to Github. To manually refresh data sources without pushing code changes (or redeploying your project), run the following command: @@ -60,37 +78,20 @@ rill project refresh ``` -#### Checking deployment status +### Checking deployment status In case you need to check the project status via the CLI, you can run the following: ``` rill project status ``` -#### Deploying from a branch other than `main` +### Deploying from a branch other than `main` A branch from which continuous deployment is setup can be changed while editing the project. To change the branch, run the following command: ``` rill project edit ``` -### UI -#### Checking deployment status -After deploying to Rill Cloud, you will be navigating to the status page. Here you will be able to see your component's status and if there are any issues with loading or parsing. - -![img](/img/manage/project-management/status.png) - - -#### Deploying from a branch other than `main` -If you have already setup your connection to GitHub, you can edit the branch from where the project is deployed from. - -![img](/img/manage/project-management/main-branch.png) - -:::tip - -[Access to Rill can be granted from the project level](user-management.md#adding-a-member-to-a-specific-project). - -::: ## Make a project public @@ -123,4 +124,4 @@ In the following example, you can see the different levels of access to Rill via 3. User groups permissions can either be added for the organization as a whole, or specific projects. - `rill usergroup create [--project project_name]` 4. All users added to an organization must have at least `viewer` privilege. - - In the above diagram, `User 5` is redundant as there's already `viewer` access. \ No newline at end of file + - In the above diagram, `User 5` is redundant as there's already `viewer` access. diff --git a/docs/docs/manage/settings.md b/docs/docs/manage/settings.md deleted file mode 100644 index f30722cefba..00000000000 --- a/docs/docs/manage/settings.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Settings" -description: For other Settings related to Rill Cloud -sidebar_label: "Settings" -sidebar_position: 55 ---- - -Settings in Rill Cloud give an easy access to manage objects and ensure that everything is working as expected. - - - -:::tip -Starting from version 0.50, we are beginning to port the ability to manage objects in Rill Cloud within the Rill Cloud UI. This includes, public URLs (currently released), user and group management, and more! -::: - -## Public URL - -Within the settings page, you can copy the URL of an existing public URL, delete existing public URLs, and check owner and last access date. - -![img](/img/manage/settings/rill-cloud-settings.png) - -import ComingSoon from '@site/src/components/ComingSoon'; - -## User and User Groups - - - -
-
\ No newline at end of file diff --git a/docs/docs/manage/user-management.md b/docs/docs/manage/user-management.md index 8f855c3e297..a0b0f058b89 100644 --- a/docs/docs/manage/user-management.md +++ b/docs/docs/manage/user-management.md @@ -1,10 +1,13 @@ --- title: User Management -sidebar_label: Users -sidebar_position: 22 +sidebar_label: User Management +sidebar_position: 21 --- -In Rill Cloud, access can be granted at the organization, project, or group level using the Rill CLI. +In Rill Cloud, there are three types of users: +1. [**Organizational Users**](#organization-users): these users have at least viewer access to all projects within an organization. +2. [**Project Users**](#project-users): these users have at least viewer access to a single Rill project. These users **do not** need to be part of the organization. +3. [**User group Users**](#user-groups): These users are added to your organization and are given permissions via user groups. :::info @@ -12,66 +15,76 @@ Note that the permissions may vary from each level, please review the [Roles and ::: -:::tip More UI-based workflows coming +:::tip More Rill Cloud workflows coming -We have begun releasing new features around user managment via the UI. If you'd like to learn more, please feel free to [reach out](contact.md)! +We have begun releasing new features around user managment via Rill Cloud. If you'd like to learn more, please feel free to [reach out](contact.md)! ::: -## Install and authenticate the Rill CLI - -To manage cloud permissions with the Rill CLI, you must first authenticate it. If you have not already done so, run: -``` -rill login -``` -## Adding a member to the organization +## Organization Users When you invite a user to an organization on Rill Cloud, they automatically get access to *all projects* in the organization. Users can have one of two roles: - **Viewers** can browse projects and view dashboards - **Admins** can manage projects by deploying new projects, making changes to existing projects, or deleting deployed projects. They can also manage members of an organization by granting or revoking access to other users. +For a detailed list of permissions, please refer to the [Roles and Permissions](roles-permissions.md). + +### How to add an Organization User +Administrators can be invited to an organization via the CLI directly or via a user group. -### Add a member -To add a member to an organization, run the following command: + +### Administrator invites user via the CLI ``` rill user add +? Select role [Use arrows to move, type to filter] +> admin + viewer ``` You will then be prompted for details about the user. :::tip Check your inbox (or spam) - If you add a user who has not yet signed up for Rill, they will receive an email inviting them to sign up and join. - ::: +### Administrator adds the user to a user group with organization access +If you have already set up a user group that has access on the organization level, instead of setting up users individually, you can [add them to the user group](#how-to-add-a-user-to-a-usergroup). +``` +rill user add --group +? Enter email +User "" added to the user group "" +``` + ### Automatically add members by email domain You can automatically add users to your organization by their email domain. For example, if you whitelist `yourdomain.com`, new and existing users with an email address ending on `@yourdomain.com` will automatically be added to your organization. -:::info Interested in whitelisting a domain? +:::info Interested in whitelisting a different domain? The feature currently requires manual action by a support representative at Rill. Just [reach out here](https://www.rilldata.com/contact) and ask us to whitelist your domain. ::: -### Other actions -Run `rill user --help` to show commands for listing members or changing access. +## Project Users +When a user gains access to Rill Cloud via the project invite, they will only be able to view that specific project. Project Users can have two roles: -## Adding a member to a specific project +- **Viewers** can browse the specific project and view dashboards +- **Admins** can manage the project by making changes to the project's files, gains access to the Status and Settings page on the project and can invite other admins to the project. -:::tip Did you know? +For a detailed list of permissions, please refer to the [Roles and Permissions](roles-permissions.md). -Starting from version 0.48, you can add a user to a specific project via the UI! +### How to add a Project User +There are a few ways to add a project user to Rill Cloud. +1. Administrator invites user to the project using `Share`. +2. User requests access via the project URL.`https://ui.rilldata.com/` +3. Adminstrator invites user via the CLI with `--project ` flag. -::: -### Via the UI -#### Option 1 - Admin invites user +### Admin invites user From the project's splash screen, please select share and type the email[s] along with the type of permissions. @@ -81,7 +94,7 @@ Once sent, your invited users will receive this email and will need to accept it ![img](/img/manage/user-management/email-invite.png) -#### Option 2 - User requests access +### User requests access via URL Alternatively, if you provide the project URL to your users, they can request access to the group admin. Users can request access via the page below: @@ -93,14 +106,7 @@ The admin would receive an email to allow access, and can set the permission aft --- -### Via the CLI -By default, adding a user to an organization grants them access to all its projects. You can alternatively add a user only to a specific project. Users can have one of two roles on a project: - -- **Viewers** can view the project's dashboards -- **Admins** can additionally edit the project, and view and edit project members - -#### Add a member - +### Administrator invites user via the CLI To add a member to a project, run the following command: ``` rill user add --project [PROJECT NAME] @@ -114,23 +120,40 @@ If you add a user who has not yet signed up for Rill, they will receive an email Run `rill user --help` to show commands for listing members or changing access. -## Adding a member to a specific user group +## User Groups Another way to manage user is via User groups. Users can be added to a group using the following from the Rill CLI. You can define the usergroup to have certain permissions on specific groups. -- **Viewers** can view the project's dashboards +- **Viewers** can view the project's dashboards that the user group has gained permissions - **Admins** can additionally edit the project, and view and edit project members +For more information on setting up [user group permissions](usergroup-management.md). + +### How to add a user to a Usergroup +There are two ways to add a user to a user group. +1. Administrator adds them via Rill Cloud (Coming soon!) +2. Administrator adds them via the CLI + +### Administrator adds from Rill Cloud +import ComingSoon from '@site/src/components/ComingSoon'; + + + +
+a +
+ +### Administrator adds from the CLI -### Add a member ``` rill user add --group ``` You will then be prompted for details on the user. :::note +You will not be asked the permissions when adding to a group as the group defines the user permissions. -Currently, only users part of the organization can be added to user groups. You will need to wait till after they accept the invitation to add them to a group. +If the user you are trying to add is not part of the organization yet, the CLI will prompt you to add them to the organization first then proceed to adding them to a group. ::: To see the current members of a group: @@ -144,9 +167,6 @@ To find the current user group roles, with project flag if looking for specific ``` rill usergroup list <--project my_project_name> ``` -### Other actions -Run `rill usergroup --help` to show commands for listing usergroups or changing access. - ## Which privilege wins? @@ -189,3 +209,21 @@ Afterwards, you should receive an email verification to complete the sign up pro You should now be authenticated with Rill Cloud and be able to sign-in directly going forward! + +## Reference: Walking through access levels + + +In the following example, you can see the different levels of access to Rill via the organization, project-specific access, user group and user privileges. + + + + + +### Key things to note +1. There are **three** levels of access: organizations, projects, and groups. +2. User groups can _only exist_ within an organization. + - In the case of adding a user who is not part of the organization to a user group, you will prompted to add them first. +3. User groups permissions can either be added for the organization as a whole, or specific projects. + - `rill usergroup create [--project project_name]` +4. All users added to an organization must have at least `viewer` privilege. + - In the above diagram, `User 5` is redundant as there's already `viewer` access. \ No newline at end of file diff --git a/docs/docs/manage/usergroup-management.md b/docs/docs/manage/usergroup-management.md index f86d563de1a..1d7e3d4b492 100644 --- a/docs/docs/manage/usergroup-management.md +++ b/docs/docs/manage/usergroup-management.md @@ -1,39 +1,46 @@ --- -title: User Group Management -sidebar_label: User Groups -sidebar_position: 20 +title: User group Permissions +sidebar_label: User Group Management +sidebar_position: 24 --- import ComingSoon from '@site/src/components/ComingSoon'; -## Managing User groups +Creating user groups in Rill allows administrators to easily grant permission to multiple projects at different access levels. It is possible to mix and match viewer and administrator permission in a single group and users can be part of mulitple groups. However, please keep in mind that the higher permission will be applied. -In Rill Cloud, access to projects can be granted via user groups via the CLI. +## Managing User groups Permissions +There are two ways to set up user groups in Rill. -``` -rill usergroup +1. Administrator via Rill Cloud (Coming soon!) +2. Administrator via CLI - Available Commands: - create Create a user group - rename Rename a user group - edit Edit a user group - show Show a user group - list List user groups - delete Delete a user group - add Add role to a user group in an organization or project - set Set role to a user group in an organization or project - remove Remove role of a user group in an organization or prodject -``` +### How to Manage User Groups in Rill Cloud + +
+a +
-## Install and authenticate the Rill CLI - -To manage cloud permissions with the Rill CLI, you must first authenticate it. If you have not already done so, run: +### How to Manage User Groups via the CLI ``` -rill login +rill usergroup +Manage user groups + +Usage: + rill usergroup [command] + +Available Commands: + list List groups + show Show group + create Create a group + rename Rename a group + edit Edit a group + delete Delete a group + add Add a group to a project or organization + set-role Change a group's role on a project or organization + remove Remove a group's role on a project or organization ``` - ## Creating the User group You can create a new user group by running the following and following the CLI instructions: @@ -56,8 +63,7 @@ rill usergroup add --project ``` You will be prompted for the role and the name of the group you are editing. If you want to specify a specific project, please use the --project flag. If no project flag is defined, you will be setting permission on the organization level. -- **Viewers** can view the project's dashboards -- **Admins** can additionally edit the project, and view and edit project members +If you have any questions on permission levels, please review the [Roles and Permissions page](roles-permissions.md). ### Add a member to the group @@ -74,10 +80,20 @@ rill user list --group ``` -### Other actions -Run `rill usergroup --help` to show commands for listing members or changing access. +## Reference: Walking through access levels + + +In the following example, you can see the different levels of access to Rill via the organization, project-specific access, user group and user privileges. + + + -:::note -Currently, users outside of the organization are unable to be added to usergroups. -::: \ No newline at end of file +### Key things to note +1. There are **three** levels of access: organizations, projects, and groups. +2. User groups can _only exist_ within an organization. + - In the case of adding a user who is not part of the organization to a user group, you will prompted to add them first. +3. User groups permissions can either be added for the organization as a whole, or specific projects. + - `rill usergroup create [--project project_name]` +4. All users added to an organization must have at least `viewer` privilege. + - In the above diagram, `User 5` is redundant as there's already `viewer` access. \ No newline at end of file diff --git a/docs/docs/reference/project-files/explore-dashboards.md b/docs/docs/reference/project-files/explore-dashboards.md index d3c5447eed0..17473b72819 100644 --- a/docs/docs/reference/project-files/explore-dashboards.md +++ b/docs/docs/reference/project-files/explore-dashboards.md @@ -12,7 +12,7 @@ In your Rill project directory, create a explore dashboard, `.ya **`type`** — Refers to the resource type and must be `explore` _(required)_. -**`metrics_view`** — Refers to the metrics_view resource _(required)_. +**`metrics_view`** — Refers to the metrics view resource _(required)_. **`title`** — Refers to the display name for the dashboard _(required)_. diff --git a/docs/docs/reference/project-files/rill-yaml.md b/docs/docs/reference/project-files/rill-yaml.md index 50eebfae2ee..b9f8c3a3ad9 100644 --- a/docs/docs/reference/project-files/rill-yaml.md +++ b/docs/docs/reference/project-files/rill-yaml.md @@ -10,9 +10,13 @@ The `rill.yaml` file contains metadata about your project. ## Properties **`title`** — the name of your project which will be displayed in the upper left hand corner + **`compiler`** — the Rill project compiler version compatible with your project files (currently defaults to: `rillv1`) + **`olap_connector`** - the default OLAP engine to use in your project + **`mock_users`** — a list of mock users to test against dashboard [security policies](/manage/security). For each mock user, possible attributes include: + - **`email`** — the mock user's email _(required)_ - **`name`** — the mock user's name - **`admin`** — whether or not the mock user is an admin diff --git a/docs/docs/tutorials/other/Rill Cloud/share-dashboard-publicly.md b/docs/docs/tutorials/other/Rill Cloud/share-dashboard-publicly.md index 9aa7e186295..6ca3b8f14b6 100644 --- a/docs/docs/tutorials/other/Rill Cloud/share-dashboard-publicly.md +++ b/docs/docs/tutorials/other/Rill Cloud/share-dashboard-publicly.md @@ -32,7 +32,7 @@ Once your dashboard is ready, you can create the public URL via the `Share` butt **via UI** -Public URL can also be managed via the Settings page in Rill Cloud. Please refer to the [administrators guide](https://docs.rilldata.com/tutorials/administration/project-maintanence#public-url-management)! +Public URL can also be managed via the Settings page in Rill Cloud. Please refer to the [administrators guide](https://docs.rilldata.com/tutorials/administration/project/project-maintanence#public-url-management)! diff --git a/docs/docs/tutorials/other/dashboard-row-policies.md b/docs/docs/tutorials/other/dashboard-row-policies.md index a5a2c66f433..ef5109d1f47 100644 --- a/docs/docs/tutorials/other/dashboard-row-policies.md +++ b/docs/docs/tutorials/other/dashboard-row-policies.md @@ -39,7 +39,7 @@ Now that this is created, you have a few options on which level you want to crea 1. Am I using the metrics view on other components other than the dashboard? IE: APIs, canvas dashboards 2. If I am using the metrics view in other locations, how strict do I want the metrics layer to be? -For most situations, you would define the dashboard policies at the metrics-view level. So let's do that. Let's create a new metrics view, `auction_data_model_metrics_row_policies.yaml`, and copy the contents of `auction_data_model_metrics.yaml` into it. +For most situations, you would define the dashboard policies at the metrics view level. So let's do that. Let's create a new metrics view, `auction_data_model_metrics_row_policies.yaml`, and copy the contents of `auction_data_model_metrics.yaml` into it. In our new file, we want to define the following security rule: ```yaml @@ -75,7 +75,7 @@ This is a relatively straight forward example of row policies in Rill. By settin Let's say you hired a contractor to assist with several customers. Mapping their domain or even email to the accounts will grant them visibility to only that specific data without having to create a new dashboard, metrics view, etc. -Grant Rill Data to three values in 'Pub Name', but for Roy only LG USA. You would need to modify the SQL statement in the metrics-view to also accommodate email. +Grant Rill Data to three values in 'Pub Name', but for Roy only LG USA. You would need to modify the SQL statement in the metrics view to also accommodate email. ```SQL -- Model SQL -- Reference documentation: https://docs.rilldata.com/reference/project-files/models diff --git a/docs/docs/tutorials/rill_advanced_features/advanced_developer/2-advanced-dashboard.md b/docs/docs/tutorials/rill_advanced_features/advanced_developer/2-advanced-dashboard.md index 9f931808371..19d75165f0b 100644 --- a/docs/docs/tutorials/rill_advanced_features/advanced_developer/2-advanced-dashboard.md +++ b/docs/docs/tutorials/rill_advanced_features/advanced_developer/2-advanced-dashboard.md @@ -7,8 +7,8 @@ sidebar_position: 16 ## Let's make a new dashboard -As we have learned in the previous course, we will need to set up the metrics-view based on the new column names. -Let's create a new metrics-view via the UI. It should be named `advanced_metrics-view.yaml`. Let's copy the contents from our old dashboard and make some changes. +As we have learned in the previous course, we will need to set up the metrics view based on the new column names. +Let's create a new metrics view via the UI. It should be named `advanced_metrics-view.yaml`. Let's copy the contents from our old dashboard and make some changes. First, we will want to change the `table` value to the new model name `advaned_commits___model` @@ -33,7 +33,7 @@ Depending on the size of data, type of measure, and what you are caluclating, yo
- Example Working metrics-view + Example Working metrics view ```yaml # Metrics View YAML # Reference documentation: https://docs.rilldata.com/reference/project-files/metrics_views diff --git a/docs/docs/tutorials/rill_basics/4-dashboard.md b/docs/docs/tutorials/rill_basics/4-dashboard.md index aeffc87822e..945c1ece574 100644 --- a/docs/docs/tutorials/rill_basics/4-dashboard.md +++ b/docs/docs/tutorials/rill_basics/4-dashboard.md @@ -9,14 +9,14 @@ tags: ### What is a Metrics View? :::note -Starting from version 0.50, we have officially split the metrics-view and dashboard and rolled out [visual metric editor](#via-the-ui) What this means is that we have a separate file for the metrics layer and a dashboard built on top of this. For more reasoning behind this change, please refer to our documentation. +Starting from version 0.50, we have officially split the metrics view and dashboard and rolled out [visual metric editor](#via-the-ui) What this means is that we have a separate file for the metrics layer and a dashboard built on top of this. For more reasoning behind this change, please refer to our documentation. ::: A metrics view is a layer in which you can create and define your measures and dimensions. Once you have defined your measures and dimensions, you can build the dashboard. ### Let's create a metrics view! -Now that the model is created, we can create a metrics-view. There are two ways to do so: +Now that the model is created, we can create a metrics view. There are two ways to do so: 1. Generate metrics with AI 2. Start Simple using the +Add, Metrics @@ -81,7 +81,7 @@ Once finished, the red border will disappear and your explore dashboard is ready ## Via the YAML -Let's go over each component and what they are in order to better understand the metrics-view and how to fix the dashboard. +Let's go over each component and what they are in order to better understand the metrics view and how to fix the dashboard. ### Type diff --git a/docs/docs/tutorials/rill_clickhouse/3-r_ch_dashboard.md b/docs/docs/tutorials/rill_clickhouse/3-r_ch_dashboard.md index 968d4fc8616..6c7f492d4e3 100644 --- a/docs/docs/tutorials/rill_clickhouse/3-r_ch_dashboard.md +++ b/docs/docs/tutorials/rill_clickhouse/3-r_ch_dashboard.md @@ -1,6 +1,6 @@ --- -title: "3. Create Metrics-view and Dashboard in Rill" -sidebar_label: "3. Create Metrics-view and Dashboard in Rill" +title: "3. Create Metrics view and Dashboard in Rill" +sidebar_label: "3. Create Metrics view and Dashboard in Rill" sidebar_position: 4 hide_table_of_contents: false tags: @@ -15,16 +15,16 @@ If you noticed in the previous screenshot, we had a table called `uk_price_paid` In the case that you have not already added this table to your local or Cloud database, please follow the step on [ClickHouse's site](https://clickhouse.com/docs/en/getting-started/example-datasets/uk-price-paid) for the steps to do so! ::: -### Create metrics-view +### Create metrics view -Let's create a metrics-view based on the table via the `Generate metrics via AI`. +Let's create a metrics view based on the table via the `Generate metrics via AI`.
### What are we looking at? -This is our metrics-view, where we can define measures and dimensions to be used on dashboards. +This is our metrics view, where we can define measures and dimensions to be used on dashboards. ```yaml # Metrics view YAML diff --git a/docs/static/img/build/connect/clickhouse.png b/docs/static/img/build/connect/clickhouse.png new file mode 100644 index 00000000000..d728170f380 Binary files /dev/null and b/docs/static/img/build/connect/clickhouse.png differ diff --git a/docs/static/img/build/connect/duckdb.png b/docs/static/img/build/connect/duckdb.png new file mode 100644 index 00000000000..c59411d9bfe Binary files /dev/null and b/docs/static/img/build/connect/duckdb.png differ diff --git a/docs/static/img/manage/project-management/org-view.png b/docs/static/img/manage/project-management/org-view.png new file mode 100644 index 00000000000..056306a265b Binary files /dev/null and b/docs/static/img/manage/project-management/org-view.png differ diff --git a/docs/static/img/manage/project-management/project-view.png b/docs/static/img/manage/project-management/project-view.png new file mode 100644 index 00000000000..f32ef2d40ed Binary files /dev/null and b/docs/static/img/manage/project-management/project-view.png differ diff --git a/docs/static/img/tutorials/102/new-viz-editor.png b/docs/static/img/tutorials/102/new-viz-editor.png index a397dffbf30..8ccd72c0141 100644 Binary files a/docs/static/img/tutorials/102/new-viz-editor.png and b/docs/static/img/tutorials/102/new-viz-editor.png differ