I'd say the only difference is in whose hands it is. A "draft" is a revision that is private to the author, until they hand it over to a moderator at which point it becomes a "pending revision".
How does an author handball a "draft" to the moderator? With only the Revisioning module installed, the moment the author Saves the content (thus creating a revision), the moderator can see it under the Pending tab.
Note that both author and moderator can edit that revision -- this may be desirable, although I would think in most cases it is not.
Enter the Workflow module. With it we can set up distinct workflow states for content to transition between. Thus an author can repeatedly save their draft until they feel it is ready for moderation at which point they click a radio button that puts the "draft" in the "review" state. It isn't until then that the moderator can edit (or even view, depending on permissions granted) the draft. At the same time, the author can no longer edit their draft (which has now become a pending revision), whilst being with the moderator. Permissions may be assigned differently to be more like the simpler approach (without Workflow), but the key point is that Workflow gives you that clear separation of "draft" and "pending revision" concepts.
Comments
Comment #1
Anonymous (not verified) commentedHi Rik
I would agree with
"...I'd say the only difference is in whose hands it is. A "draft" is a revision that is private to the author, until they hand it over to a moderator at which point it becomes a "pending revision"...."
Basically work in progress
Your summary is quite interesting. Maybe we need 2 tabs, Draft and Pending If Workflow is installed you get a Draft tab and a pending tab, if not you just get a pending tab, with a warning that content visible may be moderated, even if incomplete.
This then brings up the issue that Pending can mean two different things depending on Workflow, so on the Pending Tab, when workflow is installed it may need a message , which possibly could be built from the settings in Workflow? So you get something like, this is your content which is awaiting moderation, you may not edit it
I still hate this though, as when you realise you made a mistake and cant fix it, the moderator innocently publishes it, its almost as though you need a veto or means to take it back, but when resubmitted it joins the queue at the bottom, with a log message as to why. Even better when a log message has content it should be at the top of the page :) Maybe there is a way to append to the log a timestamped message on pending nodes that you cant edit to inform the moderator. OK must stop as I am drifting
I guess part of the problem I see is I come from an environment where "Change requests" can be processed, the document submitted can have attached change requests indicating subsequent requirements, all which are visible. But now were moving into proper change control and a bigger nightmare
Comment #2
rdeboerI do like they idea of incorporating "drafts", distinct from "pending revisions", as described in the introduction, but it's not straightforward without Workflow. I do have a couple of ideas to do this without introducing the complexity (from both a code and usability point of view) that comes with Workflow.
When creating or editing a piece of content the user would have at the bottom of their screen not a single "Save" button but a pair of buttons: "Save as Draft" (for content that is still a work in progress and not ready for publication yet) and "Save and Submit for Moderation", creating a "pending revision".
In terms of the implementation, in both cases a new "revision" (in the drupal sense) would be created. But we'd have to build some access control around that, so that in the case of "Save as Draft" only the creator of the draft/revision can edit (and view?) it, whereas in the case of "Save and Submit for Moderation", the moderator would be able to edit (and publish) it.
Whether the creator of the draft should still be able to view and/or edit the "pending revision" while being reviewed by a moderator is a moot point, as you have pointed out before.
Comment #3
Anonymous (not verified) commentedHi Rik
Ideally Draft would only appear when workflow provides a Draft
However if we were to impliment our own Draft system, could we use the same method of identification as Workflow, so that if at a later time a user adds Workflow the variable is already set or something along that lines ?
The two buttons options sounds good, fairly obvious what they do though is we permit all content types to have drafts, not all will necessarily require moderation though.
Would it be necessary to allow Save as Draft on a type by type basis or globally? If its globally its one checkbox in admin permissions. If its per content type, its one per content type
If a node is in Draft for x days/weeks/months do we send an email warning of some sort?
Comment #4
rdeboerIdeally Draft would only appear when Workflow provides a Drafta
Maybe, but that's hard as users can name their workflow states whatever they like, so there isn't a pre-defined "draft" state. Also, I was hoping to come up with an implementation that doesn't use the Workflow module, as some people find it hard to use, too elaborate, when all we want is to implement a "Save as Draft" feature integrated with Revisioning.
Agree with your comments on content types and checkboxes.
If a node is in draft for x days do we send an email warning...?
That would be nice. This is where I'm hoping the Rules module (with its Rules Scheduler) may help us....
Comment #5
Anonymous (not verified) commented"...Maybe, but that's hard as users can name their workflow states whatever they like,..."
I can understand naming the workflow, but does it use an underlying configuration we can steal :) ie state of "To Do" some tick box in admin states it a draft.
I must admit i like simplicity, so if we are thinking of providing our own implimentation as an alternative, then it all becomes as easy or complex as we want, and what workflow does is mute :)
If we do add in drafts would we be stepping in the toes of Workflow, in the sense the two would no longer be able to run side by side? Would we need an administration switch that says if you install workflow you cant run Revisionings Drafts, it could be automatic, detecting Workflow it places a warning Revisioning Drafts disabled
Another option for notification would be "other" blocks that appear only after a defined time period, maybe then the user would have to "edit" the draft to reset the last save time for the nodes, which the block uses for identifying those it should warn about. Alternatively a tick box for each node listed, and a select all, which allows an update on the save date without physically open and closing
Comment #6
rdeboerWon't fix in 6.x.
Comment #7
dafederIs a draft state somehow possible in 7.x?
Comment #8
rdeboerYou can fake it via the user permissions.
Comment #9
lennart commentedHow?
:)