Developer Area/Specifications in Development/Groups revamp
From Mahara Wiki
< Developer Area | Specifications in DevelopmentRevision as of 07:19, 12 July 2011 by Dirkca
Proposal for changes to the groups (post Mahara 1.4 release)
Groups are an integral part of Mahara. They can be used for collaborative work and learners have the possibility to engage in forum discussions, create pages together which they can then share with other Mahara users or put them into their own portfolios at the end of group work. They can also share artefacts which they use in the group pages.
Teachers can use groups to give feedback to learners and to lock down portfolios for assessment purposes.
With the growth of the user base of Mahara, groups are being used in many different ways to suit the needs of individual institutions. Therefore, re-thinking group types, making it easier to create the right group for an activity and to allow for more flexibility of who can do what in a group has become necessary.
The current group types (up to Mahara 1.4) are often exclusive of certain functionalities that would be desirable to have across the board all groups. Therefore, a consolidation of group types with the choice to select options instead of another group type seems to be a possible solution.
Groups and desired functionalities have been discussed in the following places:
- Community access to course groups
- Feature request: Review groups with hidden membership
- Merging open / invite / request group types
The following proposal attempts to bring these discussions together to serve as basis for re-writing the groups.
Permission to set up groups
The image shows which controls site admins and institution admins should have in regard to the creation of groups. From an administrative point of view, institution admins should have most rights to allow them to tailor Mahara to their own institution's needs instead of being dependent on what a site admin decides. Thus, only basic guidelines are set by the site admin.
The role a user has on Mahara determines the settings that he can or cannot choose. For example, so called closed or private groups can only be created by institution or site staff to mimic the behavior of the current course groups.
A normal user who is an admin of a group can allow the following:
- users can join the group (equivalent to existing "Open" groups - anyone on the site can join without permission from the group admin)
- users can request membership (only when "users can join the group" is off)
- group members can invite friends who then join immediately when they agree ("organic groups")
- group members can suggest the group to friends (only when "request membership" or "join" is on)
- Page creation
- members can create pages
- members can edit pages
An admin can always:
- invite single and multiple people at once into a group
- lock admin-created pages (see mockup below)
- allow public forums in a group if that feature is enabled site-wide
If a user has the staff role on Mahara (either site or institution level), he can allow the following in addition to what a normal user can do:
- hide group members from non-members
- hide group members from group members and only show admin and tutor
- hide the group on the "Find Groups" page
- admin can add users to the group
- admin can prevent members from leaving the group (controlled membership setting)
- members can submit pages
Create / edit a group
Depending on the role that a user has on Mahara, he may not see everything.
An admin can always invite others into the group.
If an admin with staff rights allows for hiding a group on the "Finds Group" page, it will not be shown.
Lock admin-created page
Any group admin can lock pages that he created. The group homepage is locked by default and can't be unlocked.
Migration of existing groups
Groups that already exist need to be migrated. Depending on the existing group type, they will have certain default settings.
|can't leave group||x||x||x|
|create / edit pages||x||x||x||x|
|edit admin created pages (make that a setting on the pages)||x||x||x||x|
|public forums||take the current setting that is on the group|
|hide group members from non-members|
|show only admin and tutors to group members and non-members|
|hide group on the "Find Groups" page|
A couple of things in relation to groups are mentioned on :
- Notify a user when he has been added to a group.
- Notify a user when one of his groups has been deleted.