wiki:PeerReviewPlugin/Workflows

Version 3 (modified by Cinc-th, 8 years ago) (diff)

Cosmetic change

Workflows

PeerreviewPlugin supports workflows for reviews. There is one for the author of a review and another one for reviewers. An administrator may change the workflow in trac.ini similar to ticket workflows.

Review Workflow

This workflow is set in section [peerreview-resource_workflow] of trac.ini. The default workflow after installation is the following.

[peerreview-resource_workflow]
approve = reviewed -> approved
approve.name = Approve the review
change_owner = * -> *
change_owner.default = -1
change_owner.name = Change Owner to
change_owner.operations = set_review_owner
change_owner.permissions = CODE_REVIEW_MGR
close = new, reviewed, in-review -> closed
close.name = Close review
disapprove = reviewed -> disapproved
disapprove.name = Deny this review
reopen = closed, reviewed, approved, disapproved -> new
reopen.permissions = CODE_REVIEW_MGR
review-done = in-review -> reviewed
review-done.name = Mark as reviewed
reviewing = new -> in-review
reviewing.default = 5
reviewing.name = Start review

When setting a review to a finishing state all associated files are set to the same state. This means if the owner sets the review to approved all files are also set to approved.

Workflow operation set_review_owner

You may configure a custom workflow operation set_review_owner for reviews.

[peerreview-resource_workflow]
change_owner = * -> *
change_owner.name = Change Owner to
change_owner.operations = set_review_owner
change_owner.permissions = CODE_REVIEW_MGR

This operation allows you to change the owner of a review. Possible users are taken from the same list as the one used when creating a review. In the given example you need the permission CODE_REVIEW_MGR to perform the operation.

Reviewer Workflow

Reviewers may mark their individual progess just to inform the review author. The workflow states are not used for any other purpose or to impose any restrictions. For example it is possible for a review author to close a review even when none of the reviewers ever changed his personal workflow state.

[peerreviewer-resource_workflow]
reopen = in-review, reviewed -> new
reopen.name = Reset review state to 'new'
review_done = in-review -> reviewed
review_done.name = Mark review as done.
reviewing = new -> in-review
reviewing.name = Start review