Feature Proposal: The role a user serves often affects content
Motivation
The
role a person plays within a TWiki is frequently of fundamental importance in what someone can do or see.
Description and Documentation
Right now there are 2 "roles" hard-wired into TWiki: unauthenticated and admin. I'd like to see this concept extended to a formal way to define other roles and to use them in access control and contexts.
ATM, I'm not proposing a specific syntax, although clearly one way of defining who fall into what role is similar to defining groups.
Examples
- Viewer, Developer, Documenter or Editor, Approver (yuck to the word)
- Student, Teacher, Administrator
Impact and Available Solutions
Implementation
--
Contributors: MeredithLesly
Discussion
--
MeredithLesly - 25 Feb 2006
The shortcoming of TWiki's group concept for roles is that there isn't any semantic control: Groups need not denote disjunct sets, or a hierarchy of groups, or be proper subsets of each other. As long as the Main web isn't protected, groups can be defined by any authenticated user.
However, I can't currently see a requirement for TWiki itself to define more than its current roles (nitpicking: Technically, there are five of them. Unauthenticated and admins, but also the "Runner of =/bin/configure=", the authenticated non-admin, and the %WIKIWEBMASTER% who receives registration confirmations).
So the question is whether the group concept isn't already sufficient to define roles. TWiki users can be simultaneously members of more than one group (DeveloperGroup, NonSmokersGroup, InmatesOfFloorThreeGroup, etc), and topics or plugins can react on group membership. Whoever creates a group, can restrict write access to the group topic, thereby protecting the "role definition", before assigning access rights to the group.
--
HaraldJoerg - 25 Feb 2006
Perhaps I should have called them "Primary roles", which would be (potentially) orthogonal to groups.
--
MeredithLesly - 27 Feb 2006
Maybe some kind of
UserRolesContrib can provide a list of default groups and an interface for easily adding users to those predefined roles (which is synonym for groups).
--
FranzJosefSilli - 27 Feb 2006