Article

Content moderation: an editorial track separate from publication state

CPalius core now carries an editorial track via nodes.moderation_state: draft, review, published, archived. Opt-in per type.

· ZemoCA · 1 min read

Publication state (Node::status) and editorial state are not the same thing. An article can be 'in review' without being 'published' yet. CPalius now keeps the two apart.

The new column

A moderation_state column was added to nodes (migration Version20260910040000). It holds the place in the editorial.yaml workflow: draft, review, published, archived. Node::status keeps holding the publication reality.

Opt-in

Moderation is not mandatory for every type. The content.moderation.enabled_types setting (empty by default) decides which bundles go through the moderation track. A CRM or ERP record is never affected.

Flow

  • NodeModerationInitListener stamps the initial place on prePersist.
  • ContentModerationManager runs transitions through the workflow engine; thanks to publish_places, moving to published also updates Node::status.
  • The /aacp/content/{id}/moderation screen shows the current place, the allowed transitions and the buttons. If moderation is off for the type, a 'disabled' notice is shown.

Capabilities: content.moderate and content.publish. Since NodeSnapshot now captures moderation_state too, revision history includes the editorial state.

Comments (0)

No comments yet. Be the first to write one.

Leave a comment

Your comment will appear after it is reviewed.

Related Posts