Move Over, Drupal Workflow … Workbench Moderation Does it Better

8
Oct 2012

Move Over, Drupal Workflow … Workbench Moderation Does it Better

comment icon7 comment(s) |

It’s pretty common for a client to require an internal approval process for updates and new content creation on their website.  Often times, the person that’s changing/updating content is an administrative assistant, but for quality assurance reasons a manager or supervisor needs to give the final approval before the update is published.

The Obvious Choice: Drupal Workflow

This approval process is commonly referred to as ‘workflow’, so my first instinct is to search contributed modules for ‘Drupal Workflow’.  And you get exactly what you’re looking for.  A module that assists you in configuring rules, revisions, and workflow states to accommodate one or more levels of approval to manage content updates.  Being the top search result, I trusted this module blindly and dove into the configuration feeling pretty good about how it worked.  And don’t misinterpret the tone of this post.  Drupal Workflow isn’t bad, but I found some redundancy that really bugged me after I walked away from a finished site.

It really boils down to a single step in the setup process that I felt was unnecessary: you configure workflow ‘states’ that apply to your content types.  Once you apply a workflow to your content type(s), an extra field is added to the administration interface that allows you to select one of the states that you setup when you defined the workflow.  This field can either be set manually or programmatically depending on the permissions that you’ve assigned to users.  This field might have options like ‘draft’, ‘needs review’, or ‘published’.  It’s that last option that bugs me.  We already have a ‘published’ field, don’t we?  Why do we need another field?  Can’t we just insert additional values into the ‘published/unpublished’ flag that Drupal natively provides?

Drupal Workflow creates a redundant set of fields that aren't necessary.

Fast forward several projects: I’m once again faced with a client that requires workflow/approval on their site.  I remembered that when I implemented the Drupal Workflow module, I had to setup several rules that were doing double duty of changing the workflow state AND the published/unpublished flag.  Again I thought to myself that it would be ideal if there was a module that just hooked into the published/unpublished flag and added additional values.

If at first ... Try again: Workbench Moderation

Using the Drupal Workflow project page as a starting point for my search, I looked through the related projects until I found Workbench Moderation, which is a small piece of the Workbench suite of tools for Drupal.  It appears that I wasn’t the first to consider the published/unpublished flag as a good place to implement workflow, because that’s exactly what Workbench Moderation does.

Certainly revisions and rules are still required for a full implementation.  There’s no interface in either Drupal Workflow or Workbench Moderation for configuring email notifications.  It’s recommended to use Rules for that and I wouldn’t suggest anything else.  Rules rocks!  The rest of the configuration of Workbench Moderation is similar to Drupal Workflow.

But now rather than having two separate interfaces for the workflow process when I’m editing a node, it’s all handled through an adjusted interface for the published/unpublished flag.  It’s such a simple variation in design, yet it makes all the difference in simplifying the process of moving from one workflow state to the next.

Workbench Moderation combines the workflow state with the existing publish/unpublish flag that Drupal generates.

My recommendation: skip over the Drupal Workflow module in favor of Workbench Moderation.  And while you’re at it, investigate some of the other tools that the Workbench suite offers.  There are additional modules for handling workflow for your media, and adjusting user access permissions based on ‘sections’ of your site.

Comments

October 9, 2012

Agnar Ødegård

We're also in the "business

We're also in the "business of workflow" and I wonder how you would solve this use case:

Let's say you have 5 states from draft to published with 5 different people. Only the first person should be able to edit anything. The next 4 should onlly be able to change the workflow; sending it to "draft" if they want #1 to make any changes.

My experience is that workflow alone isn't sufficient, it's the combination of user roles and workflow that is needed to solve more complex workflows. (Who can edit what in which state etc.)

Thanks for the read!

October 9, 2012

David G (d.o/user/1059226)

Workbench Moderation does all that

Workebench can do exactly what you say with a little configuration in the UI you can setup . See: http://drupal.org/documentation/modules/workbench_moderation

October 9, 2012

Cameron Eagans (cweagans)

With the workflow module, you

With the workflow module, you wouldn't see the publishing options if you didn't have the appropriate permission.

I do agree with you, though: Workbench is a fantastic solution (and it's much easier for clients to understand, in my experience).

October 9, 2012

2pha

An alternative may be a

An alternative may be a module called revisioning that I stumbled across a couple of days ago.
http://drupal.org/project/revisioning

October 10, 2012

mmueggenborg

One of the options that I

One of the options that I explored before I found Workbench Moderation was the possibility of using revisioning and rules to change publishing options. I ran into the same problem though where I was going to need to add an arbitrary field to store the 'workflow state'. But in any workflow setup revisioning will be at the center of the solution. It gives you the ability to save one copy of a node while keeping another copy published for anonymous users.

"Curiosity killed the cat, but for a while I was a suspect." -- Steven Wright

February 20, 2013

Rakesh

Hi, I have created a

Hi,
I have created a workflow,
creation to review,
review to approved or disapproved successfully using workflow,
but i want to add a workflow where if author edits the approved content, it should go back to review state and gets unpublished.
Is it possible through workflow or workbench can be a better option.

March 4, 2013

mmueggenborg

Rakesh, Workbench Moderation

Rakesh, Workbench Moderation will submit the author's new draft in an unpublished state, but the version that was published and approved will remain published until replaced by the new draft. But, you could always configure a Rule to unpublish the older version as well.

"Curiosity killed the cat, but for a while I was a suspect." -- Steven Wright

Search