Content life cycle and workflow
Contents
A content item’s life cycle is described by three independent states:
-
its workflow state — is the work done?
-
its publish state — is it live?
-
its change status — what has changed since it was last published?
Workflow state
Workflow is the state machine a content item moves through on its way to being published. The general workflow state is presented as an icon next to the content-type throughout the UI (a red icon indicates the content is invalid — for example, required fields are missing).
- Invalid
-
A mandatory field is missing, or a validation test fails. Blocks publishing.
- In progress
-
Default state for a new or modified content item. Blocks publishing.
- Ready for publishing
-
The editor has explicitly flagged the content as done, making it eligible for publishing.
When an item has been published, the workflow state is no longer displayed - as there are no changes to publishing. If a published item is modified, it immediately reverts back to In progress.
Transitions between the states are driven by four actions: Mark as ready, Publish, Unpublish, and general creation and editing.
Invalid (blocking)
Set whenever the content fails validation. Invalid content is marked with a red icon, and invalidity takes priority over the other state icons — an invalid item is shown as invalid whether it is in progress or ready.
Typical causes:
-
a required field is empty — including the display name
-
an input has fewer or more entries than its allowed number of occurrences
-
a value fails the validation of its input type — a regular expression on a text line, a malformed rich text field, an invalid attachment
-
a required field is missing in a mixin, or in the app configuration of a site
-
a custom validator on the server rejects the content
Validation runs when the content is opened and re-runs continuously while editing, so the state updates as the form is filled in. Invalid inputs are highlighted where they occur, and the errors are also summarized at the top of the form, so problems inside collapsed or nested sets are not missed. In the Content Editor, the state icon sits next to the Publish button in the toolbar.
Invalid content can still be saved — validity never blocks saving work in progress. What it blocks is progress through the workflow:
-
Mark as ready is disabled for invalid content — an invalid item cannot reach Ready, and therefore cannot be published the normal way.
-
In the Publishing wizard invalid items block the batch, just like in-progress items do, but the bulk Mark as ready link will not clear them. They must either be fixed or excluded from the batch.
Editing a published item into an invalid state is allowed: the red icon appears for the draft version, while the version already live on master is untouched.
| Validity is not a stored state — unlike In progress and Ready it is derived, by validating the content every time it is loaded or changed. |
In progress (blocking)
The default state of a new content item. Signals that the content is being worked on; it will stay in this state until the editor explicitly marks it as ready, or until a publisher overrides and publishes it directly.
In-progress state blocks publishing — this is deliberate, to keep unfinished content from being published by accident. Whenever a batch contains at least one in-progress item, the Publishing wizard disables Publish, shows a warning, and pins the offending items to the top of the list:
There are three ways to resolve this from inside the dialog:
-
Mark all as ready at once — click the Mark as ready link in the warning at the top of the dialog. Every in-progress item in the batch is marked ready in one operation, the warning clears, and Publish becomes enabled.
-
Handle items one at a time — click an item’s link in the list to open it in the Content Editor, finish the work, and mark it ready there. Validation re-runs when the wizard is updated, so the item drops off the warning list as soon as it is ready.
-
Remove items from the batch — Exclude the item by clicking the Remove link, or unchecking it in the dependency list. The warning clears when no in-progress items remain, and Publish becomes enabled.
| The bulk Mark as ready link can be disabled in the Content Studio configuration. With bulk readiness disabled, each item must be opened and marked ready individually — useful when a stricter approval process is required. |
The default toolbar action for in-progress content is Mark as ready.
Ready (for publishing)
Set by the Mark as ready action from the Content Editor or Content Navigator. The yellow ! icon is replaced with a green ✓, and the item becomes eligible for publishing.
The default toolbar action changes to Publish (if the user has publish permission) or Request publishing (if not).
| Editors with publish permission may still use Request publishing when content needs sign-off or additional input from another user. |
Any edit to a Ready for publishing item immediately resets it to In progress — the editor must mark it ready again once the edits are finished.
Publish state
In addition to the workflow state, the UI displays the publishing state of each content item. This is shown as a text element in the second column of the content list, and in the Content Editor toolbar.
There are four publishing states:
- Offline
-
The item is not published, and is not visible on the website. This is the default state of a new content item, and Unpublishing an item returns it to this state as well.
- Online
-
The active version has been pushed from
drafttomaster, and the item is live. For a published item with no changes, the workflow state icon is hidden. Editing a published item resets the workflow state to In progress. - Scheduled
-
The editor has set a future date and time for the content to be published. It is not live yet.
- Expired
-
The editor set a date and time for the content to be unpublished, and that time has been reached. The item was previously online.
The master branch is unaffected by your edits in the draft branch until the item is published again. |
Change status
The third state tells you what has happened to the item since it was last published — the same service git status performs for a working copy, one line per item.
The values are:
- New
-
The item has never been published. There is no live version to compare with.
- Modified
-
The item is published, and the draft version differs from the live one.
- Moved
-
The item has been renamed or moved to another parent since it was published.
- Unpublished
-
The item was previously published, and has since been taken offline with Unpublish.
- Published
-
The draft version is identical to the live one — no changes to publish.
| Moved may be combined with other states, since an item can be both edited and relocated in the same round of work. Such an item reads Modified, Moved. |
The change status is shown in the toolbar of the Preview panel, in the Details widget, and per item in the Publishing wizard. In the wizard it appears next to the publish state, so a single line tells you both where the item stands today and what publishing will change:
ONLINE | Modified, Moved
Items with change status Published never appear in the Publishing wizard — there is nothing to publish for them.
Publish request
Publish requests are part of the effective workflow, but not a workflow state in themselves, as they operate across multiple items. They exist so work can be handed to someone else for review and publishing — typically when the editor lacks publish permission, or wants sign-off before going live. The full wizard, the request dialog, and how requests are managed are documented under Publish requests.
| Content items can also be attached to tasks, the other issue type. Unlike publish requests, tasks are purely editorial work items — they have no effect on an item’s workflow or publish state. See Issues. |