CMS Document Flow
CMS page lifecycle — Draft through Published, Scheduled, Unpublished, Archived, InReview, Approved, Rejected — with Publish, Unpublish, and Delete on the Pages list.
CMS Document Flow
CMS pages use PageStatus and PageLifecycle (Publish, Unpublish, Archive, Schedule). List-row controls on Pages are icon buttons, not a MudMenu.
Hub: Target Document Flow.
- Draft / Rejected
- InReview / Scheduled
- Approved / Published
- Unpublished
- Rejected
- Archived
#Page statuses
Draft, InReview, Approved, Rejected, Scheduled, Published, Unpublished, Archived
Page lifecycle — review, publish, schedule, archive
flowchart TB
subgraph Review["Review"]
direction TB
Draft[Draft]
InReview[InReview]
Approved[Approved]
Rejected[Rejected]
Draft -->|Submit for review| InReview
InReview -->|Approve| Approved
InReview -->|Reject| Rejected
Rejected -->|Revise| Draft
end
subgraph Live["Publish"]
direction TB
Published[Published]
Scheduled[Scheduled]
Unpublished[Unpublished]
end
subgraph End["Archive"]
direction TB
Archived[Archived]
end
Start((New page)) --> Draft
Draft -->|Publish| Published
Draft -->|Schedule| Scheduled
Approved -->|Publish| Published
Approved -->|Schedule| Scheduled
Scheduled -->|Publish on UTC| Published
Published -->|Unpublish| Unpublished
Unpublished -->|Publish| Published
Published -->|Archive| Archived
Unpublished -->|Archive| Archived
class Start egkStart
class Draft egkDraft
class InReview,Scheduled egkActive
class Approved,Published egkSuccess
class Rejected egkError
class Unpublished egkWarn
class Archived egkTerminal
When Website.RequireApproval is true, publish that skips review is blocked. Illegal moves raise InvalidPageWorkflowTransitionException.
Pages list — row actions (actual UI)
| Control (UI) | Enabled when | Behavior |
|---|---|---|
| Publish (icon) | Status is not Published |
PublishPageAsync |
| Unpublish (icon) | Status is Published |
UnpublishPageAsync |
| Delete (icon) | Always on row (confirm dialog) | DeletePageAsync after confirm |
Status chip colors on the list: Published success, Scheduled info, Unpublished warning, Archived error.
Approve / Reject / Archive / Schedule are enforced in the lifecycle/editor paths when the site requires approval — not as separate MudMenuItem labels on PagesList today.
Page versions
Each publish/rollback can produce an immutable PageVersion snapshot. Versions are history, not a parallel Actions menu.
#Post-action sync
After Publish / Unpublish / Delete, the pages grid reloads; status chips and Publish/Unpublish icons swap immediately. Failed calls leave prior status.
#Scenarios
| Scenario | Result |
|---|---|
| Publish non-published page | Published; Unpublish icon appears |
| Unpublish | Unpublished; Publish icon appears |
| Delete cancelled in dialog | No change |
| Publish blocked by approval gate | Error; status unchanged |