The editor’s form is generated from the content type your developers defined. A new field appears in the editor on the next deploy — nobody draws the form.
The title block
The page opens on the record itself:
- The heading is the record’s title, and it changes as you type it. With the title empty it shows the next text field that has a value, such as the slug; with none, Untitled. The type’s name is in the breadcrumb.
- One line under it says where the record stands: its status badge (Draft, Modified, Published, or Not saved yet on the create form — publishable types only), the language on a translated type, one sentence of history such as Published Oct 23, 2026 or Live version from Oct 20, 2026 · saved changes not published yet, and the save state — Saved 4 minutes ago, or ● Unsaved changes while you have edits.
The form
Since 0.12.0 everything you can edit is in one form, on the Content tab — text, choices, rich text, links to other records and media, in the order the type lays them out. Relations and media no longer have tabs of their own.
- Sections. Fields can be grouped into titled sections. Click a section’s heading to fold or unfold it; the editor remembers your choice. Some sections start folded.
- A folded section still tells you what is inside: how many fields it has, how many are to fix before publishing, and how many you changed.
- Errors never hide. If a save or publish is refused while a folded section holds an error, the section opens itself.
- Two columns. Most fields take the full width. Short fields may sit side by side — a start and end date, an amount and its unit. Yes/no switches size to their two words.
- Required fields are marked
*. On a publishable type the form says they are required before the entry can be published; on any other type, simply required. - Changed appears beside a field’s label while its value differs from the last save.
- On a translated type each field says beside its label whether it is per language (a globe) or the same in every language (All locales) — see translating.
On this page
A form with three or more sections gets a map of them. The fields above the first section count as Basics.
- On a wide work area (1024px and more) On this page sits beside the form and follows it as you scroll, the section in view highlighted.
- Narrower, the same list is a Sections menu at the end of the line under the title.
- A section holding a field that blocks publishing turns red with a count; one with unsaved edits carries a dot.
- Picking a section scrolls to it, opens it if it was folded, and puts focus on its first field — or on the field that needs fixing.
A form with fewer sections has no map.
Tabs
Content and History are always there — History holds the record’s versions and what happened to it — except that a record shared from another workspace has no History here. Plugins may add tabs between them, such as Access (who can read the record).
- The Content tab carries a count of the fields that block publishing.
- Each tab has its own address — copy the plain record address (Content) to share a link.
- The old addresses of the Relations, Media and Activity tabs still work: they open the record, and Activity opens History showing its activity.
- Switching language keeps you on the same tab.
Access
With segments installed, Access leads with one line saying who can read the record — Public — every reader can see it., Everyone except 5 audiences can see it., or Only 8 audiences can see it — “Not set” counts as “Cannot see”. — and How rules combine under it explains the logic. Below are an All / Set switch (Set shows only the audiences this record decides about), a search, Set all… (All can see, None can see, Clear all) and Manage segments, then one row per audience, its tags under its name: Not set, Can see or Cannot see. Access is saved with the entry and applies to every language of the record.
The properties panel
Headed Properties. It no longer sits beside the form by default: open it with its button at the end of the top bar, or ⌘. / Ctrl+..
- It opens as a sheet over the page. Esc, a click outside it or its Hide button closes it, and focus goes back to the top bar.
- Pin it to keep it docked beside the form as a column, the way it used to be. The choice is kept in this browser.
- While something blocks publishing, its button in the top bar carries a dot.
What it holds:
- Publish gate — lists only what blocks publishing. Reads ready when nothing does, otherwise 2 blocking with each field and why. On a type without publishing it is the Save gate.
- Details — status, created and last-updated times, the entry id, and on a translated type the Translation group.
- Blocks from plugins — such as Review (approvals) and Checks (alarms).
- Used in — on a record in a shared workspace: how many links other workspaces hold to it. Publishing it updates what they show; unpublishing hides it from them.
Nothing you need to decide a save or a publish lives only here: blockers are in the top bar’s status and at the fields themselves. Versions are in the History tab — see version history.
Actions
In the top bar a button says what a click will do — and when there is nothing to do, it shows the record’s state instead, greyed out:
| The record | The top bar shows |
|---|---|
| New | Save draft · Publish |
| Draft, nothing unsaved | Saved · Publish |
| Draft, with edits | Save draft · Publish |
| Published, nothing changed | Published · up to date |
| Published, with edits | Save draft · Publish changes |
| Modified (edits saved, not live) | Saved · Publish changes |
| A type without publishing | Save, or Saved when there is nothing to save |
Without permission to publish you see only the save button. More actions (⋯) holds the rest, such as Unpublish, Export… and Delete.
| Action | Effect |
|---|---|
| Save draft | Stores your changes. Nothing goes live. |
| Publish / Publish changes | Saves unsaved edits, checks the gate, goes live. An unchanged saved record publishes without a new save. |
| Unpublish | Takes the entry off the live site. |
| Delete | Moves it to Trash where the type has one; otherwise deletes it for good. The confirmation says what links to the entry first. |
Status
Before the buttons, the top bar can show what you need to know about the record — fields that block publishing, a review rule holding Publish, a check that flagged it:
- At most two chips, the most serious first. The fields that need fixing count as one chip, such as 1 issue.
- With three or more, only the top chip shows, with +2 for the rest.
- Click the chips for the full list, grouped Blocks publishing and Heads-up. Go to field takes you to the field and puts focus in it.
A quiet record shows no chips.
Keyboard
| Shortcut | Does |
|---|---|
| ⌘S / Ctrl+S | Save draft, or Save |
| ⌘⇧P / Ctrl+Shift+P | Publish / Publish changes |
| ⌘. / Ctrl+. | Open or close the properties panel |
A shortcut does exactly what its button would, and nothing when the button would do nothing; a held Publish is held from the keyboard too. They are off while a dialog is open. Hover a button to see its shortcut.
On a phone
On a narrow screen Save draft and Publish move to a bar at the foot of the screen, with the save state and the status chips above them and More actions beside them. The properties panel opens as a sheet from the bottom.
Saving is not publishing
On a publishable type:
- You save a live record → it shows Modified.
- The live site keeps showing the last published version. Your edits are not live yet.
- You publish → your changes go live.
If a publish is refused (by the publish gate or a review rule), your save has still happened — the record stays Modified and the site keeps the previous published version. A new record whose publish is refused keeps everything you typed.
The full list of statuses is on the content library.
Review before publishing
On a type with a review rule:
- The panel’s Review block reads Needs review · 0 of 2, then Reviewed · 2 of 2, with who was asked and who approved.
- Until then Publish is held. The button keeps its name; the reason — 2 approvals required on this version, 0 given — is a chip in the top bar’s status and shows when you hover the button.
- Unsaved edits count as a new version with no approvals yet.
- Where an administrator may override, Publish asks Publish without review? first.
Records shared from another workspace
Some workspaces use records from a shared workspace — a library of authors or tags, for example.
- A shared record opens read-only, with a notice: Shared from Library — Read-only in this workspace.
- There is no Save. Use Open in source to edit it in its own workspace (if you are a member).
- In lists and relation pickers, shared records carry a Shared · Library badge.
- If a type is only available from shared workspaces, you can link its records but not create new ones.
Validation
- The form checks the same rules as the server, so what the form accepts, the server accepts.
- Required fields do not block saving a draft; they block publishing.
- A field shows its error under itself once you leave it, or after a save or publish attempt — never while you are still typing a first value.
- If a save is refused, the errors appear on the fields themselves.
While saving
The editor is covered — blurred, with Saving… or Publishing… — until the server answers, so you never see stale values flash back.
When the record changes under you
If someone else saves the record while you have unsaved edits:
- Your edits stay on screen. A notice says This record changed while you were editing.
- Save overwrites their version with yours (theirs stays in History).
- Load the newer version takes theirs and drops your field edits. Staged relation links and pending uploads are kept.
With no unsaved edits, the editor simply shows the newer version. Your own saves never raise the notice.
Relations
Links to other records are fields in the form like any other.
- A list of links is one framed list: each row numbered, the linked record’s title first, then its slug and status. Reorder, Open and Remove appear on hover or focus.
- A single link is one row, with Replace.
- The picker’s Source filter chooses between All, This workspace, and each shared workspace. Lists of links are paged on big collections.
- The other side of a single link owned by another type — an author’s articles, when each article has one author — is shown read-only, with no Add or Remove, saying where it is edited: “Linked from Articles — change it there.” (Before 0.13.1 it offered both, and the save failed.) The other side of a list of links can be edited from either record.
- Link edits are kept until you save, whichever tab you visit in between.
Fields with their own controls
- Rich text → edited in place; Expand opens the full rich-text editor.
- Media → the media library picker, with alt text and a Decorative checkbox per image. An empty media field is one line: drop a file on it, or pick one from the library.
- Translated types → the language menu in the top bar — see translating.