Anwiki CMS

Anwiki CMS : the first wiki/CMS dedicated to multilingual contents
| Tasklist |

FS#122 - UsersDriver: UserGroups support

Attached to Project: Anwiki CMS
Opened by anw (anw) - Sunday, 12 September 2010, 09:58 GMT
Last edited by anw (anw) - Sunday, 12 September 2010, 10:02 GMT
Task Type Improvement
Category Drivers → Users drivers
Status New
Assigned To No-one
Operating System All
Severity Medium
Priority High
Reported Version Anwiki 0.2.2
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


UsersDriver should definitely handle "user groups", which could be used by other components (ie: to define ACLs).

UsersDriver will be able to implement 2 new interfaces for managing user groups:

* AnwUsersGroupCapability_read:
- getUserGroups(): returns the list of all UserGroups

* AnwUsersGroupCapability_write:
- createUserGroup($sName): returns the list of all UserGroups
- changeUserGroupName($sName): updates user group's name
- addUser($oUser): add an User to the UserGroup
- removeUser($oUser): remove an User from the UserGroup

A user group will be represented by AnwUserGroup object:
- getId(): returns a technical numeric ID (unique)
- getName(): returns a technical name (only used as reminder - a i18n label can be defined in translation files based on pagegroup ID)
- getUsers(): returns the list of users in the group

We will need a panel somewhere to manage UserGroups (probably a new generic item accessed from editconfig action).
This panel will show the list of UserGroups (for drivers with AnwUsersGroupCapability_read), and allow to create/edit/delete user group (for drivers with AnwUsersGroupCapability_write).

When done, we should update ACLsDriver_configrules to provide support for PageGroups.
This task depends upon