Directory / plugin

SapphireIT Editorial Workflow

v1.0.0 · by Md. Readush Shalihin

Editorial approval workflow for posts, pages and custom post types: statuses, reviewers, due dates, comments and a full activity history.

View on WordPress.org

About this plugin

SapphireIT Editorial Workflow adds a real editorial process on top of the posts
you already have. Every managed post gets a workflow status, an assigned
reviewer, a due date, workflow comments and a complete activity history —
managed from a Gutenberg sidebar, a classic editor meta box and an admin
dashboard.

Six statuses, one clear path: Draft Writing Review Needs Changes
Approved Published, with explicit paths for sending content back and for
re-editing something that is already live.

What it does

  • A real state machine. Only the moves in the transition graph are possible.
    Nobody jumps a draft straight to approved, whatever their role.
  • Server-side enforcement. Every transition is re-checked in PHP against the
    graph, the capability map and the post’s current stored status. The editor UI
    shows you what you can do; it does not decide it.
  • Six dedicated capabilities, granted to roles at activation and editable
    with any capability-management plugin. No hard-coded role checks.
  • Reviewer assignment and due dates, with an “overdue only” filter computed
    in your site’s timezone.
  • Workflow comments that stay in the editorial log and never appear on the
    front end.
  • A complete activity history in a dedicated indexed table: who changed
    what, when.
  • Conflict protection. If two editors act on the same post at once, the
    second one is told the post moved instead of silently overwriting the first.
  • An admin dashboard with server-side search, filtering, sorting and
    pagination, row actions, and bulk actions across up to 100 posts.
  • A documented REST API under sit-cwm/v1. Everything the UI does is an
    endpoint you can call yourself.
  • Works with what you have. Posts, pages and any custom post type, through
    post meta. No custom post type of its own, and nothing to migrate.

What it deliberately does not do

Being straight about this matters more than a longer feature list:

  • It does not send email. Assigning a reviewer notifies nobody in version
    1.0.
  • It does not publish anything. Reaching the “Published” workflow status
    records that the editorial process finished — it does not touch the
    WordPress post status. Publishing stays a deliberate action by a human. The
    two are separate fields on purpose, so that scheduled posts keep their
    schedule and live content can be re-edited without being unpublished.
  • No Slack, no editorial calendar, no multiple workflows, no rules engine. Those
    are on the roadmap, not hidden behind an upsell in this plugin.

Who can do what

  • Draft, Writing, Review — sit_cwm_change_workflow
  • Needs Changes — sit_cwm_review_content
  • Approved — sit_cwm_approve_content
  • Published — sit_cwm_approve_content plus WordPress publish_post

Every change also requires WordPress’ own permission to edit that specific post.
By default administrators get everything, editors can review and approve,
authors and contributors can move their own content up to Review, and
subscribers get nothing.

Developers

The plugin is built as a thin React client over a PHP workflow engine, and fires
actions and filters at every lifecycle point (sit_cwm_status_changed,
sit_cwm_can_transition, sit_cwm_transition_map and more) so it can be
extended without editing its files.

Privacy

The plugin stores, in your own database: the user ID of whoever makes each
workflow change, the user ID of the assigned reviewer, the text of workflow
comments and the time of each action. This information is visible to users who
have the sit_cwm_view_activity capability. Nothing is sent off your site.

Plugin tags