← 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):
| Group | Can do |
|---|---|
| Blog Writers | Add and edit posts |
| Blog Reviewers | Add/edit, plus approve stage 1 of the review workflow |
| Blog Publishers | Add/edit/publish, plus approve stage 2 (final) |
| Blog Viewers | Log 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.