User clicks on a icon on the page. The page then updates to show that the user is one of the registered approvers.
User approves a page
User clicks on an icon on the page. The approval logic is called and if the relevant, the page is updated to show itself as 'approved'.
Exceptions
Pages with only one approver can not be approved?
User unregisters as an approver
The user clicks on an icon on the page. The user is removed from the list of approvers. The approval logic is called and if the relevant, the page is updated to show itself as 'approved'.
User edits a page
When the page is saved, the page is set to unapproved.
User views a list of approvers
The list of approvers should be visible as a list somewhere. Possibly in text rendered by the {pageapproval} macro.
User views the current version
The user can see the current version of the page. There will be an indication as to whether or not the page is approved.
User views the approved version
The user can see the approved version of the page. If the current version is not approved, there may need to be a link or icon that goes to the approved version.
User makes a comment
The user may make an optional comment that goes along with an approval action.
The user reads reports
The user sees various reports, such as:
Pages that need approval
Pages that are unapproved
Pages waiting your approval
Pages that will be approved if you approve them etc.