Folks who are new to Code Collaborator occasionally ask: "How can we force a review to be marked as Completed?"
To understand the answer, it helps to know that for a review to be Complete, there are two preconditions.
First, all defects must be resolved (more on defect resolution in a moment).
Second, all reviewers must have clicked the Finished button.
For a defect to be considered "resolved," it must be either:
- Marked as "Fixed"
- Marked as "Tracked Externally"
As defects get created the review participants discuss them and agree on some form of resolution. After all the defects are resolved to the satisfaction of the reviewers they all eventually click "Finished" and the review is Complete.
This all works swimmingly, especially when all review participants are paying attention to the review. In the real world, of course, not everyone can always devote the necessary time. People go on vacation, they get sick, they have other projects, etc.
The end result can be a stalled review - an action by a specific review participant is required before the review can be marked as Completed by Code Collaborator. The action could be marking a defect as fixed or could just be clicking the "Finished" button.
If the necessary action is to mark a defect as fixed, then there are a couple of options for resolving the impasse. A Code Collaborator administrator always has the necessary privileges to resolve any defect.
Another option is to have another review participant resolve the defect. Whether a review participant can resolve a particular defect or not depends on the role that they are assigned in that review. For example, by default participants with the role of Author cannot delete defects that were created by other review participants. Note that is the default setting - you can change the role definitions to suit your environment.
If the necessary action for moving the review to Completed is for a participant to click the "Finished" button then that participant has a role that has the "Marks reviews finished" flag set to Yes. For example, with the default settings the Reviewer role has that flag set to Yes and the Observer role has it set to No.
So an easy solution when a Reviewer goes on vacation without clicking the "Finished" button is to simply edit the review and change the role for that participant to Observer.