Could someone please outline the best approach towards creating a multi-step content approval workflow ?
Out of the box Umbraco seems to handle a basic two step workflow involving a content creator and a publisher. What I would like to define is up to 15 different multi-step workflow configurations that would be applied to specific content folders within the site.
A workflow configuration would define 0 to 3 content approval steps along with a user or role responsible for each step of the approval process. The reviewers content approval or denial along with content version and comments should be stored for future auditing.
Optionally the content approval workflow steps could have an option of being completed in parallel in addition to the default or being executed serially.
The buttons in the WYSIWYG for a content editor should ideally display a button "Send for Approval" instead of "Publish". A reviewer would either see "Send for Approval" if there was another approval step required or "Publish" if they have been assigned the "publisher" role. A user with the the publisher role could still obviously publish at any stage in the workflow, however the workflow audit trail should identify that this occurred.
The reviewers should also receive email notifications that they have content needing reviewing along with a dashboard to provide a shortlist of content to be reviewed when they log in.
Could the Umbraco user types feature be configured to allow multiple user types (aka roles) per user ?
Could the above workflow concept be created as an optional Umbraco package that hooks into and overrides the on publish event and displays the appropriate buttons and notifications in the WYSIWYG editor ? i.e. Keeping the default site with a simple workflow model while still allowing a more complex workflow configuration for a large site with 100s of authors and reviewers.
It might be worth noting that although the button does not say "Send for approval", if a user 'subscribes' to be notified of new content on a Node, they can get an email when a new node is created or edited.
There can be different types of users, so one can only 'save' a document and someone else can then approve it and publish it.
You might also want to look at Courier http://umbraco.org/products/umbraco-courier this product allows you to have one or more totally separate installs of the same site, so you can have an 'Editing' Website an 'Approval' Site and a 'live' site, you can then use this product to push content between versions and set up different users who only have permissions to move content between the sites, using this should give you something like what you need.
Hmmmmmmm, there was a video doing the rounds earlier in the year where one of the guys had got a very basic demo of getting more complex workflows working in Umbraco, can't find the link at the moment, but it should be findable via google. I'm not sure if anything ever came out of it, but the guy that did it would definately be able to help.
You could possibly write some extensions to Umbraco to do this, but looking at your requirements, it may be that it would be better to hack the core and add the changes there instead (although that will cause you issues with upgrading/patches). You could try contacting the core team via the contact form on the main site and see what they advise, they're usually quite helpful with stuff like that.
Here's some further information on the workflow requirement as submitted to HQ.
Workflow is essential in our University environment as it allows us to
scale out the authoring effort to all staff members while ensuring that one or
more experts in each site section have approved content for accuracy while our
marketing department have the final approval to allow for checks on readability
and content style. This allows for context sensitive collaboration back and
forth between authors, content experts and marketing and is viewed by all as an
instructive and useful process.
Another related concept that we use now is "review date" notification which
ensures that one or more people review all the content on the website for
accuracy every six months. The workflow concept could be used to place items of content, not flagged as archived in various "content approvers"
work lists with dash boards to monitor the progress of the review.
Could you please advise: 1 - Are there any future improvements planned
in the Umbraco core: - to facilitate a user maintained multi-step
workflow? - allow multiple role assignments per person, an extension
on the user type concept. 2 - Could you provide an brief outline of the
Umbraco style development approach we could take if we chose to develop a
package to fit this requirement?
There's no current plans on improving the build in workflow. It's only needed by a very small percentage of the Umbraco installations and Umbraco already provides the hooks to add the functionality via a 3rd party package.
Creating a multi-step content approval workflow
Could someone please outline the best approach towards creating a multi-step content approval workflow ?
Out of the box Umbraco seems to handle a basic two step workflow involving a content creator and a publisher. What I would like to define is up to 15 different multi-step workflow configurations that would be applied to specific content folders within the site.
A workflow configuration would define 0 to 3 content approval steps along with a user or role responsible for each step of the approval process. The reviewers content approval or denial along with content version and comments should be stored for future auditing.
Optionally the content approval workflow steps could have an option of being completed in parallel in addition to the default or being executed serially.
The buttons in the WYSIWYG for a content editor should ideally display a button "Send for Approval" instead of "Publish". A reviewer would either see "Send for Approval" if there was another approval step required or "Publish" if they have been assigned the "publisher" role. A user with the the publisher role could still obviously publish at any stage in the workflow, however the workflow audit trail should identify that this occurred.
The reviewers should also receive email notifications that they have content needing reviewing along with a dashboard to provide a shortlist of content to be reviewed when they log in.
Could the Umbraco user types feature be configured to allow multiple user types (aka roles) per user ?
Could the above workflow concept be created as an optional Umbraco package that hooks into and overrides the on publish event and displays the appropriate buttons and notifications in the WYSIWYG editor ?
i.e. Keeping the default site with a simple workflow model while still allowing a more complex workflow configuration for a large site with 100s of authors and reviewers.
I would appreciate your thoughts on this, thanks.
Dion,
You will need to take a look at http://www.darren-ferguson.com/2010/7/16/workflow-foundation-in-umbraco---preview.aspx and contact Darren as he has prototyped something that extends Umbraco workflow functionality. Out of the box you have the simple 2 step workflow only.
Regards
Isamil
Dion,
It might be worth noting that although the button does not say "Send for approval", if a user 'subscribes' to be notified of new content on a Node, they can get an email when a new node is created or edited.
There can be different types of users, so one can only 'save' a document and someone else can then approve it and publish it.
You might also want to look at Courier http://umbraco.org/products/umbraco-courier this product allows you to have one or more totally separate installs of the same site, so you can have an 'Editing' Website an 'Approval' Site and a 'live' site, you can then use this product to push content between versions and set up different users who only have permissions to move content between the sites, using this should give you something like what you need.
Regards
Rich
Hmmmmmmm, there was a video doing the rounds earlier in the year where one of the guys had got a very basic demo of getting more complex workflows working in Umbraco, can't find the link at the moment, but it should be findable via google. I'm not sure if anything ever came out of it, but the guy that did it would definately be able to help.
You could possibly write some extensions to Umbraco to do this, but looking at your requirements, it may be that it would be better to hack the core and add the changes there instead (although that will cause you issues with upgrading/patches). You could try contacting the core team via the contact form on the main site and see what they advise, they're usually quite helpful with stuff like that.
Thanks all. I have submitted my questions to Umbraco HQ via http://umbraco.org/contact
Here's some further information on the workflow requirement as submitted to HQ.
Workflow is essential in our University environment as it allows us to scale out the authoring effort to all staff members while ensuring that one or more experts in each site section have approved content for accuracy while our marketing department have the final approval to allow for checks on readability and content style. This allows for context sensitive collaboration back and forth between authors, content experts and marketing and is viewed by all as an instructive and useful process.
1 - Are there any future improvements planned in the Umbraco core:
- to facilitate a user maintained multi-step workflow?
- allow multiple role assignments per person, an extension on the user type concept.
2 - Could you provide an brief outline of the Umbraco style development approach we could take if we chose to develop a package to fit this requirement?
There's no current plans on improving the build in workflow. It's only needed by a very small percentage of the Umbraco installations and Umbraco already provides the hooks to add the functionality via a 3rd party package.
is working on a reply...