diff --git a/docs/docs/build/credentials/credentials.md b/docs/docs/build/credentials/credentials.md index 985f961406b..f282184493c 100644 --- a/docs/docs/build/credentials/credentials.md +++ b/docs/docs/build/credentials/credentials.md @@ -15,7 +15,7 @@ At a high level, configuring credentials and credentials management in Rill can When reading from a source (or using a different OLAP engine), Rill will attempt to use existing credentials that have been configured on your machine. 1. Credentials that have been configured in your local environment via the CLI (for [AWS](../../reference/connectors/s3.md#local-credentials) / [Azure](../../reference/connectors/azure.md#local-credentials) / [Google Cloud](../../reference/connectors/gcs.md#local-credentials)) -2. Credentials that have been passed in directly through the connection string or DSN (typically for databases - see [Source YAML](../../reference/project-files/sources.md) for more details) +2. Credentials that have been passed in directly through the connection string or DSN (typically for databases - see [Source YAML](../../reference/project-files/sources.md) and [Connector YAML](../../reference/project-files/connectors.md) for more details) 3. Credentials that have been passed in as a [variable](../../deploy/templating.md) when starting Rill Developer via `rill start --var key=value` 4. Credentials that have been specified in your *`/.env`* file diff --git a/docs/docs/build/olap/olap.md b/docs/docs/build/olap/olap.md index 95277bbcee6..0c412adff53 100644 --- a/docs/docs/build/olap/olap.md +++ b/docs/docs/build/olap/olap.md @@ -5,19 +5,14 @@ sidebar_label: "Connect OLAP Engines" sidebar_position: 00 --- +## How to connect to your OLAP Engine? -## What is OLAP? +There are two ways to define an OLAP engine within Rill. -OLAP (or Online Analytical Processing) is a computational approach designed to enable rapid, multidimensional analysis of large volumes of data. With OLAP, data is typically organized into cubes instead of traditional two-dimensional tables, which can facilitate complex queries and data analysis in a way that is significantly more efficient and user-friendly for analytical tasks. In particular, OLAP databases can be especially well suited for BI use cases that require deep, multi-dimensional analysis or real-time / user-facing analytics and applications. Additionally, many modern OLAP databases are optimized to ingest large volumes of data, execute low-latency queries with high throughput, and process billions of rows quickly with an emphasis on speed and efficiency in data retrieval. - -Unlike traditional relational databases or data warehouses that are optimized for transaction processing (with a focus on CRUD operations), OLAP databases are designed for query speed and complex analysis. Rather than storing data in a row-oriented manner, optimizing for transactional efficiency and operational queries, most OLAP databases are columnar and use pre-aggregated multidimensional cubes to speed up analytical queries. This allows a broad range of ad hoc queries and analysis to be performed without needing predefined schemas that are tailored to specific queries and it's this flexibility that enables the highly interactive slice-dicing and exploration of data that powers Rill dashboards. This paradigm allows OLAP to be particularly well-suited for organizations and teams that want to dive deep into and understand their data to support decision-making processes, where speed and flexibility in the actual data analysis are important. - -:::info Want to see OLAP in action? - -Check [here](https://www.rilldata.com/case-studies) to see examples of use cases that can be powered by OLAP. - -::: +1. Set the [default OLAP engine](../../reference/project-files/rill-yaml#configuring-the-default-olap-engine) via the rill.yaml file. +2. Set the [OLAP engine](../../reference/project-files/dashboards.md) for a specific dashboard. +The OLAP engine set on the dashboard will take precedence over the project-level defined OLAP engine. ## Available OLAP Engines @@ -34,18 +29,15 @@ Rill is continually evaluating additional OLAP engines that can be added. For a ::: -## External OLAP tables - -Rill supports creating and powering dashboards using existing tables from alternative [OLAP engines](../../reference/olap-engines/olap-engines.md) that have been configured in a particular project. These tables are not managed by Rill, hence external, but allow users to bring in separate tables or datasets that might already exist in another preferred OLAP database of choice. This prevents the need of unnecessarily ingesting this data into Rill, especially if the table is already optimized for use by this other OLAP engine, and allowing Rill to connect to the data directly (and submit analytical queries). +## DuckDB -
-![Connecting to an external table](/img/build/connect/external-tables/external-olap-db.png) -
+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. +:::warning -## DuckDB +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). -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, rather than use an external table, you can simply use the [DuckDB connector](../../reference/connectors/motherduck.md#connecting-to-duckdb) to read the table and ingest the data into Rill. +::: ## Druid diff --git a/docs/docs/concepts/OLAP.md b/docs/docs/concepts/OLAP.md new file mode 100644 index 00000000000..025a96832b7 --- /dev/null +++ b/docs/docs/concepts/OLAP.md @@ -0,0 +1,43 @@ +--- +title: What is an OLAP Engine? +sidebar_label: What is an OLAP Engine? +sidebar_position: 12 +hide_table_of_contents: true +--- + +## What is OLAP? + +OLAP (or Online Analytical Processing) is a computational approach designed to enable rapid, multidimensional analysis of large volumes of data. With OLAP, data is typically organized into cubes instead of traditional two-dimensional tables, which can facilitate complex queries and data analysis in a way that is significantly more efficient and user-friendly for analytical tasks. In particular, OLAP databases can be especially well suited for BI use cases that require deep, multi-dimensional analysis or real-time / user-facing analytics and applications. Additionally, many modern OLAP databases are optimized to ingest large volumes of data, execute low-latency queries with high throughput, and process billions of rows quickly with an emphasis on speed and efficiency in data retrieval. + +Unlike traditional relational databases or data warehouses that are optimized for transaction processing (with a focus on CRUD operations), OLAP databases are designed for query speed and complex analysis. Rather than storing data in a row-oriented manner, optimizing for transactional efficiency and operational queries, most OLAP databases are columnar and use pre-aggregated multidimensional cubes to speed up analytical queries. This allows a broad range of ad hoc queries and analysis to be performed without needing predefined schemas that are tailored to specific queries and it's this flexibility that enables the highly interactive slice-dicing and exploration of data that powers Rill dashboards. This paradigm allows OLAP to be particularly well-suited for organizations and teams that want to dive deep into and understand their data to support decision-making processes, where speed and flexibility in the actual data analysis are important. + +:::info Want to see OLAP in action? + +Check [here](https://www.rilldata.com/case-studies) to see examples of use cases that can be powered by OLAP. + +::: + + + + +## External OLAP tables + +Rill supports creating and powering dashboards using existing tables from alternative [OLAP engines](../reference/olap-engines/olap-engines.md) that have been configured in a particular project. These tables are not managed by Rill, hence external, but allows users to bring in separate tables or datasets that might already exist in another preferred OLAP database of choice. This prevents the need of unnecessarily ingesting this data into Rill, especially if the table is already optimized for use by this other OLAP engine, and allows Rill to connect to the data directly (and submit analytical queries). + +
+![Connecting to an external table](/img/build/connect/external-tables/external-olap-db.png) +
+ + +## Supported OLAP Engines + +Rill currently supports the following OLAP engines! Please refer to our [Build Section](../build/olap/olap.md) for more information on the topic. + +- DuckDB +- ClickHouse +- Druid +- Pinot + +:::tip Don't see an OLAP engine? +Our team is continually evaluating new OLAP engines to support. If you don't see an OLAP engine that you'd like to use, please don't hesitate to [reach out](contact.md). We'd love to hear from you! +::: \ No newline at end of file diff --git a/docs/docs/concepts/developerVsCloud.md b/docs/docs/concepts/developerVsCloud.md new file mode 100644 index 00000000000..958911e0279 --- /dev/null +++ b/docs/docs/concepts/developerVsCloud.md @@ -0,0 +1,64 @@ +--- +title: Rill Cloud vs Rill Developer +sidebar_label: Rill Cloud vs Rill Developer +sidebar_position: 13 +hide_table_of_contents: true +--- + +## What is Rill Developer and Rill Cloud? + +Rill offers two unique but complementary experiences within our broader product suite, **Rill Developer** and **Rill Cloud**. + +As the name suggests, Rill _Developer_ is designed with the developer in mind where the project development will actually occur. Rill Developer is meant for the primary developers of project assets and dashboards, where they can import, wrangle, iterate on, and explore the data before presenting it for broader consumption by the team. Rill Developer is meant to run on your local machine - see here for some [recommendations and best practices](/deploy/performance#local-development--rill-developer) - but it is a simple process to [deploy a project](/deploy/existing-project/existing-project.md) once ready to Rill Cloud. + +Rill Cloud on the other hand is designed for our dashboard consumers and allows broader team members to easily collaborate. Once the developer has deployed the dashboard onto Rill Cloud, these users will be able to utilize the dashboards to interact with their data, set alerts / bookmarks, investigate nuances / anomalies, or otherwise perform everyday tasks for their business needs at Rill speed. + +:::info Rill Developer vs Rill Cloud + +Please note that a common **misnomer** is that Rill Developer can be a sufficient replacement for Rill Cloud. They both serve different purposes but are meant to be used _in conjunction_. Rill enables speed of exploration and is easy to use for developers, allowing the project to be iterated on quickly. Rill Cloud then allows for shared collaboration at scale, especially for production deployments. + +::: + +## Rill Developer + +Rill Developer is designed around developers. Using a familiar IDE-like interface, developers are able to import data, create SQL models, and create metric-views. Many of the underlying files in Rill Developer are either SQL or YAML files. Once a data in imported into Rill (and the underlying OLAP engine), developers are able to perform last mile ETL changes using one or a series of SQL models (as its own [DAG](https://en.wikipedia.org/wiki/Directed_acyclic_graph#:~:text=A%20directed%20acyclic%20graph%20is,a%20path%20with%20zero%20edges)). You can then create and materizlize your ["One Big Table"](../build/models/models.md) for your dashboard needs. Finally, any specifications for your dimensions and measures can be defined and tested in Developer's dashboard preview. + + +
+ +
+ What are some things you can do in Rill Developer? + + Anything from source ingestion to modeling to creating dashboards. +| UI : | Adding Sources: | +|:---:|:---:| +| **Creating Models:** | **Creating Dashboards:** | +
+ + +## Rill Cloud + +Once the dashboard has been [deployed to Rill Cloud](../deploy/existing-project/existing-project.md), the dashboard can be shared with others and viewed by other members of your Rill Cloud organization. As you can see below, the UI is different from Developer. Upon accessing Rill Cloud, a user will be able to view all the projects they have been granted access to by project admins. + + + +
+ + After selecting a specific project, they will be directed to a list of dashboards. From Rill Cloud, the dashboard consumer does not have the ability to make any modifications to sources or models. However, they are given some additional capabilities that are not accessible in Rill Developer, such as alerting, creating bookmarks or sharable public URLs, checking the project status, and more. + + :::info Dashboard 101 + + For more details about using a Rill Cloud dashboard, please refer to our [Explore section](explore/dashboard-101.md)! + + ::: + + + + +## Is Rill Cloud a higher offering than Rill Developer? + +Based on the naming, it might be confusing and easy to assume that Rill Cloud is our "higher" offering but **that is not the case!** Similarly, Rill Developer is _not meant to be used as a standalone tool either_. + + +Rill Developer and Rill Cloud are to be used together. Rill Developer gives a space for our developers to define and test any new or needed changes to the data and/or dashboards before pushing to our Rill Cloud users who need stable access to working dashboards. Then, once finalized, these dashboards are deployed to the Rill Cloud project for broader consumption and to power business use cases. + diff --git a/docs/docs/deploy/existing-project/existing-project.md b/docs/docs/deploy/existing-project/existing-project.md index 8167bd49ae5..5c4e64182f1 100644 --- a/docs/docs/deploy/existing-project/existing-project.md +++ b/docs/docs/deploy/existing-project/existing-project.md @@ -8,33 +8,78 @@ sidebar_position: 00 ## Overview -Follow this tutorial to deploy an existing Rill project to Rill Cloud. Deploying a project makes its dashboards available online and enables you to invite others to access it. Benefits of deploying your project: +Deploying dashboards from Rill Developer allows you to share dashboards with other users, leverage [Rill Cloud capabilities](../../explore/dashboard-101), [embed Rill](/integrate/embedding.md) into other applications, and more! -- Share dashboards with other users -- Leverage Rill Cloud capabililies like [scheduled reports](/explore/exports.md) and [alerts](explore//alerts/alerts.md) -- [Embed Rill](/integrate/embedding.md) in other applications -The flow diagram below shows the steps needed for deploying an existing project. +The flow diagram below shows two options for deploying an existing project. + +**Deploy via the UI**: +```mermaid +graph LR; + A(Local code files); + B(Rill Cloud); + A--deploy via UI -->B; + +``` +--- +**Deploy via the CLI**: ```mermaid graph LR; A(Local code files); - B(GitHub); - C(Rill Cloud); - A--Pushed -->B; - B--Continuous Deployment-->C; + B(Rill Cloud); + C(GitHub); + + + A--1. deploy via CLI (once) -->B; + C-- Continuous Deployment-->B; + A--2. Push changes to GitHub-->C; ``` -## Push the project to Github +## Deploying a project via the UI +Starting from **v0.48**, we have introduced the possibility to push dashboards _directly from Rill Developer's UI to Rill Cloud_. On the dashboard page, you can select the `deploy to share` button and follow the steps to deploy to Rill Cloud. -Rill Cloud connects to a repository on Github containing a Rill project, and continuously deploys that project on every push. Rill Cloud has the ability to auto-create a Git repository on your behalf when first deploying your project or you have the option to manually create the Git repository yourself before deploying the project to Rill Cloud. + +
-:::tip Interested in using Gitlab? +Now that you project has been deployed to Rill Cloud, you will need to ensure that your users have access! Please refer to the [user management](../../manage/user-management.md) section. After you have made updates to the dashboard and need to update it, you'll noticed that the button has changed to `redeploy`. Select this and we'll update the Rill Cloud project with your changes. -Check out our documentation on deploying a [Rill project using Gitlab](deploy-from-ci.md)! + +
+ +:::tip On an older version of Rill? + +You can easily check the version of Rill that you are using in Rill Developer by running the following command: + +```bash +rill --version +``` + +If you are on an older version of Rill, it is **strongly recommended** to [upgrade](home/install.md#upgrade) to the latest version. ::: -### Automated repository creation + +## Deploying a project via the CLI +### Step 1 - Push the project to Rill Cloud via the CLI + +When deploying to Rill Cloud via the CLI, you will have a choice to user a single upload or connect to a GitHub repository. + +``` +$rill deploy + No git remote was found. + You can connect to Github or use one-time uploads to deploy your project. + ? Do you want to use one-time uploads? (Y/n) +``` + +#### One-time uploads +If you select a one-time upload, we will deploy your project to your default organization without connecting a GitHub repository. You will have the option later, via the UI, to connect to a GitHub Repo if desired. Once connected to a repository, you will need to push changes directly to Github as the changes when selecting re-deploy will not push to your repository. + +![img](/img/deploy/existing-project/status.png) + +#### Syncing your GitHub Repository +In the case of deploying to Rill Cloud with a GitHub repository synced, you have two options: + +##### Option 1 - Automated repository creation If you'd like Rill Cloud to automaticaly create the Git repository for a Rill project that you deploy, you can skip to the [next step](#deploy-to-rill-cloud). @@ -44,7 +89,7 @@ This assumes that the installed Github app in your organization has write access ::: -### Manual repository creation +##### Option 2 - Manual repository creation If you'd like to create the Git repository manually, the project must be on Github before you deploy it to Rill. - If your project is not yet on Github, you can follow the steps on Github [here](https://github.com/new) to create a new repository and push your project files to it. @@ -56,9 +101,9 @@ When Rill attempts to create a Git repository on your behalf, _the new repositor ::: -## Deploy to Rill Cloud +#### Deploy to Rill Cloud -To deploy a project to Rill Cloud, from the directory containing your project, it's as simple as running: +Finally, to deploy a project to Rill Cloud, from the local directory containing your Rill project, it's as simple as running the following command (after selecting `No` for the one-time upload option). ``` rill deploy @@ -71,7 +116,7 @@ Cloud datastores will typically require service keys to access data. Make sure t ::: -### First deployment +#### First deployment If this is your first deployment to Rill Cloud, you will get prompted to either sign up or log in (if you have an existing account on [Rill Cloud](https://ui.rilldata.com/)). Proceed with the sign up and email verification process for new users or authorization process for existing users. As a new user, you can expect to see the following page: @@ -87,7 +132,7 @@ Make sure that you are selecting the correct Github organization when installing ::: -After connecting Rill Cloud to Github and selecting a [default organization](/reference/cli/org) in the CLI, you should now be able to continuously deploy new projects and/or update existing projects. These projects, [unless specified otherwise](/reference/cli/deploy), will be deployed to your selected [organization](/manage/user-management#managing-members-of-an-organization). +After connecting Rill Cloud to Github and selecting a [default organization](/reference/cli/org) in the CLI, you should now be able to continuously deploy new projects and/or update existing projects. These projects, [unless specified otherwise](/reference/cli/deploy), will be deployed to your selected [organization](/manage/project-management.md). :::info Check with your Github organization admin @@ -97,37 +142,34 @@ If you're not the admin of your Github organization, they will likely need to fi ::: -When deploying a project, Rill Cloud will first check whether there is a git remote present. If there is no git remote associated, you should get prompted whether you'd like Rill to create a Git repository on your behalf. If you enter **`Y`**, a new Git repository will be created and the project will be deployed. +When deploying a project, Rill Cloud will first check whether there is a git remote present. If there is no git remote associated, Rill will automatically create a repository under your GitHub account. :::warning Beware of existing repositories with the same name! -Rill Cloud will automatically attempt to create a Git repository using the same name as your Rill project for auto-deployments. If a Git repository with the same name already exists, you should get prompted and receive a warning in the CLI. +Rill Cloud will automatically attempt to create a Git repository using the same name as your Rill project for auto-deployments. If a Git repository with the same name already exists, you should get prompted for a new name and receive a warning in the CLI. ::: -## Checking deployment status +### Step 2 - Continue pushing changes to GitHub in order to update Rill Cloud +After making changes to your project in Rill Developer, you will need to [push your changes to GitHub](github-101.md#pushing-changes). Whether you decide to use a UI like GitHub Desktop or via the CLI using `git`, you will need to manage the objects to push to your repository. + + + +## Continuous Deployment +Rill should automatically detect changes that you have pushed locally to GitHub and update your deployed project accordingly. Depending on the changes, this may results in a project reconcile to occur. If you are experiencing some issues with the project after pushing changes to the CLI, please refer the the project's status page for more information or you can run via the CLI: -Once the deployment has completed, the browser will open on your project's status page. Alternatively, you can check the project status from the command-line (or CLI) by running the following command: ``` rill project status ``` -:::info Resetting an Errored Project -Projects can sometimes be in an error state for a variety of a reasons. A hard reset can often clear these issues. - -To execute a hard reset of your project deployment, you can use the `rill project reset` command from the CLI. -::: +:::tip Interested in using Gitlab? -## Updating the deployment +Check out our documentation on deploying a [Rill project using Gitlab](deploy-from-ci.md)! -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: -``` -rill project refresh -``` -# Change your production branch +## Change your production branch By default, Rill deploys from the [default branch](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches#about-the-default-branch) of your Git repository. You can change this to any branch you want. @@ -137,11 +179,7 @@ To deploy your project from a different branch, run the following command: rill deploy --prod-branch [PROD-BRANCH] ``` -## 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 -``` + ## Deploy from a monorepo @@ -153,3 +191,4 @@ rill deploy --subpath path/to/rill/project Note that you must run `rill deploy` from the root of your Git repository, **not** the root of your Rill project. ::: + diff --git a/docs/docs/deploy/existing-project/github-101.md b/docs/docs/deploy/existing-project/github-101.md index cf05a5c1508..91e413c91f2 100644 --- a/docs/docs/deploy/existing-project/github-101.md +++ b/docs/docs/deploy/existing-project/github-101.md @@ -76,7 +76,7 @@ For any larger changes, we would strongly suggest developing locally to see the ## Deploying Rill -Now your dashboards are fully synced to GitHub, version controled and available to be edited by others. To make the dashboard fully cloud-enabled, you can return to your terminal and run ```rill deploy```. With everything synced, you should now be able to create a [new organization](/manage/user-management#managing-members-of-an-organization) within Rill Cloud and push your dashboard to the cloud for shared collaboration. Any future changes should automatically be present in your deployed dashboards on Rill Cloud once committed and new dashboards will appear automatically as well (no deploy command needed). More details on [deployment here](../existing-project/existing-project.md). +Now that your dashboards should be fully synced to GitHub, version controlled, and available to be edited by others. To make the dashboard fully cloud-enabled, you can return to your terminal and run ```rill deploy```. With everything synced, you should now be able to create a [new organization](/manage/project-management#organization) within Rill Cloud and push your dashboard to the cloud for shared collaboration. Any future changes should automatically be present in your deployed dashboards on [Rill Cloud](https://ui.rilldata.com) once committed and new dashboards will appear automatically as well (no deploy command needed). More details on [deployment here](../existing-project/existing-project.md). :::info Have further questions? We'd love to hear from you! diff --git a/docs/docs/explore/dashboard-101.md b/docs/docs/explore/dashboard-101.md index d8f02bdea96..f609a0a61dd 100644 --- a/docs/docs/explore/dashboard-101.md +++ b/docs/docs/explore/dashboard-101.md @@ -10,7 +10,7 @@ sidebar_position: 00 Depending on whether you are opening Rill Developer or logging into Rill Cloud, you will either the default "Getting started" landing page or a list of all projects available to your user. For the purposes of this article, we will assume that your project has already been [deployed to Rill Cloud](../deploy/existing-project/existing-project.md) and that you are looking to consume your dashboards in a production capacity. -After logging into [Rill Cloud](https://ui.rilldata.com), you should see all projects within your [organization](../manage/user-management#managing-members-of-an-organization) that is available and/or has been granted permissions to your user profile. Within each project, you'll then be able to access the corresponding individual dashboards that belong to a particular Rill project. +After logging into [Rill Cloud](https://ui.rilldata.com), you should see all projects within your [organization](../manage/project-management#organization) that is available and/or has been granted permissions to your user profile. Within each project, you'll then be able to access the corresponding individual dashboards that belong to a particular Rill project. ![Rill Cloud landing page](../../static/img/explore/dashboard101/rill-cloud-landing-page.png) @@ -46,7 +46,8 @@ For more details about additional capabilities and/or how to utilize more advanc ## Reference -- **[Filters & Comparisons](filters/filters.md)** -- **[Bookmarks & Sharing](bookmarks.md)** -- **[Exports](exports.md)** -- **[Alerts](/explore/alerts/alerts.md)** \ No newline at end of file +- [Filters & Comparisons](filters/filters.md) +- [Bookmarks & Sharing](bookmarks.md) +- [Exports & Scheduled Reports](exports.md) +- [Public URL](share-url.md) +- [Alerts](/explore/alerts/alerts.md) diff --git a/docs/docs/explore/exports.md b/docs/docs/explore/exports.md index 0eda9ade166..19475074ebb 100644 --- a/docs/docs/explore/exports.md +++ b/docs/docs/explore/exports.md @@ -2,7 +2,7 @@ title: "Exports & Scheduled Reports" description: Downloading and exporting data from Rill sidebar_label: "Exports & Scheduled Reports" -sidebar_position: 35 +sidebar_position: 38 --- ## Overview diff --git a/docs/docs/explore/share-url.md b/docs/docs/explore/share-url.md new file mode 100644 index 00000000000..19e062da7f1 --- /dev/null +++ b/docs/docs/explore/share-url.md @@ -0,0 +1,83 @@ +--- +title: "Sharing Dashboards with a public URL" +description: Sharing Dashboard with a few clicks using the public link +sidebar_label: "Public Shareable URLs" +sidebar_position: 36 +--- + +## Overview + +Sharing your dashboard is a key way to promote collaboration within other users and allows for quick access to your dashboards. As an admin, you also have the ability to create public shareable URLs, meaning that you can generate an expirable public link to a dashboard with specific filters pre-applied. The receiver of the link will then be able to engage and interact with this dashboard as if they were logged in (with the parent filters locked). + + +
+ +:::tip +Recipients are not required to log in to view the dashboard and will not be able to change your pre-defined filters! +::: + +### How to create a public URL from the UI + +After applying the filters and modifying the dashboard to your liking, please select the `Share` button. +If not already selected, select `Create public URL`. +If you want to set an expiration, please select the toggle and set the expiration. + + +### What the recipient sees + +As expected, when opening the public URL, the user can view the dashboard. Like a logged-in user, they are able to navigate within the dashboard and drill or slice-and-dice as needed. Unlike a logged in user, they are not able to make any changes to the filter that you've set. + +:::info Did you know? + +In fact, users who click on a public shareable URL cannot see the parent filters that have been applied! + +::: + + +### How to manage public URLs via the CLI +:::tip + +Starting from v.0.48, `share-url` has been rebranded to `public-url`. + +::: +``` +rill public-url +Manage public URLs + +Usage: + rill public-url [command] + +Available Commands: + list List all public URLs + create Create a public URL + delete Delete a public URL + +Flags: + --org string Organization Name (default "Rill_Learning") + +Global Flags: + --api-token string Token for authenticating with the cloud API + --format string Output format (options: "human", "json", "csv") (default "human") + -h, --help Print usage + --interactive Prompt for missing required parameters (default true) + +Use "rill public-url [command] --help" for more information about a command. + +``` +Using the Rill CLI, you can list, create or delete public URLs. + +#### Deleting a public URL + +To delete a public URL, you will need an `id` parameter. In order to retrieve the appropriate `id`, you will need to first list out the public URLs. You can do so using the below with any flags to help you. + +``` +rill share-url list +``` + +Once you have obtained the `id` you can run the following: + +``` +rill share-url delete +``` + +If you are interested in creating a public URL directly from the CLI, you can do so by passing the required parameters. (You can use the --help flag to see what additional flags are required.) \ No newline at end of file diff --git a/docs/docs/home/.tutorial.md b/docs/docs/home/.tutorial.md new file mode 100644 index 00000000000..ca3f91b4d7f --- /dev/null +++ b/docs/docs/home/.tutorial.md @@ -0,0 +1,31 @@ +--- +title: Tutorials & Guides +sidebar_label: Tutorials & Guides +sidebar_position: 12 + +--- + +## New to Rill? + + +For those who are new to Rill or just getting started and need a helping hand, please refer to our [Tutorials page]! + +In our tutorials, we will guide you through the Rill basics (from data import to deployment onto Rill Cloud), Rill intermediate (Rill Cloud features and more!) and finally Rill advanced, some advanced features! + +[Click me to head on over to our Learn section!]/learn/guides/all_in_one +> button? + +## Looking for some Guides? + +You can refer to the Learn tab under the Guides for one off guides on many different topics within Rill. From an all-in-one guide from start to end, to how to use dashboards, there are many topics to choose from! + +[Click me to head on over to our Guides section!]/learn/guides/all_in_one +> button? + +## Coming from ClickHouse? + +If you want to quickstart on how to use Rill with Clickhouse, please refer to our [Rill/Clickhouse tutorial]/learn/rill_clickhouse/r_ch_0. Similar to Rill Basics, we will go over how to view your ClickHouse Data within Rill as a dashboard, and prepare for deployment onto Rill Cloud. + + +>rill ch gif +>button? \ No newline at end of file diff --git a/docs/docs/home/install.md b/docs/docs/home/install.md index 1054061bbdb..83ac323d468 100644 --- a/docs/docs/home/install.md +++ b/docs/docs/home/install.md @@ -1,6 +1,6 @@ --- title: How to install Rill -sidebar_label: Install +sidebar_label: Install Rill sidebar_position: 01 --- @@ -26,6 +26,20 @@ If you plan to share your dashboards, it is helpful to start by creating a repo More details on deploying Rill via Git in our [Deploy section](../deploy/existing-project//existing-project.md). ::: +### Upgrade + +To ensure you're on the latest version of Rill, you can upgrade Rill Developer easily via the command line. + +```bash +rill upgrade +``` + +:::info What about Rill Cloud? + +Rill Cloud is always on the latest and stable version of Rill Cloud. To check the latest version available, please see our [Releases](https://github.com/rilldata/rill/releases) page. + +::: + ## Nightly Releases On both macOS and Linux, you can install the latest nightly build using the installation script: diff --git a/docs/docs/manage/_category_.yml b/docs/docs/manage/_category_.yml index a19a0029537..ffd185fc4a9 100644 --- a/docs/docs/manage/_category_.yml +++ b/docs/docs/manage/_category_.yml @@ -1,4 +1,4 @@ position: 40 label: Manage collapsible: false -collapsed: false +collapsed: false \ No newline at end of file diff --git a/docs/docs/manage/project-management.md b/docs/docs/manage/project-management.md new file mode 100644 index 00000000000..af4f5dd46c3 --- /dev/null +++ b/docs/docs/manage/project-management.md @@ -0,0 +1,121 @@ +--- +title: "Organizations and Projects (Rill Cloud)" +description: Basic managment from projects +sidebar_label: "Organizations and Projects" +sidebar_position: 19 +--- + +Once a project is ready to be deployed onto Rill Cloud, as an admin, you will need to manage your organization, project, and user access. Depending on where you set this access, the permissions can vary. Please see our [Roles and Permission](roles-permissions.md) page for more details. + +## 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. + +If you'd like to create, edit, modify, or delete an organization, you can do this either via the CLI or UI. + +### CLI +``` +rill org +``` + + +### UI +import ComingSoon from '@site/src/components/ComingSoon'; + + + +
+a +
+ +:::tip + +[Access to Rill can be granted on the organization level](user-management.md#adding-a-member-to-the-organization). + +::: + +## 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. + +### 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 + +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: + +``` +rill project refresh +``` + + +#### 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` +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 + +Projects on Rill Cloud are private by default. To make a project's dashboards publicly accessible without authentication, run: +``` +rill project edit --public=true +``` + +:::caution Avoid Sharing Private Data + +**Warning**: If you make a project public, make sure it does not expose any confidential data. + +::: + + +## 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. +3. User groups permissions can either be added for the organization as a whole, or specific projects. + - `rill usergroup create [--project project_name]` +4. User groups can currently only be applied to users within the organization. + - In the above diagram, `pink_user` can not be added to a user group. +5. All users added to an organization must have at least `viewer` privilege. + - In the above diagram, `yellow_user` is redundant as there's already `viewer` access. \ No newline at end of file diff --git a/docs/docs/manage/roles-permissions.md b/docs/docs/manage/roles-permissions.md index 8d9a8c4bf95..21146f5c234 100644 --- a/docs/docs/manage/roles-permissions.md +++ b/docs/docs/manage/roles-permissions.md @@ -5,7 +5,7 @@ sidebar_label: Roles and Permissions sidebar_position: 30 --- -Access permissions in Rill Cloud are organized into roles at the organization and project level. It is usually sufficient to grant access at the organization-level because those permissions are inherited for projects by default. +Access permissions in Rill Cloud are organized into roles at the project and organization level. In most cases, it should be sufficient to grant access at the organization level because those permissions are _inherited_ for projects by default. ## Role inheritance @@ -55,3 +55,29 @@ There are two roles available at the project-level: **Viewer** and **Admin**. | `manage_dev` | Trigger actions on non-production deployments | | ✔ | --> +## User group-level permissions + +There are two roles available at the user group-level: **Viewer** and **Admin**. + +| Permission | Description | Viewer | Admin | +| :------------------------- | :--------------------------------------------------------- | -----: | ----: | +| `read_project` | View basic info about the project | ✔ | ✔ | +| `manage_project` | Change project settings | | ✔ | +| `read_prod` | View dashboards deployed from the production (main) branch | ✔ | ✔ | +| `read_prod_status` | View logs for the production deployment | | ✔ | +| `manage_prod` | Trigger actions on the production deployment | | ✔ | +| `read_project_members` | View members of the project | | ✔ | +| `manage_project_members` | Add, remove or change roles of project members | | ✔ | +| `create_magic_auth_tokens` | Create shareable URLs | | ✔ | +| `manage_magic_auth_tokens` | Remove shareable URLs created by others | | ✔ | +| `create_reports` | Create and edit new scheduled reports | ✔ | ✔ | +| `manage_reports` | Edit and change scheduled reports created by others | | ✔ | +| `create_alerts` | Create and edit new alerts | ✔ | ✔ | +| `manage_alerts` | Edit and change alerts created by others | | ✔ | +| `create_bookmarks` | Create and edit new bookmarks | ✔ | ✔ | +| `manage_bookmarks` | Edit and change bookmarks created by others | | ✔ | + \ No newline at end of file diff --git a/docs/docs/manage/security.md b/docs/docs/manage/security.md index a7f6439c07e..25da0e6960a 100644 --- a/docs/docs/manage/security.md +++ b/docs/docs/manage/security.md @@ -1,7 +1,7 @@ --- -title: "Access Policies" +title: "Dashboard Access Policies" description: Granular, row-level security for dashboards -sidebar_label: "Access Policies" +sidebar_label: "Dashboard Access Policies" sidebar_position: 40 --- diff --git a/docs/docs/manage/user-management.md b/docs/docs/manage/user-management.md index 6723431ad89..883bbbdd14d 100644 --- a/docs/docs/manage/user-management.md +++ b/docs/docs/manage/user-management.md @@ -1,10 +1,22 @@ --- title: User Management -sidebar_label: User Management +sidebar_label: Users sidebar_position: 20 --- -In Rill Cloud, access can be granted at the organization or project level using the Rill CLI. +In Rill Cloud, access can be granted at the organization, project, or group level using the Rill CLI. + +:::info + +Note that the permissions may vary from each level, please review the [Roles and Permissions](roles-permissions.md) page for more information! + +::: + +:::tip More UI-based 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)! + +::: ## Install and authenticate the Rill CLI @@ -13,41 +25,81 @@ To manage cloud permissions with the Rill CLI, you must first authenticate it. I rill login ``` -## Managing members of an organization + +## Adding a member to the organization 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. - -### Add a member + +### Add a member To add a member to an organization, run the following command: ``` rill user add ``` 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. +::: + ### 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? + 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. -## Managing members of a project +## Adding a member to a specific project + +:::tip Did you know? + +Starting from version 0.48, you can add a user to a specific project via the UI! + +::: + +### Via the UI + +#### Step 1 - Admin invites user + +From the project's splash screen, please select share and type the email[s] along with the type of permissions. + +![img](/img/manage/user-management/share-project.png) + +Once sent, your invited users will receive this email and will need to accept it to view the project. + +![img](/img/manage/user-management/email-invite.png) +#### Step 2 - User requests access + +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: + +![img](/img/manage/user-management/request-access.png) + +The admin would receive an email to allow access, and can set the permission after accepting the request via the UI. + +![img](/img/manage/user-management/admin-reply.png) + +--- + +### 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 +#### Add a member To add a member to a project, run the following command: ``` @@ -57,23 +109,57 @@ You will then be prompted for details about the user. HINT: Run `rill project li If you add a user who has not yet signed up for Rill, they will receive an email inviting them to join. -### Other actions +#### Other actions Run `rill user --help` to show commands for listing members or changing access. -## Make a project public -Projects on Rill Cloud are private by default. To make a project's dashboards publicly accessible without authentication, run: +## Adding a member to a specific user group + +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 +- **Admins** can additionally edit the project, and view and edit project members + + +### Add a member ``` -rill project edit --public=true +rill user add --group ``` +You will then be prompted for details on the user. -:::caution Avoid Sharing Private Data - -Warning: If you make a project public, make sure it does not expose any confidential data. +:::note +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. ::: +To see the current members of a group: + +``` +rill user list --group +``` + +To find the current user group roles, with project flag if looking for specific project's role: + +``` +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? + +Rill uses a logical **OR** operand to define the winning privilege. In other words, whichever has the higher privilege will be applied. See below for some example situations that may arise. +
+| # | Organization | Project (*not required*) | Group (*not required*)| Resulting privilege | +|---|:--------------|:--------------|--------|---------------------:| +| 1 | admin | viewer | --- | admin | +| 2 | viewer | admin | viewer | admin | +| 3 | viewer | --- | viewer | viewer | +| 4 | viewer | viewer | --- | viewer | + +
## Logging into Rill Cloud In order to access a deployed project and/or view a shared dashboard, users will need to first login to [Rill Cloud](https://ui.rilldata.com/). When you first navigate to https://ui.rilldata.com/, you will see a few different options to login, including: @@ -101,4 +187,5 @@ Afterwards, you should receive an email verification to complete the sign up pro ![Verification Email](/img/manage/user-management/verification-email.png) -You should now be authenticated with Rill Cloud and be able to sign-in directly going forward! \ No newline at end of file +You should now be authenticated with Rill Cloud and be able to sign-in directly going forward! + diff --git a/docs/docs/manage/usergroup-management.md b/docs/docs/manage/usergroup-management.md new file mode 100644 index 00000000000..b4a1739aea4 --- /dev/null +++ b/docs/docs/manage/usergroup-management.md @@ -0,0 +1,81 @@ +--- +title: User Group Management +sidebar_label: User Groups +sidebar_position: 22 +--- + +## Managing User groups + +In Rill Cloud, access to projects can be granted via user groups via the CLI. + +``` +rill usergroup + + 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 +``` + + +## 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 +``` + + +## Creating the User group + +You can create a new user group by running the following and following the CLI instructions: + +``` +rill usergroup create +``` +You will be prompted for the new user group name. + +### Adding permissions to the group +Next, you will need to add the roles and access to the user group. + +``` +rill usergroup add --project + + --group string User group + --org string Organization (default "Rill_Learn") + --project string Project + --role string Role of the user group (options: admin, viewer) +``` +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 + +### Add a member to the group + +To add a member to the user group, run the following command: +``` +rill user add --group +``` + +You will be prompted for the email address for the user. + +Once added, you can confirm the user group by running the following command: +``` +rill user list --group +``` + + +### Other actions +Run `rill usergroup --help` to show commands for listing members or changing access. + + +:::note +Currently, users outside of the organization are unable to be added to usergroups. +::: \ No newline at end of file diff --git a/docs/docs/reference/olap-engines/clickhouse.md b/docs/docs/reference/olap-engines/clickhouse.md index d431112c65b..99436553180 100644 --- a/docs/docs/reference/olap-engines/clickhouse.md +++ b/docs/docs/reference/olap-engines/clickhouse.md @@ -9,7 +9,7 @@ sidebar_position: 3 [ClickHouse](https://clickhouse.com/docs/en/intro) is an open-source, column-oriented OLAP database management system known for its ability to perform real-time analytical queries on large-scale datasets. Its architecture is optimized for high performance, leveraging columnar storage and advanced compression techniques to speed up data reads and significantly reduce storage costs. ClickHouse's efficiency in query execution, scalability, and ability to handle even petabytes of data makes it an excellent choice for real-time analytic use cases. -Rill supports connecting to an existing ClickHouse instance and using it as an OLAP engine to power Rill dashboards built against [external tables](build/olap/olap.md#external-olap-tables). This is particularly useful when working with extremely large datasets (hundreds of GBs or even TB+ in size). +Rill supports connecting to an existing ClickHouse instance and using it as an OLAP engine to power Rill dashboards built against [external tables](../../concepts/OLAP#external-olap-tables). This is particularly useful when working with extremely large datasets (hundreds of GBs or even TB+ in size). ![Rill on ClickHouse](/img/reference/olap-engines/clickhouse/clickhouse.gif) diff --git a/docs/docs/reference/olap-engines/druid.md b/docs/docs/reference/olap-engines/druid.md index e7a7076bb04..504c98e9aad 100644 --- a/docs/docs/reference/olap-engines/druid.md +++ b/docs/docs/reference/olap-engines/druid.md @@ -9,7 +9,7 @@ sidebar_position: 2 [Apache Druid](https://druid.apache.org/docs/latest/design/) is an open-source, high-performance OLAP engine designed for real-time analytics on large datasets. It excels in analytical workloads due to its columnar storage format, which enables fast data aggregation, querying, and filtering. Druid is particularly well-suited for use cases that require interactive exploration of large-scale data, real-time data ingestion, and fast query responses, making it a popular choice for applications in business intelligence, user behavior analytics, and financial analysis. -Rill supports connecting to an existing Druid cluster and using it as an OLAP engine to power Rill dashboards built against [external tables](build/olap/olap.md#external-olap-tables). This is particularly useful when working with extremely large datasets (hundreds of GBs or even TB+ in size). +Rill supports connecting to an existing Druid cluster and using it as an OLAP engine to power Rill dashboards built against [external tables](../../concepts/OLAP#external-olap-tables). This is particularly useful when working with extremely large datasets (hundreds of GBs or even TB+ in size). ## Supported versions diff --git a/docs/docs/reference/olap-engines/multiple-olap.md b/docs/docs/reference/olap-engines/multiple-olap.md index 35692ea0a3a..a13d9f7275a 100644 --- a/docs/docs/reference/olap-engines/multiple-olap.md +++ b/docs/docs/reference/olap-engines/multiple-olap.md @@ -69,7 +69,7 @@ For more information about available configurations for `rill.yaml`, please see ### Setting the OLAP Engine in the dashboard YAML -For each dashboard that is using a separate OLAP engine (than the default), you'll want to set the `connector` and `table` properties in the underlying [dashboard YAML](../project-files/dashboards.md) configuration to the OLAP engine and corresponding [external table](build/olap/olap.md#external-olap-tables) that exists in your OLAP store respectively. +For each dashboard that is using a separate OLAP engine (than the default), you'll want to set the `connector` and `table` properties in the underlying [dashboard YAML](../project-files/dashboards.md) configuration to the OLAP engine and corresponding [external table](../../concepts/OLAP#external-olap-tables) that exists in your OLAP store respectively. ```yaml type: metrics_view diff --git a/docs/docs/reference/olap-engines/pinot.md b/docs/docs/reference/olap-engines/pinot.md index d1185dc9a08..622220df50b 100644 --- a/docs/docs/reference/olap-engines/pinot.md +++ b/docs/docs/reference/olap-engines/pinot.md @@ -9,7 +9,7 @@ sidebar_position: 4 [Apache Pinot](https://docs.pinot.apache.org/) is a real-time distributed OLAP datastore purpose-built for low-latency, high-throughput analytics, and perfect for user-facing analytical workloads. -Rill supports connecting to an existing Pinot cluster and using it as an OLAP engine to power Rill dashboards built against [external tables](../../build/olap/olap.md#external-olap-tables). +Rill supports connecting to an existing Pinot cluster and using it as an OLAP engine to power Rill dashboards built against [external tables](../../concepts/OLAP#external-olap-tables). ## Connection string (DSN) diff --git a/docs/docs/reference/project-files/dashboards.md b/docs/docs/reference/project-files/dashboards.md index 5a659542b74..fb6a97d386b 100644 --- a/docs/docs/reference/project-files/dashboards.md +++ b/docs/docs/reference/project-files/dashboards.md @@ -19,7 +19,7 @@ Files that are *nested at any level* under your native `dashboards` directory wi **`model`** — Refers to the **model** powering the dashboard with no path specified; should only be used for [Rill models](/build/models/models.md) _(either **model** or **table** is required)_. -**`table`** - Refers to the **table** powering the dashboard with no path specified; should be used instead of `model` for dashboards created directly from [sources](/build/connect/connect.md) and/or from [external OLAP tables](build/olap/olap.md#external-olap-tables) _(either **table** or **model** is required)_. +**`table`** - Refers to the **table** powering the dashboard with no path specified; should be used instead of `model` for dashboards created directly from [sources](/build/connect/connect.md) and/or from [external OLAP tables](../../concepts/OLAP.md#external-olap-tables) _(either **table** or **model** is 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 76285fc731e..ce5d370ba23 100644 --- a/docs/docs/reference/project-files/rill-yaml.md +++ b/docs/docs/reference/project-files/rill-yaml.md @@ -21,6 +21,10 @@ The `rill.yaml` file contains metadata about your project. Rill allows you to specify the default OLAP engine to use in your project via `rill.yaml`. This setting is configurable using the `olap_connector` property (and will otherwise revert to `duckdb` if not specified). +```yaml +olap_connector: clickhouse +``` + :::info Curious about OLAP Engines? Please see our reference documentation on [OLAP Engines](../olap-engines/olap-engines.md). @@ -113,4 +117,29 @@ ignore_paths: Don't forget the leading `/` when specifying the path for `ignore_paths` and this path is also assuming the relative path from your project root. +::: + +## Testing access policies + +During development, it is always a good idea to check if your [access policies](/manage/security.md) are behaving the way you designed them to before pushing these changes into production. You can set mock users which enables a drop down in the dashboard preview to view as a specific user. + +```yaml +mock_users: +- email: john@yourcompany.com + name: John Doe + admin: true +- email: jane@partnercompany.com + groups: + - partners +- email: anon@unknown.com +``` + + +![View as User](/img/reference/project-files/View-as.png) + + +:::info The View as selector is not visible in my dashboard, why? + +This feature is _only_ enabled when you have set a security policy on the dashboard. By default, the dashboard and it's contents is viewable by every user. + ::: \ No newline at end of file diff --git a/docs/src/components/ComingSoon.js b/docs/src/components/ComingSoon.js new file mode 100644 index 00000000000..d1514403825 --- /dev/null +++ b/docs/src/components/ComingSoon.js @@ -0,0 +1,15 @@ +// src/components/ComingSoon.js +import React, { useEffect } from 'react'; + +const ComingSoon = () => { + useEffect(() => { + const contents = document.getElementsByClassName('contents_to_overlay'); + Array.from(contents).forEach(content => { + content.innerHTML = '
Coming Soon!
'; + }); + }, []); + + return null; +}; + +export default ComingSoon; diff --git a/docs/src/css/custom.scss b/docs/src/css/custom.scss index 443fbd551bc..337635cf493 100644 --- a/docs/src/css/custom.scss +++ b/docs/src/css/custom.scss @@ -245,4 +245,12 @@ li.theme-doc-sidebar-item-category-level-2 .menu__list-item-collapsible { .center-content { display: flex; justify-content: center; -} \ No newline at end of file +} + +.rounded-gif { + border-radius:5px; + display: block; + margin-left: auto; + margin-right: auto; + +} diff --git a/docs/static/img/concepts/rcvsrd/Add-Dashboard.gif b/docs/static/img/concepts/rcvsrd/Add-Dashboard.gif new file mode 100644 index 00000000000..b14fc9f9c19 Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/Add-Dashboard.gif differ diff --git a/docs/static/img/concepts/rcvsrd/Add-Model.gif b/docs/static/img/concepts/rcvsrd/Add-Model.gif new file mode 100644 index 00000000000..b9b3aec58d2 Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/Add-Model.gif differ diff --git a/docs/static/img/concepts/rcvsrd/Adding-Data.gif b/docs/static/img/concepts/rcvsrd/Adding-Data.gif new file mode 100644 index 00000000000..dd04532b215 Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/Adding-Data.gif differ diff --git a/docs/static/img/concepts/rcvsrd/DevUI.gif b/docs/static/img/concepts/rcvsrd/DevUI.gif new file mode 100644 index 00000000000..a8cfa8f21fc Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/DevUI.gif differ diff --git a/docs/static/img/concepts/rcvsrd/Rill-Cloud.png b/docs/static/img/concepts/rcvsrd/Rill-Cloud.png new file mode 100644 index 00000000000..e840ba89dda Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/Rill-Cloud.png differ diff --git a/docs/static/img/concepts/rcvsrd/empty-project.png b/docs/static/img/concepts/rcvsrd/empty-project.png new file mode 100644 index 00000000000..4c8279c629a Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/empty-project.png differ diff --git a/docs/static/img/concepts/rcvsrd/rill-cloud-projects.png b/docs/static/img/concepts/rcvsrd/rill-cloud-projects.png new file mode 100644 index 00000000000..8c3b58020cf Binary files /dev/null and b/docs/static/img/concepts/rcvsrd/rill-cloud-projects.png differ diff --git a/docs/static/img/deploy/existing-project/connect-github.png b/docs/static/img/deploy/existing-project/connect-github.png index de29693b102..a5db665ba3a 100644 Binary files a/docs/static/img/deploy/existing-project/connect-github.png and b/docs/static/img/deploy/existing-project/connect-github.png differ diff --git a/docs/static/img/deploy/existing-project/deploy-ui.gif b/docs/static/img/deploy/existing-project/deploy-ui.gif new file mode 100644 index 00000000000..6333625a133 Binary files /dev/null and b/docs/static/img/deploy/existing-project/deploy-ui.gif differ diff --git a/docs/static/img/deploy/existing-project/redeploy.gif b/docs/static/img/deploy/existing-project/redeploy.gif new file mode 100644 index 00000000000..441259ae4aa Binary files /dev/null and b/docs/static/img/deploy/existing-project/redeploy.gif differ diff --git a/docs/static/img/deploy/existing-project/rill-cloud-sign-in.png b/docs/static/img/deploy/existing-project/rill-cloud-sign-in.png index 7045a4353d5..1f57a7e6d0d 100644 Binary files a/docs/static/img/deploy/existing-project/rill-cloud-sign-in.png and b/docs/static/img/deploy/existing-project/rill-cloud-sign-in.png differ diff --git a/docs/static/img/deploy/existing-project/status.png b/docs/static/img/deploy/existing-project/status.png new file mode 100644 index 00000000000..35b4663ac97 Binary files /dev/null and b/docs/static/img/deploy/existing-project/status.png differ diff --git a/docs/static/img/explore/dashboard101/public-url.gif b/docs/static/img/explore/dashboard101/public-url.gif new file mode 100644 index 00000000000..e35b36127ea Binary files /dev/null and b/docs/static/img/explore/dashboard101/public-url.gif differ diff --git a/docs/static/img/manage/project-management/main-branch.png b/docs/static/img/manage/project-management/main-branch.png new file mode 100644 index 00000000000..bf26b44707e Binary files /dev/null and b/docs/static/img/manage/project-management/main-branch.png differ diff --git a/docs/static/img/manage/project-management/project-access.png b/docs/static/img/manage/project-management/project-access.png new file mode 100644 index 00000000000..2b6a04d2b76 Binary files /dev/null and b/docs/static/img/manage/project-management/project-access.png differ diff --git a/docs/static/img/manage/project-management/status-git.png b/docs/static/img/manage/project-management/status-git.png new file mode 100644 index 00000000000..94a754901d4 Binary files /dev/null and b/docs/static/img/manage/project-management/status-git.png differ diff --git a/docs/static/img/manage/project-management/status.png b/docs/static/img/manage/project-management/status.png new file mode 100644 index 00000000000..35b4663ac97 Binary files /dev/null and b/docs/static/img/manage/project-management/status.png differ diff --git a/docs/static/img/manage/user-management/admin-reply.png b/docs/static/img/manage/user-management/admin-reply.png new file mode 100644 index 00000000000..936c31f8189 Binary files /dev/null and b/docs/static/img/manage/user-management/admin-reply.png differ diff --git a/docs/static/img/manage/user-management/email-invite.png b/docs/static/img/manage/user-management/email-invite.png new file mode 100644 index 00000000000..5ec2caf297b Binary files /dev/null and b/docs/static/img/manage/user-management/email-invite.png differ diff --git a/docs/static/img/manage/user-management/request-access.png b/docs/static/img/manage/user-management/request-access.png new file mode 100644 index 00000000000..12f7aca8217 Binary files /dev/null and b/docs/static/img/manage/user-management/request-access.png differ diff --git a/docs/static/img/manage/user-management/share-project.png b/docs/static/img/manage/user-management/share-project.png new file mode 100644 index 00000000000..bb18e29115d Binary files /dev/null and b/docs/static/img/manage/user-management/share-project.png differ diff --git a/docs/static/img/reference/project-files/View-as.png b/docs/static/img/reference/project-files/View-as.png new file mode 100644 index 00000000000..2406146a96e Binary files /dev/null and b/docs/static/img/reference/project-files/View-as.png differ