Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Config. Author Submit wf - concurrent reviewers
B80116
We are using the Configurable Author Submit solutions workflow that was provided with TeamSite 5.2.2. Currently, we have it configured so that "review_type=areaowner"; when the author performs a submit, the reviewer is the workarea owner.
We would like to modify the workflow so that instead of one reviewer (the workarea owner), several reviewers receive the review task concurrently, with submission contingent upon approval by any one of the reviewers.
According to the comments contained within the the configurable_author_submit.wft file, the Configurable Author Submit workflow can be configured as a "set of concurrent review tasks . . . The submission is contingent upon approval by all of the reviewers. As soon as any reviewer rejects the content, it is immediately routed back to the author."
That isn't quite what we are looking for. As I described above, we want submission contingent upon approval by any ONE of the reviewers, not all of the reviewers. (The way rejections are handled does not need to change; as soon as any reviewer rejects the content, we want the task immediately routed back to the author.)
Can anyone suggest a minor tweak to the code in configurable_author_submit.wft that would allow the Configurable Author Submit solutions workflow to meet our requirements? (It seems that the concurrent approval process is set up to do an "AND" of all the reviewer approvals, and we want it to do an "OR". Maybe there is just an AND we can switch to an OR somewhere?)
Find more posts tagged with
Comments
Migrateduser
I think all you need to do is this:
In each of your review tasks you'll have 2 successors, one for when they approve and one for when they reject. The successor task that gets kicked off upon approval should have it's
activation
tag OR all the review tasks instead of AND and that will ensure that the first person who approves is all you need. At the same time, you need your "author work" task to also have an
activation
tag where those same review tasks are ORed together. This will ensure that if the first person to review rejects, it rolls back to the "author work" task. You may want to add a notification as well - it's up to you.
The key to all this is that when the first reviewer acts on his/her review task, you need to inactivate the review task from all the other reviewers, otherwise they will potentially attempt to approve or reject after the fact. To accomplish this, in both your "author work" and the task that is activated upon approval you need to add an
inactivate
tag after your
activation
tag. Inside the
inactivate
tag you simply need to list all the names of the review tasks that could possible activate those tasks. Look at the DTD to get the syntax. What this does is set the other review tasks to inactive so they should no longer appear in the other reviewers' ToDo lists after someone else has performed a review.
Dave Smith
Sr. Software Engineer
Nike, Inc.
(503) 671-4238
DavidH.Smith@nike.com
Adam Stoller
In addition to what Smitty mentioned, I think you'll also want a
reset
in both the task that preceed and succeed the concurrent review process. The purpose of this is to make sure that any idividual's approval or rejection 'state' is removed after it has been acted upon so that if the workflow loops back (due to a subsequent review perhaps) that the review tasks will have a fresh state.
--fish
(Interwoven Senior Technical Consultant)
B80116
We figured out how to do this, and a fellow DevNet-er has contacted me asking if I could share our solution, so here it is.
In the configurable_author_submit.cfg file, set review_type as follows:
review_type=concurrent[user:your_domain\userid01,user:your_domain\userid02,user:your_domain\userid03]
In the configurable_author_submit.wft file, locate the section of the file which surrounds this line of code:
$tasks{approve_review}{conjunction} = TRUE;
and then make this modification:
# ***** BEGIN CUSTOMIZATION **************************************************
#
#
# Changed AND to OR and TRUE to FALSE to allow one of several concurrent reviewers
# to approve or reject an author's work.
#
# Old Code:
#
# if ($review_type eq "concurrent") {
# # The final approval should be an AND of all review tasks approvals.
# $tasks{approve_review}{conjunction} = TRUE;
#
# New Code:
#
if ($review_type eq "concurrent") {
# The final approval should be an OR of all review tasks approvals.
$tasks{approve_review}{conjunction} = FALSE;
#
# ***** END CUSTOMIZATION **************************************************