Introducing Workbench: A New Approach to Managing Content Management

by George DeMet

One of the highlights of last week's DrupalCon for us here at Palantir was the opportunity to publicly debut a very special project that we've been working on over the last year. Workbench is an integrated suite of modules built exclusively for Drupal 7 that not only simplifies and streamlines the process of managing content, but also provides new ways to configure editorial access and workflow.

In many of the projects that we work on, we find that clients often have a specific set of expectations around what it means to have a content management system for their website, and that all too often Drupal doesn't meet those expectations "out of the box". The Workbench suite is our way of adding that missing functionality to Drupal so that it works a little more like what what folks who are used to other platforms might expect.

Workbench is designed for organizations that have many different content managers, many of whom may not necessarily be familiar with how Drupal works. For those users, Workbench bypasses the bulk of Drupal's administrative menus and options, enabling them to focus only on their content. Administrators can control who has access to edit content based on the structure of the organization, not the structure of the website.

For organizations whose content goes through an editorial workflow, Workbench can be configured to provide either default workflow states (like Draft, Needs Review, and Published), or custom states as needed. Workbench integrates with Drupal's Media module, meaning that workflow states can applied to media files as well as regular content nodes.

The big idea is that Workbench provides authors, editors, and publishers with a unified interface for managing content relevant to them. It allows people to focus on content, rather than on learning Drupal.

For developers and site builders, Workbench has been designed with a modular architecture, so that you only need to install and enable the modules you need for your particular use case. It's also been designed for extensibility and integration with other Drupal modules, and we've made it as easy as possible for others to join us in adding new functionality to the suite.

You can find out more about Workbench in Steve Persch's demonstration below, or download the code yourself by going to the official Workbench project page on Drupal.org. For those who attended the Workbench session presented by Robin Barre, Colleen Carroll, and Ken Rickard at least week's DrupalCon Chicago, video of that session will also be available soon on the DrupalCon website session page.

Comments

I attended the Workbench demo at DrupalCon, and seriously, this is going to save me an incredible amount of time and effort. Thanks for releasing this awesome work to the community.

I'm particularly interested in this feature: "Hierarchical permission inheritance by “Sections” not just content types". I would like to know if it can definitively help to reach a SIMPLE configuration like the one described here: http://drupal.org/node/711246.

Well, best results I've reached is using OG + OGUR + WORKFLOW, but actually I have serious problem due to OGUR lack integration with Views (see: http://drupal.org/node/737292 ) and also with RULES and other modules that cannot fire OGUR "run-time" roles (this is a strong simplification) in some circumstances or in some "sitewide" pages, where OG context would be retrieved from acting user group membership and not based on a "non-existent" OG context for that pages.

( see also http://drupal.org/node/836440 )

Thank you

It certainly should. Workbench Access permissions cascade down the hierarchy tree, so you don't need to assign a user to multiple sections to give them full control over content in a single vocabulary.

These editing permissions apply across content and extend to content moderation as well. You can also assign individual users or entire roles to a section through a simple interface.

The only missing piece might be full Rules integration, which should normally work without any new code, but we have not tested it yet.