User Guide

The authoring surface

Where editing happens, and the few ideas worth knowing before you start.

Everything authors do happens at /cms. It is a separate surface from the site it publishes, with its own accounts — Cendia ships its own internal identity for the authoring surface only, kept separate from a front-end site's users and never blended with them.

Draft and published are different things

Saving a draft and publishing are separate actions, and they always have been separate ideas.

Validation reflects that. A field marked required stops a page being published; it does not stop a draft being saved. An author part-way through writing is in a normal state, and a system that refuses to save it teaches people to draft somewhere else and paste at the end.

Status is what was committed

A status shown on a live list is the state of what has been saved, not what is currently typed into a form. Change a field and the list does not move until you save.

The exception is a control that is explicitly a one-click action — a "now" button, or Start on a job. Those mean what they say immediately.

Releases

A release is a named set of changes that go live together. It is a sparse overlay on what is published: every page you touch in a release is in it, everything you do not is read straight from the live site.

That mechanic is what gives you whole-site preview, links that stay correct between pages in the same release, and a rollback that puts back exactly what was there before.

The page tree is the URL structure

Moving a page moves its URL. There is no separate routing table to keep in step, which is the point — but it does mean a move is a real change to the site's addresses, and the CMS will offer to leave a redirect behind.

Redirects default to 301 (permanent). That is deliberate. A moved page has moved.

Folders organise; they do not render

A folder shapes the address of the things under it. /archive/2019-notes needs archive to exist, but /archive itself is not a page and returns 404 if you visit it.

This is by design, not an unfinished feature. If you want /archive to show something, it needs to be a page type that renders.

Media

Media is uploaded once and referenced. A picture used on six pages is one file, and replacing it replaces it everywhere.

That also means deleting media can leave a page pointing at something that has gone. Templates are written to cope with that, but the page will be missing an image until somebody picks a new one.