View and edit web permissions
This plugin provides a centralised interface to TWiki permissions.
Web permissions are presented as a matrix that has columns of webs and rows of users. For each web, you can control which users can view or change that web. All user webs, every registered user (except admin users), and every group (except admin groups) are shown in the matrix.
To interactivly edit topic permissions, it adds an "Edit topic ACLs" option to the "More Actions" page.
This control model is very useful in cases such as a web per project environment. In this case you will probably want to give team members change access to the specific projects they are working on. The plugin gives you a simple, one page interface, for handling these permissions.
The plugin tries very hard to keep the permissions specification you started with, though it does move them to METADATA.
Topic Permissions
THIS PLUGIN REQUIRES TWiki-4.0.0 or later
Syntax Rules
The web permissions matrix can be viewed (and edited) by entering %WEBPERMISSIONS% anywhere in a topic. You have to have admin rights to view/edit the matrix.
The WEBPERMISSIONS TWiki variable accepts the following parameters:
repeatheads - if set to a number, headings will be repeated every this number of rows. This is very useful when you have a lot of users and groups.
webs - a comma-separated list of webs to show. Default is to show all webs.
users - a comma-separated list of users (and groups) to show. Default is to show all users and groups.
Both webs and users lists can use wildcards. A star (*) in a name will match any number of characters - so Brian* will match all users and groups whose names start with Brian. *Group will match all users or groups whose name ends in Group. If you put a minus sign (-) before a name in either list, then the next expression will be treated as a filter e.g. -Secret will exclude the name Secret from the list, and *Group will exclude all names ending in Group from the list.
Use the following form to select the subset of webs and users you want to display. If you have admin rights, and the plugin is installed, you will see the matrix below the form:
Select the webs, users and groups you want to change permissions for from the list below. Ctrl+click and Shift+click work as normal.
%WEBPERMISSIONS{webs="TWiki,Main,TWiki" users="guest" repeatheads="10"}%
Similarly the topic permissions tool can be viewed (and edited) by entering %TOPICPERMISSIONS% anywhere in a topic. You can also add an "Edit ACLS" option to the "More topic actions" screen by adding webpermissions to the front of the SKIN setting (e.g. Set SKIN=webpermissions,pattern)
Plugin Settings
By default, the plugin only supports VIEW and CHANGE permissions on webs. You can change the set of access modes handled by the plugin by defining a configuration variable (in LocalSite.cfg) to be a comma-separated list of access modes. For example,
See TWikiAccessControls for more information on what access modes can be used to control.
Plugin Installation Instructions
You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server where TWiki is running.
Like many other TWiki extensions, this module is shipped with a fully
automatic installer script written using the BuildContrib.
If you have TWiki 4.2 or later, you can install from the configure interface (Go to Plugins->Find More Extensions)
If you have any problems, then you can still install manually from the command-line:
Download one of the .zip or .tgz archives
Unpack the archive in the root directory of your TWiki installation.
Run the installer script ( perl <module>_installer )
Run configure and enable the module, if it is a plugin.
Repeat for any missing dependencies.
If you are still having problems, then instead of running the installer script:
Make sure that the file permissions allow the webserver user to access all files.
Check in any installed files that have existing ,v files in your existing install (take care not to lock the files when you check in)
Manually edit LocalSite.cfg to set any configuration variables.
Plugin Info
Another great TWiki extension from the WikiRing - working together to improve your wiki experience!
Many thanks to the following sponsors for supporting this work: