Role#

Understanding the Role model can be a bit tricky because it blurs the lines between the CMS permissions system and the custom permission system implemented by Moderation. So let’s break this down a bit…

Firstly from a CMS permissions perspective - you can define whatever Groups you like to the various standard and customer model permissions for Moderation (e.g. add_moderationcollection). However, the recommendation is the following groups: Editor, Publisher and Reviewer. The Reviewer should have permission to view the Moderation Collection only (and should generally have very limited access to the CMS - no edit / create permissions for content-types in general. The Editor should have rights to view and edit a Moderation Collection. The Publisher should have rights to create, edit, cancel and view a Moderation Collection.

For the purpose of this explanation - Role (capitalised) and role (lowercase) - Role refers to the model, whereas role refers to the word “role” in the normal broad application of the English term.

Moderation has internal permissions logic which does not involve CMS permissions but rather which defines two roles, each which will have differing access to parts of the Moderation UI/UX. These roles are Collection author and Reviewer.

Collection author is defined simply by the author fk link to a user on the ModerationCollection model instance. It is always a single User. For this user, the following bulk actions will be enabled in the Moderation’s change_list view , namely cancel collection, publish and remove.

Reviewer is a more nebulous concept. A ModerationCollection may have a number of Reviewers. The Workflow has one or more Workflow Step each which have a single Role assigned to it. The Role links to either a single User or a Group of Users. This dynamically determines a set of users that are valid Reviewers for a given Moderation Request at a given Workflow Step. Once a valid Reviewer acts on a given Moderation Request, their action is recorded as a Moderation Request Action. A Reviewer has access to a compliment of bulk actions - specifically allowing a Reviewer to accept or reject a draft version.

A User may be both a Reviewer and a Collection author for a given Moderation Collection.

Thus, the Role model defines the person/s who is responsible for reviewing a particular step of the workflow. I.e. it defines the users that may review a draft version for a given Moderation Request for a given Collection.

In summary…

Reviewer#

The Reviewer is responsible for approving / rejecting items in the collection and making comments. They have access to the Approve and Submit for rework Moderation Collection bulk actions.

Collection author#

The collection author is responsible for creating, editing and (usually) publishing the collection. They have access to the Submit for review and Publish Moderation Collection bulk actions, as well as the various Moderation Collection buttons.