Editor for Fine Grained Authz Permissions File

Description

This is a simple plugin to help edit the fine grained authz permissions file. In addition to providing a text editor, it also provides a list of the current project users, so they are readily available.

A more elaborate editor was considered where sections could be selected, then the user/group to give permission to. However this was considered to be overly complicated and bloated.

The plugin takes the group information from the groups file and will put it at the head of the authz file so that the same groups are used. If there isn't a group file, the groups section should remain intact. Ideally this would be a link.

After creating or modifying the main group file, to include the changed group definitions, the editor page should be opened and then 'Apply Changes' clicked.

A check that the entered text can be parsed as an ini config file is done prior to saving.

Related Plugins

To help edit groups the HtGroupEditorPlugin can be used.

Screen Shot.

The naming and positioning of this plugin may change in the light of feedback.

File Locations

The plugin tries to find the names of the files it has to work with from the config object that reads them in from the normal config file for a Trac project, They maybe specifed in a project specific file or an inherited one.

The list of users are obtained form the account_manager object that will could have read them from password_file specified under the account-manager section.

[account-manager]
password_file = /some/project/directory/users

For the group file it is looked for under the account-manager section and the name group_file. If this fails it then looks under the htgroups section.

[account-manager]
group_file = /some/project/directory/groups

or

[htgroups]
group_file = /some/project/directory/groups

The authz policy file name is under the authz_policy policy section and the name authz_file.

[authz_policy]
authz_file = /some/project/directory/authzpolicy.conf

Dependencies

It uses the following additional modules which may require installation

  1. ConfigObj from http://www.voidspace.org.uk/python/configobj.html#introduction
  2. AccountManagerPlugin needs to be installed, but not enabled.
  3. Must have group_file configuration as mentioned in File Locations above.

Bugs/Feature Requests

Existing bugs and feature requests for FineGrainedPageAuthzEditorPlugin are here.

If you have any issues, create a new ticket.

Download and Source

Download the zipped source, check out using Subversion, or browse the source with Trac.

Example

Install by doing 'python setup.py install'

Recent Changes

[7144] by robert_martin on 11/14/09 13:09:18

Bug Fix. Dummy get_htdocs_dirs method added. Thanks to mkc. Was in earlier versions, but had been cleaned out.

[6786] by robert_martin on 10/21/09 21:02:05

Comma separator beteen the user names, omitted in the previous update. Link to the wiki Trac Permissions page included.

[6550] by robert_martin on 09/15/09 09:22:56

Changed _get_filename to match the htgropups version.

[6549] by robert_martin on 09/15/09 09:20:41

Check that there is a filename before indexing it.

Author/Contributors

Author: robert_martin
Maintainer: none
Contributors:
License: BSD

Attachments