diff --git a/docs/pages/product/workspace.mdx b/docs/pages/product/workspace.mdx index 7538865e44ced..f6f9b34791393 100644 --- a/docs/pages/product/workspace.mdx +++ b/docs/pages/product/workspace.mdx @@ -17,6 +17,8 @@ In Cube Cloud, you can: - Use the [data model editor][ref-data-model] with the [development mode][ref-dev-mode] and [Rollup Designer][ref-rollup-designer] to build the data model of your semantic layer. +- Use [Visual Modeler][ref-visual-modeler] to build and edit your data model + using a canvas-based UI. - Access the data model through different [Environments][ref-environments]. - Use [Playground][ref-playground] to run queries and test the data model. - Use [Chart Prototyping][ref-vizard] to generate code of a front-end @@ -77,4 +79,5 @@ With Cube Core, you can: [ref-ai-assistant]: /product/workspace/ai-assistant [ref-semantic-catalog]: /product/workspace/semantic-catalog [ref-encryption-keys]: /product/workspace/encryption-keys -[ref-cube-store-encryption]: /product/caching/running-in-production#data-at-rest-encryption \ No newline at end of file +[ref-cube-store-encryption]: /product/caching/running-in-production#data-at-rest-encryption +[ref-visual-modeler]: /product/workspace/visual-modeler \ No newline at end of file diff --git a/docs/pages/product/workspace/_meta.js b/docs/pages/product/workspace/_meta.js index 6f154b4bed8bc..0b05eebdbebe8 100644 --- a/docs/pages/product/workspace/_meta.js +++ b/docs/pages/product/workspace/_meta.js @@ -2,6 +2,7 @@ module.exports = { "playground": "Playground", "vizard": "Chart Prototyping", "data-model": "Data Model", + "visual-modeler": "Visual Modeler", "rollup-designer": "Rollup Designer", "dev-mode": "Development mode", "environments": "Environments", diff --git a/docs/pages/product/workspace/data-model.mdx b/docs/pages/product/workspace/data-model.mdx index 1bc80d95b1d63..317c13d7b030f 100644 --- a/docs/pages/product/workspace/data-model.mdx +++ b/docs/pages/product/workspace/data-model.mdx @@ -63,6 +63,12 @@ there are any unsaved changes: ## Data Graph + + For Cube Cloud customers on the [Enterprise](https://cube.dev/pricing) tier, + the Data Graph is replaced by [Visual Modeler][ref-visual-modeler]. + Please see the [Visual Modeler page][ref-visual-modeler] for more details. + + In addition to exploring the code of data model files, you can view the visual representation of the data model, including relations between cubes. Click Show Graph in the top right part of the data model editor to @@ -162,3 +168,4 @@ If you'd like to use the UI to create a pre-aggregation, you can click on the [wiki-erd]: https://en.wikipedia.org/wiki/Entity–relationship_model [ref-rollup-designer]: /product/workspace/rollup-designer [ref-creating-deployment]: /product/deployment/cloud/deployments#creating-a-new-deployment +[ref-visual-modeler]: /product/workspace/visual-modeler \ No newline at end of file diff --git a/docs/pages/product/workspace/visual-modeler.mdx b/docs/pages/product/workspace/visual-modeler.mdx new file mode 100644 index 0000000000000..83405151cc86d --- /dev/null +++ b/docs/pages/product/workspace/visual-modeler.mdx @@ -0,0 +1,191 @@ +# Visual Modeler + +With Cube Visual Modeler, non-technical users can actively participate in data +modeling without writing a single line of code, and code-proficient engineers +have the option of working in code or no-code. + + + +Visual Modeler is available in Cube Cloud on +[Enterprise](https://cube.dev/pricing) tier. +[Contact us](https://cube.dev/contact) for details. + + + + + Cube Visual Modeler is currently in preview. + + + + +## Getting started +Contact your Cube account team to enable Cube Visual Modeler. + + + Cube Visual Modeler replaces the [Data Graph][ref-data-graph] for accounts + where it is enabled. All functionality of the Data Graph is still present in + Visual Modeler plus new features to allow visual editing of your Cube data + model. + + +For existing developers who are comfortable writing code, there is nothing +additional needed to set up Visual Modeler. They can simply use it alongside +their existing code-first workflow. + +If you would like business users to have self-serve access to Visual Modeler, +we recommend the following setup: +1. In your Cube deployment's settings, under the Build & Deploy tab, connect +it to a Git repository. +2. Disable direct commits to the main branch and disable merging to the main branch. + +See the [Continuous deployment][ref-continuous-deployment] page for more information. + +This way, business users can submit pull requests for an admin to review via +Cube's git integration but do not have the ability to merge their own changes. +This allows you to govern your Cube data model while letting users who are less +comfortable with code make contributions via Visual Modeler. + +## Using Visual Modeler + +Cube Visual Modeler lets you see and edit your Cube data model in an easy-to-use, +graphical interface. You can also switch seamlessly between Visual Modeler and +the original code-based [Data Model editor][ref-data-model] depending on your needs. + + + +To open Visual Modeler, click on the Show Canvas button in the top +right of the [Data Model][ref-data-model] page. Visual Modeler will stay open +until you go back to the code editor by clicking the View Code +button or Show Code on any cube or view node. + +## Cubes + +### Adding cubes + +To add a cube, click the Add Cube button in the top left of the Visual Modeler +screen. This brings up the Add Cube dialog where you can select a table from your +database, choose dimensions and primary keys, and review your choices before +submitting. + + + Note that you cannot add measures at this step. To do so, first add your cube, + then follow the instructions in [Editing cubes](#editing-cubes) or [Adding + dimensions and measures](#adding-dimensions-and-measures) below. + + + + +### Editing cubes + +To edit a cube, first select the cube on the canvas by clicking on it. Then, in +the sidebar, click Edit in the top right. This brings up a modal where you can +edit the cube's details (name, title, SQL, etc.), dimensions, measures, and +relationships. + +You may use this dialog to add dimensions, measures, and joins, or do so via the +[Adding dimensions and measures](#adding-dimensions-and-measures) and [Working +with joins](#working-with-joins) sections below. + + + +### Adding dimensions and measures + +To add a dimension or measure, first select a cube on the canvas by clicking on +it. Them, in the sidebar, click Add Dimension or Add Measure. + + + +### Working with joins + +You can add or edit joins via the "Relationships" section of the Edit Cube dialog +(see "[Editing cubes](#editing-cubes)" above). + +Visual Modeler also lets you add joins visually by dragging a line on the canvas +from the side of one dimension to another. + + + +## Views + +### Adding views +To add a view, click the Views tab at the top of the canvas. Then, click Add +View. This brings up a dialog where you can choose the base cube, set the view +details such as name and title, and add joins and join paths. + + + +### Editing views + +The same dialog may be used to edit existing views by selecting the view in the +dropdown, clicking on it in the canvas, and clicking Edit in the sidebar. + +## YAML mode + +All the dialogs mentioned above have a "YAML mode" where you can see and edit +the Cube YAML generated by Visual Modeler. This lets you add properties that +are not natively supported by the Visual Modeler GUI (for example [meta +tags][ref-meta]) or inspect the YAML you've generated before submitting it. + +To access YAML mode, click the Create with YAML or Edit with YAML button +at the bottom of the dialog. + + + +## Limitations + +Cube Visual Modeler does not natively support some features of the Cube data +model when adding or editing cubes and views. However, these may be added via +[YAML mode](#yaml-mode) or in the [data model code editor][ref-data-model]. + +For example, the following are not included in Visual Modeler: +- [Meta tags][ref-meta] +- [Segments][ref-segments] +- [Refresh keys][ref-refresh-keys], [pre-aggregations][ref-pre-aggregations], [subqueries][ref-sub-query], or [granularities][ref-granularities] on dimensions +- [Drill members][ref-drill-members] or [rolling windows][ref-rolling-window] on measures + +Cubes and views using those features will still be displayed in +Visual Modeler, but those fields can only be edited via [YAML mode](#yaml-mode) +or in the code editor. + +Additionally, Visual Modeler only allows editing of cubes and views that are +defined in YAML, not JavaScript, and it does not allow editing of [dynamic data +models][ref-dynamic-data-models] or models which use [Jinja][ref-jinja], although +they will still be displayed on the canvas. + +[ref-data-graph]: /product/workspace/data-model#data-graph +[ref-data-model]: /product/workspace/data-model +[ref-meta]: /reference/data-model/cube#meta +[ref-segments]: /reference/data-model/segments +[ref-refresh-keys]: /reference/data-model/cube#refresh_key +[ref-pre-aggregations]: /reference/data-model/pre-aggregations +[ref-sub-query]: /reference/data-model/dimensions#sub_query +[ref-granularities]: /reference/data-model/dimensions#granularities +[ref-drill-members]: /reference/data-model/measures#drill_members +[ref-rolling-window]: /reference/data-model/measures#rolling_window +[ref-dynamic-data-models]: /product/data-modeling/dynamic +[ref-jinja]: /product/data-modeling/dynamic/jinja +[ref-continuous-deployment]: /product/deployment/cloud/continuous-deployment \ No newline at end of file