Short description
Hier-acl is great, but having to remember who has access to each page is dicey.
This addition would make it easy: On pages where special hier-acl permissions are in effect, we can display a special Select box along with the other menu options.
Clicking that select box makes the box visible with this info:
WHO CAN SEE OR <blue>EDIT</blue> THIS PAGE? GROUPS: ___, ____ USERS: ___, ____ BUT NOT THESE USERS: ___, ____
The reusable function that calculated these permissions could have parameters to customize its behavior to suit that wiki ... for example,
- accessTypes: The types of access we care about: read, edit? (Each is displayed in a different color.)
- expandGroups: If true, list all users who have access - by virtue of their group membership or direct inclusion. This would be a longer list.
- displayForUsers: If this feature should only be displayed for certain logged-in users, this comma-delimited list of users won't be blank.
- displayForGroups: If this feature should only be displayed for logged-in users who are members of certain groups, this comma-delimited list of groups won't be blank
A note -- with hier-acl, the permissions cascade. For example, group1 +group2 -user3. We can handle the tougher minuses by listing them all as particular users in the "But not these users" line.
Optionally, a nice display trick would be to use an OPTGROUP select box to create a multi-level display - hovering over USERS shows the users, hovering over GROUPS shows the groups, hovering over the BUT NOT THESE USERS shows them.