CMS Pages
CMS Pages
A CMS Page is a project for navigation and high-level, mostly static information. It uses the dashboard grid and visual language, but its layout is saved directly rather than generated by an Envision run. A Page can also display recent results by importing tiles from other projects.
Why use a Page?
- Stable entry point. The Page URL opens the current saved layout, so links and bookmarks do not accidentally point to an old dashboard run. A Page can be the account or group home.
- Less upkeep for static content. Navigation and explanatory content need no Envision script, scheduled home run, or script rewrite. There is no home dashboard run to refresh after dashboard serialization changes. Imported data still depends on its source scripts and runs.
- Direct editing. The visual editor previews changes to the Page layout as they are made, without waiting for a script run or new data.
Content and rendering
| Content | How it works |
|---|---|
| Page-owned blocks | Markdown, images, project link buttons, regions, tab sets, and tab strips. Blocks have grid positions and have customized parts similar to StyleCode properties. Regions can group blocks and/or tiles. |
| Imported tiles | Select a named tile exported by another Envision executable project’s production script. An exported region can bring several tiles together. The Page controls its placement; the source run controls its data and styling. The Page editor cannot edit the imported tile’s inner content or StyleCode. |
The Page has no run of its own. When it is requested, the server converts the saved layout for the dashboard renderer and reads imported tiles from each source project’s latest finished production run with a dashboard. A newer source run can therefore change what the Page shows without a Page edit. A missing run or tile is shown as an error tile rather than preventing the rest of the Page from loading.
It can be useful to write an Envision script solely to export tiles for Pages. A script may also export tiles that are not displayed in its own dashboard.
Page-level slicing is not supported, although an imported tile can reference a particular slice.
Contrary to Dashboards, Pages have no sticky top region, and some tile are not supported like the title tile, or slice picker.
Choosing between a Page and a dashboard
| Need | Choose |
|---|---|
| A home page or menu linking to projects | Page. The custom navbar can also handle some navigation. |
| An account-wide status or health overview, such as process status or file reception dates | Page when suitable content blocks or exported tiles supply the information. Some dedicated status blocks are still planned. |
| A result produced on a specific RunFlow trigger, or a clean history of runs | Dashboard. |
| Forms or file uploads | Dashboard for now; Page configuration or file-connected blocks are possible future additions. |
Creating and editing
Create a CMS Page from the Projects list or the web IDE, then use its visual editor.
The /p/{projectId} view shows the current version of a page, which is the latest one saved.
The Page editor currently requires project edit permission and is currently limited to Lokad employee to iron out the features.
The web IDE does not yet edit the structured JSON definition, and Studio exposes Page layouts as read-only .cms files.