ApproveChanges

Changeset

17:9a9d6e374d06
2011-10-15 Paul Boddie raw files shortlog changelog graph Added some documentation and packaging information.
PKG-INFO (file) README.txt (file)
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/PKG-INFO	Sat Oct 15 19:20:52 2011 +0200
     1.3 @@ -0,0 +1,22 @@
     1.4 +Metadata-Version: 1.1
     1.5 +Name: ApproveChanges
     1.6 +Version: 0.1
     1.7 +Author: Paul Boddie
     1.8 +Author-email: paul at boddie org uk
     1.9 +Maintainer: Paul Boddie
    1.10 +Maintainer-email: paul at boddie org uk
    1.11 +Home-page: http://moinmo.in/ActionMarket/ApproveChanges
    1.12 +Download-url: http://moinmo.in/ActionMarket/ApproveChanges?action=AttachFile&do=view&target=ApproveChanges-0.1.tar.bz2
    1.13 +Summary: Queue untrusted page changes for approval
    1.14 +License: GPL (version 2 or later)
    1.15 +Description: The ApproveChanges action for MoinMoin, along with the queue_for_review event
    1.16 +        handler and supporting library, provides a way for contributions to a Wiki
    1.17 +        made by anonymous or untrusted users to be queued for review and approval by
    1.18 +        trusted reviewers.
    1.19 +Keywords: MoinMoin Wiki approval moderation
    1.20 +Requires: MoinMoin
    1.21 +Classifier: Development Status :: 3 - Alpha
    1.22 +Classifier: License :: OSI Approved :: GNU General Public License (GPL)
    1.23 +Classifier: Programming Language :: Python
    1.24 +Classifier: Topic :: Internet :: WWW/HTTP
    1.25 +Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/README.txt	Sat Oct 15 19:20:52 2011 +0200
     2.3 @@ -0,0 +1,156 @@
     2.4 +Introduction
     2.5 +------------
     2.6 +
     2.7 +The ApproveChanges action for MoinMoin, along with the queue_for_review event
     2.8 +handler and supporting library, provides a way for contributions to a Wiki
     2.9 +made by anonymous or untrusted users to be queued for review and approval by
    2.10 +trusted reviewers.
    2.11 +
    2.12 +After installation, some Wiki configuration is required to make sure that the
    2.13 +queuing and approval mechanisms function correctly. See "Configuration" below
    2.14 +for more information.
    2.15 +
    2.16 +Pre-Installation Tasks
    2.17 +----------------------
    2.18 +
    2.19 +Before installing the software, create a new user who will be responsible for
    2.20 +queuing untrusted changes. This user will be used by the software internally,
    2.21 +and it should never be necessary to log in manually as this user to perform
    2.22 +tasks.
    2.23 +
    2.24 +Adding a new user can be done using the moin program as follows:
    2.25 +
    2.26 +  moin --config-dir=path-to-wikiconfig account create \
    2.27 +       --name=ApprovalQueueUser --email=... --password=...
    2.28 +
    2.29 +The ... values should be substituted with acceptable values. Beware that
    2.30 +MoinMoin insists on distinct e-mail addresses. Beware also that providing a
    2.31 +password on the command line can be a risk on multi-user systems.
    2.32 +
    2.33 +Installation
    2.34 +------------
    2.35 +
    2.36 +To install the software, consider using the moinsetup tool. See the
    2.37 +"Recommended Software" section below for more information.
    2.38 +
    2.39 +With moinsetup and a suitable configuration file, the installation is done as
    2.40 +follows with $ACDIR referring to the ApproveChanges distribution directory
    2.41 +containing this README.txt file:
    2.42 +
    2.43 +  python moinsetup.py -f moinsetup.cfg -m install_extension_package $ACDIR
    2.44 +  python moinsetup.py -f moinsetup.cfg -m install_actions $ACDIR/actions
    2.45 +  python moinsetup.py -f moinsetup.cfg -m install_event_handlers $ACDIR/events
    2.46 +
    2.47 +The first command above uses the setup.py script provided as follows:
    2.48 +
    2.49 +  python setup.py install --prefix=path-to-moin-prefix
    2.50 +
    2.51 +The second and third commands install the action and event handler
    2.52 +respectively.
    2.53 +
    2.54 +Useful Pages
    2.55 +------------
    2.56 +
    2.57 +The pages directory contains a selection of useful pages using a syntax
    2.58 +appropriate for use with MoinMoin 1.6 or later. These pages can be created
    2.59 +through the Wiki and their contents copied in from each of the files. An
    2.60 +easier installation method is to issue the following commands:
    2.61 +
    2.62 +  python moinsetup.py -f moinsetup.cfg -m make_page_package $ACDIR/pages pages.zip
    2.63 +  python moinsetup.py -f moinsetup.cfg -m install_page_package pages.zip
    2.64 +
    2.65 +You may need to switch user in order to have sufficient privileges to copy the
    2.66 +page package into the Wiki. For example:
    2.67 +
    2.68 +  sudo -u www-data python moinsetup.py -f moinsetup.cfg -m install_page_package pages.zip
    2.69 +
    2.70 +Resource Pages
    2.71 +--------------
    2.72 +
    2.73 +In order to assign Wiki users to particular roles, some resource pages must be
    2.74 +set up in a Wiki. For this purpose, the resource_pages directory contains
    2.75 +example pages defining the membership of two groups:
    2.76 +
    2.77 +  ApprovedGroup:        the approved users group; users whose changes do not
    2.78 +                        need to approved and who can edit the Wiki normally
    2.79 +
    2.80 +  PageReviewersGroup    the reviews group; users who can review the changes
    2.81 +                        made by untrusted users
    2.82 +
    2.83 +Once installed, these group pages should be populated with real user
    2.84 +identities or other group names. See the following page for more information:
    2.85 +
    2.86 +  http://moinmo.in/HelpOnGroups
    2.87 +
    2.88 +Without any usernames in the group pages, all users who are not nominated as
    2.89 +superusers will have their edits intercepted by the change queuing mechanism,
    2.90 +and only superusers will be able to review changes.
    2.91 +
    2.92 +To install the resource pages, use the following commands:
    2.93 +
    2.94 +  python moinsetup.py -f moinsetup.cfg -m make_page_package $ACDIR/resource_pages resource_pages.zip
    2.95 +  python moinsetup.py -f moinsetup.cfg -m install_page_package resource_pages.zip
    2.96 +
    2.97 +You may need to switch user in order to have sufficient privileges to copy the
    2.98 +page package into the Wiki. For example:
    2.99 +
   2.100 +  sudo -u www-data python moinsetup.py -f moinsetup.cfg -m install_page_package resource_pages.zip
   2.101 +
   2.102 +Configuration
   2.103 +-------------
   2.104 +
   2.105 +Once the event handler has been installed, all page saving operations will be
   2.106 +affected by its operation. With no further configuration, it is most likely
   2.107 +that only superusers will be able to save changes to Wiki pages, and even the
   2.108 +queuing of changes will not function properly.
   2.109 +
   2.110 +Thus, it becomes necessary to change the Wiki configuration to enable the
   2.111 +successful queuing of changes by changing the acl_rights_before configuration
   2.112 +setting, adding the following rule:
   2.113 +
   2.114 +  ApprovalQueueUser:write,admin
   2.115 +
   2.116 +This will let the special internal Wiki user responsible for queuing changes
   2.117 +(see "Pre-Installation Tasks") save and define an ACL on a page saved by an
   2.118 +untrusted user. See the following page for more information on access control
   2.119 +lists (ACLs):
   2.120 +
   2.121 +  http://moinmo.in/HelpOnAccessControlLists
   2.122 +
   2.123 +Recommended Software
   2.124 +--------------------
   2.125 +
   2.126 +See the "Dependencies" section below for essential software.
   2.127 +
   2.128 +The moinsetup tool is recommended for installation since it aims to support
   2.129 +all versions of MoinMoin that are supported for use with this software.
   2.130 +
   2.131 +See the following page for information on moinsetup:
   2.132 +
   2.133 +http://moinmo.in/ScriptMarket/moinsetup
   2.134 +
   2.135 +Contact, Copyright and Licence Information
   2.136 +------------------------------------------
   2.137 +
   2.138 +See the following Web page for more information about this work:
   2.139 +
   2.140 +http://moinmo.in/ActionMarket/ApproveChanges
   2.141 +
   2.142 +The author can be contacted at the following e-mail address:
   2.143 +
   2.144 +paul@boddie.org.uk
   2.145 +
   2.146 +Copyright and licence information can be found in the docs directory - see
   2.147 +docs/COPYING.txt and docs/LICENCE.txt for more information.
   2.148 +
   2.149 +Release Procedures
   2.150 +------------------
   2.151 +
   2.152 +Update the ApproveChanges.py __version__ attribute and the setup.py version
   2.153 +details.
   2.154 +Change the version number and package filename/directory in the documentation.
   2.155 +Update the setup.py and PKG-INFO files.
   2.156 +Update the release notes (see above).
   2.157 +Tag, export.
   2.158 +Archive, upload.
   2.159 +Update the ActionMarket (see above for the URL).