fromAugust 2015
Article:

Building a Publishing Workflow with Workbench

A Concise Overview of the Workbench Module
0

PhotoThe Workbench module is a flexible tool for building an editorial workflow in Drupal. It offers a standard workflow and customization options for tailoring the process to your needs. Used by more than 25,000 sites to date, it is a tried and true publishing workflow solution that you can extend with moderation, access control, and media management.

Why Use Workbench?

Most organizations producing online content have an editorial process in place: content creators collect information and write content, editors review, edit, ask for changes, and publish the content once it’s considered final. Depending on the size and processes of the organization, these roles can be filled by one or more people, even groups, who might not be familiar with how Drupal works. With Workbench you can build an editorial process in Drupal that can reflect these diverse roles and processes.

Workbench offers different advantages for each group of stakeholders:

  • Users who only have to work with content benefit from a simplified interface. Training content creators is easy because they are already familiar with the concepts of the editorial workflow and only have to learn how it is modeled on the interface. They don’t have to learn much about the CMS itself. The short learning curve and familiar activities help them add and update content more frequently.
  • Organizations can fully replicate and digitalize their editorial workflow: access control is based on organizational structure, not website architecture. The process itself is customizable based on the roles and practices inside the organization. The workflow can be applied to media files as well. With the straightforward use, organizations can save on decreased support costs.
  • Developers can implement various workflows thanks to the module’s modular and extensible structure.

Talking about online content, you also want to consider post-publication phases of the editorial workflow: content teams might need to update already-published content. Workbench offers a solution for this scenario as well.

We used Workbench and another module from the Workbench Suite, Workbench Moderation out-of-the-box to implement the editorial workflow of Saïd Business School’s public website, winner of Acquia’s Partner Site of the Year Award in the Higher Education category. The school has many different types of content editors on board, who only access their own content, so we built the permission system for content editors using Organic Groups. Each editor is responsible for different statuses of the same content item, and can be assigned to several groups.

Configuration

Although Workbench configuration is not covered in this article in detail, it’s worth getting a general overview of the setup process. What you’ll need to do:

  • Install and enable module dependencies.
  • Set up user roles (content creator, editor, publisher, etc.).
  • Configure content types that go through the editorial process.
  • Configure permissions for the roles.
  • Set up states (e.g. draft, needs review, published) and the transitions between them.

Workflow Process

In Drupal 7 core, content types can have either a Published or an Unpublished flag to track their workflow states. With Workbench, you can extend this with other workflow states and set up which roles can see and transition content in which states.

You’ll get a good idea about how you can use the Workbench module by walking through a publishing workflow example:

  1. The process starts with content creation. Workbench can be configured to work with any content type, from blog posts, pages, events, news items to customized content. The content creator role has the permissions to create specific content types, so you might have a distinct group of news editors and site editors. They don’t necessarily have any other permissions than creating and editing their own content.
  2. The content creator sets the moderation state to one of the following:
    • Draft: Content is not ready to be submitted for review, the content creator might want to work on it more or would like to submit it later.
    • Needs Review: The content is ready to be reviewed.
  3. Items flagged as “Needs Review” show up in the review queue of the publisher. The publisher can edit the draft, add revision information (e.g. comments for the content creator about required changes), and set the state to “Draft”.
  4. The content creator reviews notes from the publisher, edits the content, adds notes for the publisher, and resubmits it for review.
  5. The publisher reviews the content and if it is ready for publishing, sets the state to Published.

Once the workflow process is set up, in-progress updates to published content are tracked the same way. So all edits to published content can be handled in the background and the publisher can decide when to replace the live content with the new revision.

The Workbench Suite

Workbench has been designed with a modular architecture, so you can select which components to install and enable for each use case. You’ll need the following modules to use all Workbench features, or you can install Workbench and add only the ones you need:

  • Workbench Access controls which role has access to which content.
  • Workbench Moderation provides a standard workflow with some default states (Draft, Needs Review, and Published). You can customize these states or add new ones based on your project’s requirements.
  • Workbench Media adds an integration with the Media module so that you can use Workbench moderation for media content as well.

I hope this article helped you get a general overview of the Workbench module, so that you can explore this flexible solution further if your next project requires you to build an editorial workflow in Drupal.

Image: Workbench by Paul Englefield is licensed under CC BY 2.0