We use cookies to offer you a better browsing experience, analyze site traffic, personalize content, and serve targeted advertisements. Read about how we use cookies and how you can control them by clicking "Cookie Settings." If you continue to use this site, you consent to our use of cookies.

Privacy Preference Center

Acquia’s websites may request cookies to be set on your device. We use cookies to enrich and personalize your user experience. Cookies help us know when you visit our websites, how you interact with us, and what content you view, so we can customize your experience with Acquia, including offering you more relevant content and advertising. You can also change your cookie preferences. Note, that blocking some types of cookies may impact your experience on our websites and the services we are able to offer.

Essential Website Cookies:
These cookies are strictly necessary to provide you with services available through our websites and to use some of its features (such as access to secure areas). Since these cookies are strictly necessary to deliver the websites, you cannot refuse them without impacting your experience and how our websites function. You can block or delete them by changing your browser settings, as described under the heading "How can I control cookies?" in the Cookie Policy.

Non-Essential Website Cookies:
These cookies collect information that is used to help us understand how our websites are being used, how effective our marketing campaigns are, or to help us customize our websites and applications to enhance your experience. You can click below to remove these cookies from your website experience. However, without these cookies, certain functionality may become unavailable or unusable.

Webinar: Why, When, How to Decouple

Content Revisions

Content types and custom block types are configured by default to require revisions. This allows tracking of who changed what and when, and also provides a log message associated with any edits, to inform other content authors about why a change was made.

The system keeps a log of all revisions in the system, and allows reverting to prior revisions if the need arises.

There is ongoing work to enable revisions on other parts of Drupal 8 as well, such as menu links and comments.

Workflows

Get updates

Receive the best content about the future of marketing, industry shifts, and other thought leadership.

Content production and management has a lifecycle. Blog posts like this one begin as outlines that become drafts, then other people may review them, edit them and when they look good, the posts are published.

Even after publishing, there may be workflows for translations and archiving the content later. But Drupal is used for a lot more complex scenarios, let's say a shop's inventory management where products are backordered, arrive in inventory and then sold. Or users that begin as newcomers and gain higher status on the system later.

The workflows module allows defining multiple workflows that define their states and the transitions allowed between them. In the above examples, blog posts could have a publishing workflow, inventory items could have a warehouse workflow and user profiles could have a user stature workflow. Each of which has its own states (backordered, in stock, sold for an inventory workflow for example) and transitions (only products in stock can be moved to sold).

However, all of these examples are theoretical as the workflows module merely provides a framework to manage them and the behaviors for them should be provided by other modules. That is where content moderation comes in.

Content Moderation

By default, content in Drupal has two states: published (visible on the site) or unpublished (visible only to the author and site admins). However, many sites have more complex publishing needs.

The content moderation module builds on top of the workflows module and Drupal 8's ability to create content revisions that are not live yet but newer than the last live version. It ships with a default "editorial workflow" with "draft," "published," and "archived" states, which are useful for state tracking in simple publishing scenarios.

This workflow can either be modified and extended for more complex use cases, or another publishing workflow can be created if you plan to apply a simpler workflow to your blog posts and a more complex workflow for your press releases. Your workflow for press releases could look like: new => draft => media / asset review => legal team sign-off => published.

You can also create multiple editorial roles, and restrict users' ability to move content to and from these workflow states (for example, only admins can use the restore and restore to draft transitions ).

User interface elements are also provided on content items that are configured for the workflow allowing content editors to run transitions. The content moderation module ties the states back to publishing statuses, so drafts and archived content goes unpublished while content in other states are published. Further added states can also define their publishing status and whether content in that state becomes the default revision.

An overview for managing unpublished content that's awaiting moderation is also available.

Content Staging (Experimental)

Although content moderation works great for staging single pieces of content, sites often have a need of staging multiple pieces of content at once (for example, an article with callout blocks and video assets), and previewing the changes that will be made to content listings or landing pages.

Fortunately, the robust workspaces module provides full content staging capabilities for these scenarios. You can define multiple workspaces (such as "staging" and "live") which are copies of your site, and create content (or modifications to existing content) that is visible only within that workspace. Then, once the changes have been verified, you can "deploy" the content to another workspace at the click of a button.

This functionality is particularly useful for events where there are multiple possible outcomes (such as elections or sporting events), that require vastly different hero images, featured articles, advertisements, etc., depending on the conclusion. Workspaces allow you to build out the entire content for either scenario ahead of time and then publish the lot at once, once the winner is announced.

That's a Wrap

Join us for our next installment, when we'll be talking all about Drupal 8's multilingual capabilities.

Special thanks to Gábor Hojtsy for co-authoring this section.

Angela Byron

Sr. Director, Product & Community Development Acquia, Inc.

Angela Byron, senior director of product and community development, is a Drupal core committer, recipient of the Google-O'Reilly Open 2008 Source Award for Best Contributor, co-author of the O'Reilly book "Using Drupal," and an open source evangelist who lives and breathes Drupal.

She got her start in Drupal as a Google Summer of Code student in 2005 and since then has completely immersed herself in contributing to open source. Her work includes core patch review, improving the user experience of Drupal through the Spark project, strategic initiative coordination, testing and quality assurance efforts, improving and fixing documentation, and general community cat herding.

She lives near Vancouver, British Columbia, with her amazing daughter. She’s passionate about getting new people (especially women) involved in open source, as well as geeky computer stuff in general. When the keyboard is pried from her hands once or twice a year, she enjoys video games, logic puzzles, drawing silly cartoons, and finding unique things to do around town with her eclectic group of awesome friends.