← Back to Blog

Editorial Roles and the Approval Workflow

A fresh install ships with four starting roles, seeded by one command (python manage.py seed_blog_roles, safe to re-run):

GroupCan do
Blog WritersAdd and edit posts
Blog ReviewersAdd/edit, plus approve stage 1 of the review workflow
Blog PublishersAdd/edit/publish, plus approve stage 2 (final)
Blog ViewersLog in and view pages, including drafts — no editing

The review chain itself — Editorial Review → Final Approval — is a Wagtail Workflow, not hardcoded logic. A post a Writer creates doesn't go live on its own: it waits for a Reviewer, then a Publisher, to each sign off.

None of this is fixed

Everything above is a starting point a buying organization reconfigures from Settings, no code involved:

  • Add a group under Settings → Groups, with whatever page permissions it needs.
  • Add, remove, or reorder a review stage under Settings → Workflows — insert a legal-review step between the two that ship by default, for example.
  • Scope a workflow to part of the site only — attach it to one category of posts instead of the whole Blog index, so only sensitive content needs the extra sign-off.
The point isn't that four roles are the right number — it's that whatever number turns out to be right for your team is a Settings change, not a support ticket.