Drupal 8 Content Moderation

Submitted by peter on Tue, 05/15/2018 - 17:54

Drupal 8, from 8.2 onward, has a Content Moderation module in core. The module was previously named Workbench Moderation and has nothing to to with the "Content moderation" module released for Drupal 6.


Content Moderation expands the Drupal publishing states from the original two, published and unpublished, to anything you want. You can name the states anything, "edited", "ready for editing", "return to author". You can create rules for moving content from one state to another.

The resulting rules are called workflow. The workflow might restrict content authors to the one option of sending the content to editors for editing. The editors can edit the content or publish the content or send the content back to the author.

You might include rules to force the creation of a new revision when one version of content is published. The editors might have to send the edited content to a senior editor for review before publishing.

Create your own roles for your staff then create your own workflows for moving content between staff with different responsibilities.

Notify everyone

There is a Content Moderation Notifications module to send out notifications when content changes state. Imagine an editor sending an edited article back to the author for review. The editor could change the state from "ready to edit" to "requires changes". The change of state could trigger a reminder email to the author.

Workbench module

Content Moderation does not require the Workbench module. Content Moderation can work with the Workbench module to add extra flexibility and control.


Starting with Drupal 8.4, Content Moderation can work with any entity type. You could have workflow for media asset management.

Entities were part of Drupal for some time but only as a building block for the modules that chose to use entities. Entities are now spread across the whole of Drupal as the basic building blocks of many modules. What was designed for nodes or content can now be applied to anything. Media is now based on entities which means entity aware modules can handle media with the same ease as handling content.

On top of media, there are images, video, and other data types. There is also a URL handler based on entities/media. Workflow could be expanded out to cover everything attached to content.


The Content Moderation module has documentation at drupal.org/docs/8/core/modules/content-moderation. The overview page shows a simple case of an author and an editor.

A small site might not working about using editors for the online content if the content is already edited before copying into a Web site page.

A large publishing project might have editors specialising in different areas like news, sport, and entertainment. There might be different editors for each area. An article might go to a general editor then to a specialist editor.

A large publishing house might have several publications with different authors and editors for each publication. Then, to complicate everything, they might pass content on to different publications for use with minor editing.

Too complicated?

Look at the workflow for a multiple publication article. An article about coffee on the beach in far north Queensland might be used in several publications. Matched with a picture of the coffee, it might be published in a food magazine. The same article could be published in a travel magazine by using a photograph of the beach. A technology magazine might pick up on the mention of 4G access then run the article with a picture of the coffee and the notebook computer with the beach in the background.

Now your workflow has to have revisions for each magazine then, possibly, revisions within each magazine. This might be too complicated. You might end up creating new articles with different titles. You might use different content types for food, travel, and technology.

What you want to do is look at the way people work then replicate that online. You then look at the time savings available when the online system removes delays. If everyone is working in the same time zone and you create automatic notifications, everyone can react fast, saving you time from the writing of an article to the publication of the article.

When people work in different time zones, you might not get the same time saving. What you might then look at is a way to match authors to editors in the same time zone, which would mean adding time zones or some sort of region to your workflow. This is the point where you need to look at more than content moderation, you need to look at tags, entities, and the wider range of Drupal options.


Content moderation and workflow ran into roadblocks in Drupal 7. Most of the roadblocks are removed in Drupal 8. Drupal 8.4 expands the moderation and workflow options out to all entities in Drupal 8.4, a good reason to upgrade your Drupal installation to the latest version.