Skip to content

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

Reconnecting to the server…

Please wait, or reload the page.