I have a small website which, from a modules perspective, I want to keep as simple as possible.

Apart from displaying content, a main purpose of the site is to facilitate collaborative authoring and publishing of: articles, product updates and case studies.

To achieve this I would like individual contributors to be able to create & edit content prior to public release (just to be clear, I'm not looking for concurrent editing here).

This seemingly simple requirement leaves me stumped because unpublished content seems unavailable for further editing by the original creator, let alone co-collaborators.

Similarly, some items of content will need periodic updating. To achieve this I expect they will need to be reviewed, updated & debated offline, but in a way that leaves the current version public. The update process needs to allow multiple authors to edit in private prior to republishing / making the updated content public.

I'm at a loss as to how this is most easily achieved - would appreciate any advise that leads to a simple solution.

  • I think I need to take a closer look at 'views'...
    – user71913
    Feb 26 '17 at 9:29
  • Hi everyone - thank you for your help. I managed to get the furthest by following the proposed answer from @mpdonadio but confess Drupal ended up getting the better of me and I have moved my site over to WordPress.... At this stage I'm left with the overall impression that Drupal is amazingly powerful but too much power in my hands ;-) Thanks for your help
    – user71913
    Mar 5 '17 at 22:44

The near defacto-standard for this in Drupal 7 is the Workbench Moderation module, which is part of the broader Workbench suite. From the module page:

Workbench Moderation adds arbitrary moderation states to Drupal core's "unpublished" and "published" node states, and affects the behavior of node revisions when nodes are published. Moderation states are tracked per-revision; rather than moderating nodes, Workbench Moderation moderates revisions.

and about Workbench in general:

Workbench is a suite of modules which provide easier content management for content administrators. Each of the "Workbench" modules has been tested to work with the main Workbench module, and with the other modules in the Workbench suite. The Workbench suite is modular, allowing site builders to build the workflow that best suits the content administrators on their site. The Workbench suite 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.

This is highly tailorable to your particular organization, and all organizations differ. You didn't list out a lot of additional requirements, but typically you would create roles (Author, Editor, Publisher, Admin), and then define which role can do what (eg, Authors can only edit their own content, Editors can edit all, but only Publishers can make nodes public). Additional controls can be implemented with Workbench Access.

I have deployed solutions based on this for many organizations, mostly with success. I also like this solution, compared to others, as this module suite is "site-builder friendly". This means, that I can get the basics going for a site, and then have non-developers on the team work with clients to tailor it for their needs.

When it doesn't work well, it is usually because the organization doesn't really want content workflows as opposed to needing them.

This solution is also providing the base for the Content Moderation initiative for Drupal 8.

That said, depending on your situtation Groups / Organic Groups may be a better fit (as described in another answer). I would take both solutions for a test drive to see what works best for you.

  • What do you mean with Groups (in your last paragraph)? Maybe the Group module ? Feb 26 '17 at 18:42
  • @mpdonadio thank you I will take a look at Workbench and post back.
    – user71913
    Feb 26 '17 at 22:00
  • WorkBench Moderation looks good. I have installed locally and seems to been what I need. I still have a difficulty whereby regular users are unable to return to their own (or other) unpublished content. Not sure how to add the menu link. Will keep looking but have to stop for a while. Thanks
    – user71913
    Feb 27 '17 at 23:54
  • OK... I managed to get workbench moderation working on a test site, and it seems to do exactly what I want. I used Views to expose parts of the interface to authorized roles. When I attempted replicate on my production website it failed, probably because there are too many other modules? I think I need to restart my production website from scratch :-(
    – user71913
    Feb 28 '17 at 21:50

A commonly suggested solution for this often starts with using the Workbench Moderation module. However, IMO only using that module is often not sufficient to address things such as "collaboration" (as in your question). Read on for some other options that are available using existing modules which integrate pretty well with each other.

Option 1

Have a look at my answer to "How to implement a multi step approval with webforms/entityforms based on form components?". It explains how you can implement a workflow that is pretty (though not exactly) similar to what you are looking for.

To do so, it "only" requires you to use these modules (and regular content types):

Option 2

Another alternative you may want to consider (or combine with the previous approach) is to start using the Group module, which allows for creating arbitrary collections of your content and users on your site, and grant access control permissions on those collections.

Group is available as of D7, and has a D8 version also. It is designed to be an alternative to Organic Groups. The Group module creates groups as entities, making them fully fieldable, extensible and exportable.

For more details about the various types of roles used by the Group module, refer to my answer to "What are the various roles supported by the Group module?".


  • Thank you - I will have a look and report back. Unfortunately I have to step out for a while. Re Groups - I have installed the Group module on a clean test site already so hope to make some sense of that soon.
    – user71913
    Feb 26 '17 at 9:36
  • @SlowLearner good for you you already have the Group module ... you may also want to review the questions using the group-tag. Feb 26 '17 at 9:46
  • @SlowLearner : I wonder why you added the "group" tag to your question now ... there is (still) nothing in your question that indicates your question is related to that module. IMO you should remove that tag again. Feb 26 '17 at 9:57
  • My apologies, I thought I was following your suggestion
    – user71913
    Feb 26 '17 at 10:05
  • 2
    Throwing together a bunch of overly-bloated modules that were never meant to be integrated, to solve a problem that has already been solved perfectly by a purpose-written module, is a very poor suggestion. As usual I don't even see an answer here, just links to your own, never anyone else's, answers on other tangentially related questions, and some mindless filler to avoid the quality filters. Very, very poor.
    – Clive
    Feb 26 '17 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy