Easy Publishing Workflow with Draft and Revisions in Drupal 5

I want 3 content states with revisions for any change in state:

  • Published
  • Draft (while leaving the currently published version live)
  • Un-Published

After trying numerous times, over several months, to get Workflow or WorkflowNG to co-operate with me and create a workflow whereby I could acheive the above, and ending up with extraneous revisions and sketchy reliability between content states I was able to disable a bunch of modules and do it all with only 2 modules.

Save As Draft - http://drupal.org/project/save_as_draft

This module is very similar to Revision Moderation, and uses much of the code therein. The major difference is that instead of a moderater releasing the 'future' revision, any user with appropriate permissions can do this.

This effectively allows the user to save their work as a 'draft' until they are sure that they want to commit/publish the changes and make them live. The term 'draft' is merely a unique revision, a future revision of a node.

I changed the text description on the node edit page to something I thought was more logical:
save_as_draft.patch for 5.x-1.x-dev of 2008-May-21

Override Node Publishing Options - http://drupal.org/project/override_node_options

A small module that allows users to override the default publishing options for any new nodes they create and any nodes they can edit without giving them the 'administer nodes' permission.

Though for my use case I needed to make a few small changes to only enable the relevant few Publishing Options:
override_node_options.patch for 5.x-1.x-dev of 2007-Jun-19

TODO: Prefs to grant rights to each Publishing Option

Node Access (how can I edit unpublished content) - http://drupal.org/node/218797

I needed a way for content editors to have access to edit unpublished nodes, I rolled the patches at the link shown to allow it, while still restricting viewing of the node to anonymous users.

TODO: restrict so only editors with access can view the node.

Views Field for Published Status - http://drupal.org/node/245482

Once I'd implemented the above I reliased I'd lost the ability to see the published status of a node in the view I was displaying to content editors, this patch adds a field to type "Node: Published" that displays "1" for published content and a "0" for unpublished.

TODO: Change display to Yes / No / and possibly Draft

    Post new comment

    The content of this field is kept private and will not be shown publicly.
    • Web page addresses and e-mail addresses turn into links automatically.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
    • Lines and paragraphs break automatically.

    More information about formatting options