View and edit web permissions
This plugin provides a centralised interface to Foswiki 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.
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.
The WEBPERMISSIONS TML 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.
When using the plugin with sub-web permissions, beware of access
control settings that are finalised
in parent webs, as these settings will override settings in subwebs.
Use the %SHOWPREFERENCE% macro to review preference
settings (not available on all Foswiki versions).
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)
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 AccessControl 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.
Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".
If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See http://foswiki.org/Support/ManuallyInstallingExtensions for more help.
To access the Topic Permission editor, add webpermissions to the SKIN setting in SitePreferences .
e.g. Set SKIN=webpermissions,pattern)
Another great Foswiki extension from the WikiRing - working together to improve your wiki experience!
Many thanks to the following sponsors for supporting this work: