Roles and permissions¶
Moderation involves two permission systems that are easy to conflate: the standard Django/CMS model permissions, and moderation’s own internal logic built around the Role model. This page untangles them.
The Role model¶
A Role answers one question: who is responsible for reviewing a particular workflow step? It points at either a single user or a group (never both), and is assigned to one or more Workflow Steps. For a given Moderation Request at a given step, the role determines the set of users whose approval counts.
Django permissions¶
The internal logic above controls which moderation actions a user may take; ordinary Django model permissions still control which admin pages they can open. A typical setup defines three groups:
Editor — may view and edit moderation collections; creates content and submits it for moderation.
Publisher — may create, edit, view and cancel collections. Cancelling additionally requires moderation’s custom Can cancel collection permission.
Reviewer — needs only view access to moderation collections and requests (and generally little else in the CMS).
There is also a custom Can change collection author permission gating the ability to reassign a collection to a different author.