This plugin provides a centralized 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 interactively edit topic permissions, it adds an "Edit topic ACLs" option to the "More Actions" page.
Web Permissions
This interface allows you to control
Viewing
Editing
VIEW = CHANGE =
Albums
Singles
Reviews
Statistics
AnnieLennox
BillyBragg
ColinTowns
DavidSoul
EaglesGroup
VIEW = CHANGE =
Albums
Singles
Reviews
Statistics
AnnieLennox
BillyBragg
ColinTowns
DavidSoul
EaglesGroup
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
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 topic permissions UI can be viewed (and edited) by entering %TOPICPERMISSIONS% anywhere in a topic (or accesing it via the 'More topic actions' page). You have to have write permissions to that topic to view/edit the UI.
WEBPERMISSIONS
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="TWiki06x01,Main,Plugins" users="guest" repeatheads="10"}%
TOPICPERMISSIONS
The topic permissions tool can be viewed (and edited) by entering %TOPICPERMISSIONS% anywhere in a topic.
To add an "Edit ACLS" option to the "More topic actions" screen add 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,
TWikibug:Item6655: XHTML fixes; Placing checkboxes before checkbox label to be compliant with web standards; better images for VIEW.gif and CHANGE.gif -- TWiki:Main.PeterThoeny