have been doing workflow applications going on a decade now using Domino Notes. It is very sophisticated and secure but administratively very heavy. I was intrigued with Drupal’s Workflow module. I am using Drupal 6.9 and Workflow version 6.x-1.1. Though the module is at first confusing, it seems to work quite well.
___Workflow allows you to define a process or series of steps necessary to get to your final destination. Each step requires some action and approval before moving to the next step. For a simple example, in order to eat an apple the workflow steps required could include: purchase, wash, eat. Each of these steps needs to be defined, and each step requires someone to do the step and to approve it.
Workflow Module: First Glance
There is little documentation on the Workflow module. Interestingly DrupalModules rated Workflow’s documentation a 4/5, but do not list any. This 2006 video of Drupal Actions and Workflow uses Drupal 4.6, but still gives you the gist of how the workflow is configured. It’s worth taking a look.
___Installation is simple and standard. Download the module from “>Drupal.org and extract to your sites/all/modules directory. Enable both the Workflow and Workflow_access modules from your administration panel. There are no necessary prerequisite modules. You’ll need to set permissions for the workflow module as well as configure your workflow.
___The Workflow module allows you to do workflow on a specific document type. For example, I wanted to add a workflow process to a story document. My story document can be submitted by an authenticated user, then someone with editor access can approve it. Until approval, the document should not be available to others for viewing. It’s as simple a workflow as possible.
My workflow should be as follows:
1. An authenticated user adds a story document, which starts the workflow. It is not visible to the public. From its origin the document moves to a workflow state I call “story approve”.
2. Someone else with a role of editor can then approve the document, changing its state to “submit”. The document is now available to the public.
Define Drupal Roles and Permissions
You need to configure different roles for your workflow and define them in Drupal. These can be different from editor and administrator.
___All roles need proper permissions for the workflow module. From the Permissions screen, allow all authenticated users to “access workflow summary views”, and allow editors and administrators to “administer workflow” and “schedule workflow transitions”. Do not allow authenticated users to administer workflow.
Defining Workflow Steps
From the Administer tab, go to Site Building and then to Workflow. To create a new type of workflow, click “Add workflow”. Here you can select which document types will apply to your new workflow.
___You can also define your workflow steps here as well. Add a workflow step by clicking “Add state”. The workflow module allows you to create as many workflow steps (or states) as you need. Workflow steps can be edited and weighted from 10 to -10, the heavier the number, the later the workflow step. This allows you to put workflow steps in the proper order. I put my last step, “submit” as 10, because after this step the document is published and is public. The workflow step “story approve” was weighted at 0, and therefore a step above or prior to workflow step “submit”.
___Once you have created your new workflow, added which document types use this workflow, and added all your workflow steps, click the “Save workflow mapping” button to save your work. The next step is to “edit” your workflow.
Defining Roles to move from Workflow Step to Step
For each workflow step you add, you need to define which roles can move your document from one step to the next. In my case I allowed the author to move the document from “creation” to the “Story approve” workflow step, but only an editor role can move the document to the “submit” step, where it is published. The editor can also move the document from “submit” back to “Story approve” if necessary. Without clear rules about workflow steps and approvers, workflow can get pretty complicated.
___The original document submitter must have the authority to move his document to at least the first workflow step. This is a set rule of the module and it makes sense. Without this rule the document cannot start the workflow process. Not allowing the author to move the document from “creation” to the first workflow step will cause an error.
___The “Workflow tab permissions” section determines who can see a summary of documents undergoing the workflow process. A “Workflow Summary” item will be added to the navigation menu, near the administration section. This item will allow users to see their documents and state of workflow of specific documents, though they may not have permission to approve documents in the workflow process. The “Permissions Summary” section restates your workflow process in another way and it is not editable. This is here for further clarity of the workflow process.
Defining Who can see the Document during the Workflow
For each workflow step you add, the Workflow module allows you to configure who can view, edit or delete the document. This is where you can hide the document from the public. Of course after approval of the last workflow step, which by default is called “submit”, you should allow users to see the document. This is the final step of the workflow process.
The Workflow module is compact and very usable. I would have appreciated having better documentation, but did figure everything out in the end. There is more to the Workflow module than I know, so more learning is required, but this documentation should get you on your way to workflowing.
May the Flow be with you.