A simple workflow
One of the great things in Drupal is the ability to set-up and manage workflows. You can even achieve a simple level of workflow without the special workflow module but only using views and cck. Without coding a single line.
Drupal + Views + CCK
Take for example this scenario: you have a client who wants to be able to edit the content on his Drupal site, but the client is really not an experienced CMS user, and is unable to 'make a webpage look good': putting the right links in the right place, headers, maybe a nice image here and there, etc. etc.
The client does know what he wants to tell, but simply lacks the skills to transform his message into webpages. In this case you might have an agreement with your client where you are responsible for quality-control and final editting. Of course, you want this process to run as smoothly as possible.
You could try this trick
Using CCK, Add 2 fields in the content-type for the nodes the client can edit:
- A textarea (labeled something like 'content remarks')
- A checkbox (labeled something like 'needs revision by my webdesign firm')
Then, using Views, you create a RSS view which shows only the nodes that have this checkbox checked.
This way, when your client edits a node, he can put his remarks (drafts, links, suggestions and so on) in the textarea, check the box, and not need to worry about it again.
You subscribe to the Views' rss feed and get automatic rss updates with links to pages that need revision and have everything neatly grouped together. You could also add a CCK filefield where the client can upload his raw camera images or other raw material which needs editting. This should save a lot of time.
You could also expand this functionality for nodes that need to be added, the possibilities are endless. But this simple example really shows how powerful a framework Drupal + Views + CCK is.
You could even run the RSS feed through feedburner and enable email-updates. But then again if you need more extensive email functionality in your workflows you should use the workflow module.
A short word about revisions (as one might think revisions might be used for this): the default in-core available 'revisions' and 'log message' are not suitable for this functionality. The log message field is only used when a new revision is made (checkbox under publishing options) and used as a description with every revision.
This way you can easely revert to a previous version, but a new revision is immediately.