Actions

Proposals/Done/Groups revamp: Difference between revisions

From Mahara Wiki

< Proposals‎ | Done
m (Anitsirk moved page Developer Area/Specifications in Development/Done/Groups revamp to Proposals/Done/Groups revamp: Shorter navigation, not always technical)
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Proposal for changes to the groups (post Mahara 1.4 release)
This feature was funded by the [http://www.minedu.govt.nz New Zealand Ministry of Education] and implemented by [http://catalyst.net.nz Catalyst IT] for Mahara 1.5. The actual implementation differs somewhat from the proposal to align it to certain ways how Mahara works.
 
<div id="section_1">


==Introduction==
==Introduction==
Line 9: Line 7:
Teachers can use groups to give feedback to learners and to lock down portfolios for assessment purposes.
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 find the right group type for an activity and to allow for more flexibility of who can do what in a group has become necessary.
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 types. Therefore, a consolidation of group types with the choice to select options instead of another group type seems to be a possible solution.
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:
Groups and desired functionalities have been discussed in the following places:
Line 20: Line 18:


The following proposal attempts to bring these discussions together to serve as basis for re-writing the groups.
The following proposal attempts to bring these discussions together to serve as basis for re-writing the groups.
</div><div id="section_2">


==Permission to set up groups==
==Permission to set up groups==
Line 29: Line 25:
[[Image:group_creation.png|group_creation.png|600px]]
[[Image:group_creation.png|group_creation.png|600px]]


</div><div id="section_3">
==Group types==
There will only be 3 group types:
# open: anyone can join
# closed: receive invite or request membership
# private: controlled membership and members can submit portfolio pages
The table details the individual characteristics of each group type.
* d: default setting
* a: admin approval required
{| width="700" border="1" cellspacing="2" cellpadding="2"
| bgcolor="#cccccc" | '''Characteristics<br />'''
| style="text-align: center" bgcolor="#cccccc" | '''open'''
| style="text-align: center" bgcolor="#cccccc" | '''closed'''
| style="text-align: center" bgcolor="#cccccc" | '''private'''
|-
| colspan="4" | '''Membership'''
|-
| join
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" |
| style="text-align: center" |
|-
| invite single (on profile page)
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" |
|-
| invite friends
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" |
|-
| invite single and multiple (admin only)
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
|-
| request membership
| style="text-align: center" |
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| select (put users in group)
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" bgcolor="#99ccff" | d
|-
| leave
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| colspan="4" | '''Page creation'''
|-
| group member
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| tutor
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| admin
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
|-
| allow author to lock his page
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| allow to make a copy of locked page in group
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| colspan="4" | '''File upload'''
|-
| group members
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| tutor
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| admin
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
|-
| colspan="4" | '''Listing of group members<br />'''
|-
| show members to non-group users
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| show normal members to group members
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| show only admins &amp; tutors to group members
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| always show admin
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
|-
| '''List on group overview page'''
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#99ccff" | d
| style="text-align: center" bgcolor="#ffcc66" | a
|-
| '''Submit page for feedback'''
| style="text-align: center" |
| style="text-align: center" |
| style="text-align: center" bgcolor="#99ccff" | d
|-
| '''Publicly viewable forums''' (formerly publicly viewable group)
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" bgcolor="#ffcc66" | a
| style="text-align: center" |
|}
</div><div id="section_4">


==Mockups==
==Group settings==


The mockups only show the new functionality as seen from a normal user's perspective. Existing functionality that is only available when logged in as an admin or when certain admin settings are made has not been included in here, e.g.
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.


* choosing a group category
===Normal user===
* allowing to auto-add new users to a group


When a group is created, its group type determines a number of default settings. Only those that are variable (in the table above labeled "a") are displayed instead of displaying all possible settings from the table above.
A normal user who is an admin of a group can allow the following:


<div id="section_5">
* Membership
** 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)


===Create group===
* Page creation
** members can create pages
** members can edit pages


[[Image:group_01_create.png|group_01_create.png|600px]]
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


</div><div id="section_6">
===Staff user===


===Edit group settings===
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:


If this screen can be implemented dynamically in screen 1 then this would be preferable.
* 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


[[Image:group_02_settings_open.png|group_02_settings_open.png|600px]]
==Mockups==


[[Image:group_02_settings_closed.png|group_02_settings_closed.png|600px]]
===Create / edit a group===


[[Image:group_02_settings_private.png|group_02_settings_private.png|600px]]
Depending on the role that a user has on Mahara, he may not see everything.


</div><div id="section_7">
[[Image:group_01_create_edit.png|group_01_create_edit.png|600px]]


