Introduction
The core Workflows module provides a generic workflow engine on top which you can define different workflows, each with their own workflow states and workflow transitions. Drupal has as a very basic content publication mechanism by default: content can have one of two states:
- Published
- Unpublished
This is perfectly fine for basic sites, but as sites grow larger and are maintained by teams of content editors, the need for something more powerful quickly arises: editorial workflows.
The most often-used workflow type - the only one that is part of Drupal core - is the Editorial workflow, which you can use to move a piece of content from one workflow state to the next.
Workflow States
Editorial workflows replace the standard published / unpublished status with a configurable list of workflow states. Instead of Published / Unpublished, you could set up a workflow that gives you the following states to use:
- Draft
- Published
- Archived
If you're working in a team that has a tightly controlled publication workflow, you could add states such as:
-
Needs review
-
Ready for publication
-
Which workflow states you want to use is up to you. Drupal doesn't impose anything - it just offers a workflow mechanism that you can configure so it matches how your editorial team wants to work day to day.
Workflow Transitions
Moving a piece of content from one workflow to another is called a workflow transition.
When you configure your editorial workflow you can have two options when it comes to transitions:
- You allow content to transition from any state to any other state
- You impose a specific order of transition.
Example:
you could set up an editorial workflow for Articles so the they can NOT transition from 'draft' to 'published', but need to transition to 'needs review' first.
Enforcing Workflow Transitions
Which model you choose is up to you, and depends on how tightly you need to control the publication process.
Just remember: if you create many workflow states, impose strict transitions before content is published, and you're the only editor, you'll be forcing yourself to update your node several times before it's published.
Do you really want to have to go through the following process every time you create a new piece of content?
- Draft → needs review
- Needs review → ready for translation
- Ready for translation → ready for publication
- Ready for publication → published
If you're the only editor, keeping strict control of these consecutive workflow transitions is most likely overkill and would cost you a lot of time and effort.
If you're the only editor, it probably makes much more sense to allow yourself to transition from any state to any other state, allowing yourself to move content from draft to published in one go.
Summary
- Workflows consist of states and transitions.
- You can create as many workflow states as your publication process needs.
- You can optionally impose strict transitions between states.
- Editorial workflows replace the standard published / unpublished statuses.