Background
The Users and Groups system is the Kitsune 2.4 milestone. That goal is to move the TikiWiki users and group functionality over to Kitsune. This PRD defines some additional requirements were listed as later priorities in the KB PRD. In addition there are the Messaging System PRD and the Karma system PRD that will build on this functionality.
Groups
We'd like to migrate these groups/permission sets over along with administration interfaces. The intention is to use groups not just for assigning permission but also for organizing contributors. For example, "Contributors" may all be people who work on the KB but some work on English articles and some localize those articles into German. Those contributors can all have the same permissions (from the Contributors group) but we can also put them in en-us and de groups. Putting them in those locale groups would give them access to that group's dashboard.
Tiki Groups/Permission sets
- Anonymous (not logged in)
- Registered
- Contributors
- Approvers
- Locale Leaders
- Forum Moderators
- Live Chat Helpers
- System Admins
Administration
- Admin interface for adding a group
- Admin interface for defining group permissions.
- Add/remove groups from a group administration page
- Add/remove users to/from groups from a user administration page
In addition we'll need:
- The ability to create a dashboard for a group
Dashboard
When a contributor (a user in one of the contributor groups, e.g. Forum helpers) logs in they are taken to their Dashboard. The Dashboard provides multiple views (tabs?) of user and group specific information. At a minimum it will have a view for information and action items related to the individual, a view related to the group they belong to and a view where they can manage their personal profile.
User Dashboard
Displays the stuff the contributor can act upon
- Site-wide announcements (a message that can be edited on screen by the admin. An email is sent to the user when it is changed.)
- In case you are a registered user you get a standar message asking you to become a contributor to get occasional messages from us. Below that is a button that reads "become a contributor".
- Your contributor forum threads with replies
Group Dashboard
Information that is useful for the group members, stuff they can act upon
KB Group / Locale
- Group announcements (a message that can be edited on screen by the locale leader. An email is sent to the group when it is changed.)
- List of articles waiting for review
- Localization dashboard (copy of functionality from TikiWiki)
- Statistics: Localized articles, Visitors this week, Visitors per article, Popular search terms
- Ability to sort KB articles by number of lines
- Ability to sort KB articles by popularity
Forum Group
- Group announcements
- Support questions with new replies from original poster
Live Chat Group
- Group announcements
User Profile
This displays information about the users for the world. When someone registers we require a Username, Email address and password. So the basic profile should display:
- A default avatar - an illustrated silhouette.
- The username
The profile has these additional items that can be filled out/displayed:
- Groups - if the user is placed in a group other than the basic registered group, e.g. Live Chat Helper, it will be displayed.
- Custom Avatar - the default avatar should be able to be replaced with an image of the user's choosing. The uploaded file will be automatically resized and cropped if necessary.
- Real name
- Email address can be displayed, e.g. user at something dot com
- Bio - a small text area that can be filled in with personal information
- Website - a link to the user's website
- Twitter - a link to the user's twitter profile
- Facebook - a link to the user's facebook profile
- IRC - the user's IRC name
- Time Zone - the user should be able to choose their time zone from a list
- Country - the user should be able to choose their country from a list
Group Profile
Information about the Group and it's members that can be edited by the group leader(s). It should display:
- Group leaders
- How to contact the group
- Informative text about the group
- Information about joining the group
- Group avatar/logo - the default avatar should be able to be replaced with an image of the user's choosing. The uploaded file will be automatically resized and cropped if necessary.