ApproveChanges

Changeset

19:6f45d61cf27c
2011-10-15 Paul Boddie raw files shortlog changelog graph Fixed the directive addition to pages so that a blank line is not added where an empty directive was given. Added a help page for the action. Added a "to do" item for user approval.
ApproveChangesSupport.py (file) README.txt (file) pages/HelpOnApproveChanges (file) to-do/approve-user.txt (file)
     1.1 --- a/ApproveChangesSupport.py	Sat Oct 15 20:40:57 2011 +0200
     1.2 +++ b/ApproveChangesSupport.py	Sat Oct 15 21:58:55 2011 +0200
     1.3 @@ -126,7 +126,7 @@
     1.4  
     1.5      "Add to the page 'body' the given 'directives'."
     1.6  
     1.7 -    return "\n".join(directives + [body])
     1.8 +    return "\n".join([directive for directive in directives if directive] + [body])
     1.9  
    1.10  def remove_directives(body, names):
    1.11  
     2.1 --- a/README.txt	Sat Oct 15 20:40:57 2011 +0200
     2.2 +++ b/README.txt	Sat Oct 15 21:58:55 2011 +0200
     2.3 @@ -10,6 +10,9 @@
     2.4  queuing and approval mechanisms function correctly. See "Configuration" below
     2.5  for more information.
     2.6  
     2.7 +See pages/HelpOnApproveChanges for the documentation for this software and how
     2.8 +to use it.
     2.9 +
    2.10  Pre-Installation Tasks
    2.11  ----------------------
    2.12  
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/pages/HelpOnApproveChanges	Sat Oct 15 21:58:55 2011 +0200
     3.3 @@ -0,0 +1,50 @@
     3.4 +##master-page:HelpTemplate
     3.5 +##master-date:Unknown-Date
     3.6 +#format wiki
     3.7 +#language en
     3.8 +
     3.9 +== ApproveChanges ==
    3.10 +
    3.11 +The !ApproveChanges action for !MoinMoin permits the approval of page changes made by untrusted users. Such changes are queued on a separate subpage of each page edited by untrusted users, and by using the !ApproveChanges action, reviewers can approve acceptable changes and incorporate them into the original (parent) page.
    3.12 +
    3.13 +<<TableOfContents(3)>>
    3.14 +
    3.15 +== Finding Queued Changes ==
    3.16 +
    3.17 +Since changes queued for review are typically written to subpages called !ApprovalQueue, a search for such pages should yield a list of queued changes pages where changes are waiting to be reviewed. The ChangesToReview page provides such a search and could therefore be a useful interface for page reviewers.
    3.18 +
    3.19 +== Navigating Queued Changes ==
    3.20 +
    3.21 +Once a queued changes page has been found, the contents of the page will reflect the most recent queued change. However, there may be several queued revisions of the page, and it may be the case that one of these revisions is more appropriate than the others. By using the info action on a queued changes page, the different revisions may be browsed and the most suitable revision displayed.
    3.22 +
    3.23 +When choosing the !ApproveChanges action on a particular revision of a page, that particular revision will be the one approved for incorporation into the proper page itself. When choosing the action on the default view of a page (without any revision being specified), the current revision will be the one approved.
    3.24 +
    3.25 +It should be noted that revisions of the queued changes page are independent of each other: unless an untrusted user has saved a page more than once, refining their edits over time, all edits will have been made with only the knowledge of the contents of the parent page. Thus, it can be necessary to approve more than one revision of the queued changes page if all suitable changes are to be incorporated into the parent page.
    3.26 +
    3.27 +== Approving Changes ==
    3.28 +
    3.29 +Choosing the !ApproveChanges action on a queued changes page will result in a dialogue being displayed, asking whether the displayed page version should be approved. Approving the version will result in its changes being propagated to the parent page.
    3.30 +
    3.31 +=== The Effect of Approving Changes ===
    3.32 +
    3.33 +The effect of approving changes is slightly more sophisticated than just copying the approved version of the page over the parent page. Instead, the action considers which changes were actually made to the original version of the parent page when the untrusted user decided to edit it, and such changes are then applied to the parent page as it is now.
    3.34 +
    3.35 +In the simplest of cases, the queued changes can be applied and the parent page updated without incident. However, it is possible that the following message be shown when choosing the action:
    3.36 +
    3.37 +  ''The affected page has been edited since the queued changes were made.''
    3.38 +
    3.39 +This indicates that the parent page has changed since the untrusted user made their edits, with a possible consequence of this being that their changes no longer fit in with the page as it is now. In many cases, the queued changes made by the untrusted user and the changes made in competition with the queued changes can be reconciled and the parent page updated with both sets of changes intact. Sometimes, however, the changes will conflict with each other and need to be reconciled manually. In this latter case, the page editor will be opened for the editing of the parent page with conflict indicators present in the page text showing the problematic regions where conflicts have arisen.
    3.40 +
    3.41 +Once changes have been approved from a queued changes page, that page will be deleted and will not appear in any search for queued changes. However, the page revisions will still exist, and approval of other revisions from the queue can still occur.
    3.42 +
    3.43 +== Rejecting Changes ==
    3.44 +
    3.45 +Where no changes present in a queued changes page are of interest, the page itself can be deleted. This effectively rejects all queued changes.
    3.46 +
    3.47 +== Approving Users ==
    3.48 +
    3.49 +Users who are present in the ApprovedGroup do not need to have their edits approved. Thus, to avoid inconveniencing trusted users of a Wiki, such users should be added to this group as soon as possible.
    3.50 +
    3.51 +== Appointing Reviewers ==
    3.52 +
    3.53 +Users who are present in the PageReviewersGroup are allowed to view and approve queued changes. Thus, users who have an editorial capacity in a Wiki should be added to this group so that they can control the final content of each page.
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/to-do/approve-user.txt	Sat Oct 15 21:58:55 2011 +0200
     4.3 @@ -0,0 +1,3 @@
     4.4 +Permit the approval of users when approving their edits. The user will be added
     4.5 +to the ApprovedGroup if the reviewer indicates that they should henceforth be
     4.6 +considered as a trusted user in the Wiki.