Change Package Review Workflow
A change package under review progresses through states in a workflow.
The following table provides details on change package states. Where specified, some are only used in the review workflow:
Change Package State
|
Details
|
Open
|
Only state where work can be performed using a change package (new entries created).
|
Submitted
|
State the change package is in while it is being reviewed. All operations are pending.
|
Accepted
|
Intermediate state denoting that the change package is accepted by all of the reviewers. Integrity Lifecycle Manager automates the state change from Accepted to Closed if the changes are successfully committed to the repository.
|
CommitFailed
|
State signifying that the pending changes could not be committed to the repository.
|
Rejected
|
State denoting that the change package is rejected by a reviewer. Creator must manually move the change package to Open to continue development.
|
Discarded
|
Empty change packages or change packages with changes that do not need to be committed to the repository are moved by the creator to the Discarded state. Discarded change packages can be opened at a later date if needed.
|
Closed
|
End state for the change package when pending changes are successfully committed to the repository.
|
The following is the change package progression through the workflow:
1. A change package is created and in the Open state. The developer adds entries to the change package.
2. The developer submits the change package to begin the change package review process, and Integrity Lifecycle Manager moves the change package to the Submitted state. An e-mail automatically notifies the reviewers of the change package submission (if the server is configured to send e-mail notifications). The e-mail contains both change package and review information.
3. The reviewer or reviewers, either accept the change package or reject it. The following can then happen:
◦ If all individual reviewers and at least one reviewer from a reviewer group (if any exist) accept the change package, it is moved to the Accepted state. For each vote cast by a reviewer, Integrity Lifecycle Manager sends the reviewers an e-mail notification of the accept vote. When all reviewers have voted to accept the change package, Integrity Lifecycle Manager sends each reviewer and the creator an e-mail notification that the change package is accepted.
Integrity Lifecycle Manager then commits the changes to the repository, and then closes the change package. If Integrity Lifecycle Manager fails to commit the changes to the repository, it moves the change package to the CommitFailed state and an e-mail notification is sent to the creator stating the commit failure and the error associated with that failure.
From the CommitFailed state, once the commit failure reason is remedied, the creator can submit the change package again. Since the review is already completed, the change package moves to the Closed state without requiring passage through the review process an additional time, or any additional e-mail notifications to be sent.
From the CommitFailed state, the creator can also move the change package back to Open, continue development, and then submit it for review again.
If an accepted change package is successfully committed to the repository, Integrity Lifecycle Manager then closes the change package and an e-mail notification is sent to the change package watchers. Change packages in the Closed state cannot be opened.
◦ If a reviewer (either an individual or a group member) rejects the change package, Integrity Lifecycle Manager moves it to the Rejected state and an e-mail notification is sent to each reviewer and the creator. The creator of the change package then moves the change package to the Open state (by editing the change package and changing the state), continues development, and then submits the change package again.
|
The creator of the change package continues development on pending revisions by checking them out.
|
The user can also discard the change package if it is no longer needed for development (thereby discarding entries contained in the change package). Change packages in the Discarded state can be moved back to the Open state if they are needed again.
Figure 45. Change Package State Workflow