===Edit access===
===Invite others===


[[Image:group_03_share.png|group_03_share.png|600px]]
[[Image:group_02_group_dashboard.png|group_02_group_dashboard.png|600px]]


</div><div id="section_8">
An admin can always invite others into the group.


===Find Groups page===
[[Image:group_03_invite_friends.png|group_03_invite_friends.png|600px]]


[[Image:group_04_find_groups.png|group_04_find_groups.png|600px]]
[[Image:group_04_suggest_friends.png|group_04_suggest_friends.png|600px]]


</div><div id="section_9">
[[Image:group_05_add_invite_others.png|group_05_add_invite_others.png|600px]]


===Group dashboard of a closed group===
===Find groups===


[[Image:group_05_group_dashboard.png|group_05_group_dashboard.png|600px]]
If an admin with staff rights allows for hiding a group on the "Finds Group" page, it will not be shown.


The "invite others" button can also be located on the "Members" tab. It appears directly on the group dashboard so that members can invite others easily without another mouse click.
[[Image:group_06_find_groups.png|groups_06_find_groups.png|600px]]


</div><div id="section_10">
===Lock admin-created page===


===Invite non-members screen===
Any group admin can lock pages that he created. The group homepage is locked by default and can't be unlocked.


This screen appears when a member (not an admin) clicks on "Invite others" when that is enabled in a group. From this screen they can invite their friends only. They can also send group invitations to other users via the individual portfolio pages. There, they don't have to be friends.
[[Image:group_07_page_edit.png|group_07_page_edit.png|600px]]
 
An admin can invite multiple other users - no matter whether they are his friends or not and no matter the group type - from the "Members" tab.
 
[[Image:group_06_invite_friends.png|group_06_invite_friends.png|600px]]
 
</div></div><div id="section_11">


==Migration of existing groups==
==Migration of existing groups==


Groups that have been created prior to the introduction of the fewer group types need to be migrated. Depending on the existing group type, they will have additional settings to the default ones in the new group types.
Groups that already exist need to be migrated. Depending on the existing group type, they will have certain default settings.


* Open membership group becomes an open group.
{| cellpadding="5" cellspacing="0" border="1"
* Invite only group becomes a closed group.
!Setting
* Request membership group becomes a closed group with the additional setting that users are allowed to request membership.
!open
* Course request membership group becomes a private group with the setting that users can request membership.
!invite
* Course controlled membership group becomes a private group.
!request
* Standard controlled membership group becomes a private group.
!standard-controlled
!course-controlled
!course-request
|-
|join
|align="center"|x
|
|
|
|
|
|-
|suggest friends
|
|
|align="center"|x
|
|
|
|-
|invite friends
|
|
|
|
|
|
|-
|request membership
|
|
|align="center"|x
|
|
|align="center"|x
|-
|can't leave group
|
|
|
|align="center"|x
|align="center"|x
|align="center"|x
|-
|create / edit pages
|align="center"|x
|align="center"|x
|align="center"|x
|align="center"|x
|
|
|-
|edit admin created pages (make that a setting on the pages)
|align="center"|x
|align="center"|x
|align="center"|x
|align="center"|x
|
|
|-
|submit pages
|
|
|
|
|align="center"|x
|align="center"|x
|-
|public forums
|colspan="6" align="center"|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
|
|
|
|
|
|
|-
|}


</div>
[[Category:Groups]][[Category:Plugins]][[Category:Group Type]]

Latest revision as of 17:43, 11 July 2020

This feature was funded by the New Zealand Ministry of Education and implemented by Catalyst IT for Mahara 1.5. The actual implementation differs somewhat from the proposal to align it to certain ways how Mahara works.

Introduction

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:

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.

group_creation.png


Group settings

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.

Normal user

A normal user who is an admin of a group can allow the following:

  • Membership
    • 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

Staff user

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

Mockups

Create / edit a group

Depending on the role that a user has on Mahara, he may not see everything.

group_01_create_edit.png

Invite others

group_02_group_dashboard.png

An admin can always invite others into the group.

group_03_invite_friends.png

group_04_suggest_friends.png

group_05_add_invite_others.png

Find groups

If an admin with staff rights allows for hiding a group on the "Finds Group" page, it will not be shown.

groups_06_find_groups.png

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.

group_07_page_edit.png

Migration of existing groups

Groups that already exist need to be migrated. Depending on the existing group type, they will have certain default settings.

Setting open invite request standard-controlled course-controlled course-request
join x
suggest friends x
invite friends
request membership x x
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
submit pages 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