Structure your project
After creating your initial set of sources, models, and dashboards, you may have noticed the following native folders that exist in your Rill project directory:
By default, any new sources, models, metrics view and dashboards will be created in their respective native folder. However, this does not necessarily have to be the case and Rill Developer allows a flexible project directory structure, including nested folders or even storing objects in non-native folders. This is a powerful feature that allows you as a developer to organize your project to meet your specific team needs.
Adding new resources or parent folders
Within Rill Developer, from the left-hand side (file explorer), you should be able to click on the Add
button to add a new base resource, such as a new source, model, or dashboard. Furthermore, you will also have the ability to add a new parent folder to store groups of resources (can be mixed). If you choose to add a new folder, you should see the folder structure reflected if you check the project directory via the CLI.
type
propertyFor backward-compatibility purposes, any resource that belongs in the sources
, models
, and dashboards
native folders are assumed to be a source, model, or dashboard respectively (including nested folders that belong within a native folder).
However, if you'd like to create a resource outside one of these native folders, make sure to include the type
property in the resource definition or Rill will not be able to properly resolve the resource type! For more details, see our reference documentation.
Navigating Upstream / Downstream Objects
When selecting between a source, model, metrics view and dashboard, you can view the upstream/downstream objects to the current view. For example, if you are selecting a metrics view, you can see all of the dashboards (in a dropdown) that are built on the metrics view. Likewise, if your model references several sources, this will be available to select.
Moving resources within your project
From the UI, within the file explorer, you should be able to drag resources / objects around and move them from / to folders as necessary.
For developers who prefer to use the CLI, the project structure can still be controlled or adjusted directly via the CLI and/or using your preferred IDE of choice (e.g. VSCode).
Adding a nested folder
Rather than creating a parent folder and moving it into another folder manually, there is a shortcut to create a nested folder by directly hovering over an existing folder in the file explorer > click on the "triple dots" > New folder
.