The Users and Groups system is the next step after the Kitsune 2.4 milestone. The goal of 2.4 was to move the basic TikiWiki users and group functionality over to Kitsune. This PRD defines some additional requirements that were listed as later priorities in the KB PRD. It builds the foundation for the Messaging System PRD and the Karma system PRD that will build on this functionality.
We migrated 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 (mostly people looking for help)
- Locale Leaders
- Forum Moderators
- Live Chat Helpers
- System Admins
NB: This is all part of Django.
- Admin interface for adding a user
- Admin interface for removing a user
- interface to remove all posts while removing user
- Admin interface for defining user permissions.
- 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 assign a dashboard for a group. I believe that building dashboards will have to be a webdev task but we should have a default dashboard template with just an announcement section that can be assigned to any newly created group.
- The ability for a group to not have a 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.
For our users that have only registered in order to ask a question the default personal dashboard will have information about contributing to SUMO with the ability to op-in to becoming a contributor (choosing this would automatically add them to the contributor group). The one basic difference of being a contributor would be that you will see (and be emailed) the site-wide announcements. There should also be information on this page that becoming a contributor is not mandatory and that you can still answer questions and edit articles without this. [missing]
- ?? If there is a contributor's group, why would site-wide announcements only go to them? Why not just use contributor group announcements and keep site-wide announcements for, you know, site-wide announcements? Jsocol 09:13, 3 June 2011 (PDT)
James - that's what I meant. When I said "site-wide" I meant from a contributors point of view. I don't think we ever really want to message everyone except by putting a warning on the front page or something.
The user should be able to set a preference that defines which tab they start on when accessing the dashboard. Localizers, for example, may want to start on their language group tab while, Forum helpers may want to start on the Forum group tab.
Displays the stuff the contributor can act upon
- Site-wide announcements that are editable by system admins [Do not assign announcements to a group -> site-wide]
- Site-wide announcements will send out an email to everyone in the contributor group. [Just use contributor group announcements.]
- Your contributor forum threads with replies, the listing should contain the following information:[not complete]
- Indication of whether thread was updated since last view
- Title of thread
- Thread starter
- When the thread was started
- Number of replies
- Who was the last one to reply
- When was the last reply
- Link to last reply
- ?? So, you just want the whole forum listing again except restricted to the threads the person has posted in? Jsocol 09:13, 3 June 2011 (PDT)
Here is an example of how phpBB solved the problem:
- NB That is not phpBB "solv[ing this] problem." This is just just a picture of any phpBB thread listing. Jsocol 09:13, 3 June 2011 (PDT)
Information that is useful for the group members, stuff they can act upon
- Group announcements that are editable by the Group Leader [needs front end, bug 661848]
- Group announcements will send out an email to everyone in the group.
KB Group / Locale
- Localization dashboard (copy of functionality from TikiWiki)
- Additions to the localization dashboard (from KB PRD):
- Statistics: Localized articles, Visitors this week, Visitors per article, Popular search terms [missing] NB Stats is, in general, a much bigger project. Jsocol 09:13, 3 June 2011 (PDT)
- Ability to sort KB articles by number of lines [missing] ?? Why? Jsocol 09:13, 3 June 2011 (PDT)
- Ability to sort KB articles by popularity [missing] NB we absolutely have that on the l10n dashboard, why would we completely duplicate the functionality here? Jsocol 09:13, 3 June 2011 (PDT)
- Support questions with new replies from original poster
Live Chat Group
?? I assume we need some other kind of content here? Jsocol 09:13, 3 June 2011 (PDT)
[DONE] User Profile
This displays information about the users for the world. When someone registers we require a Name, Email address and password. So the basic profile should display:
- A default avatar - an illustrated silhouette.
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. [missing]
- 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.
- 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
- City - the should be able to write in their city.
- Location aware? Maybe there is a way to add the location automatically.
- Extra bonus points for being able to automatically update the SUMO map.
Group Profile [missing] bug 661853
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.
Extending the dashboards
This PRD lays out the basic functionality of the dashboard as it relates to users and groups. The Messaging System PRD and the Karma system PRD will use these dashboards and build on this functionality.
- Default dashboard view
- Contributor dashboard view
- KB/Locale Group view
- Forum helper Group view
- Live Chat Group view
- Personal profile view
- Group profile view
- How do people become memebers of a group?
- How are people removed froma a group (after inactivity for example)?
- How to make sure you are inviting the right person to the group (or generally sending PM) ? It is sort of awkward to send PM to JohnD40x for instance, saying "I hope you are John Doe, but if not please disregard this message" - smo