Requirements
- to allow users to create a group of user
- to allow deck creators to allocate a group to have editor permissions on a deck
- to allow deck creators to allocate a group to add comments / questions to a deck
- to allow deck creators to allocate a group to add comments / questions to a deck
Background and goals
To implement this we need:
- UI under the user area to create and manage a deck
- Addition option under Username dropdown to access Groups. This should be available for all users and list all the groups they belong to.
- on the Group page "Add New Group" takes you to a new page to create a new group and add users.
- Settings button allows the owner to edit the group (e.g. add and remove users). This should only be enabled for group owners
- User profile should display which groups a user is a member of and allow users to leave a group (implement later)
- UI under deck edit to allocate an existing group to a deck to give permissions to edit the deck.
- this should be disabled if the user is not the owner of the deck
- this should be disabled if the user is not the owner of the deck
A similar option should be added to the Add deck screen.
Data models that will be impacted:
- User service
- Deck Service
Assumptions
- everyone is a member of "public" group
- everyone can create a group
- a user can be member of multiple groups
- a user can choose to leave groups
- the group owner can remove users
User interaction and design
Description of fields/input/elements + validation + test scenarios
Group is part of the user service and has properties:
- Owner
- Date of creation
- Name
- Description
- Members (many)
- Active
User Service > Group
property | type | required | format checking | state of implementation | Remarks |
---|---|---|---|---|---|
id | objectId, autoincrement | yes | isInteger | ||
name | string | yes | |||
timestamp | string | yes | auto generated | ||
description | string | no | |||
isActive | boolean | no | |||
members | array of members | no | user ids | ||
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Asked by | Outcome |
---|---|---|
What happens when a user is removed from a group? Do they lose rights to edit a deck they have made contributions to in the past or do they remain an "active" contributor? | Propose - user rights are removed for now | |
Do we "invite" users to group or automatically add them? | Propose - user received notification and then option to leave group | |
Do we allow groups to be "owned" by multiple users or transferred between owners? | FOR THE FUTURE! |
Not Doing
In D2.2 SlideWiki diff/merge module, it is proposed that groups of editors is managed through users belonging to an organisation (4.4.1). This has 2 limitations we wish to avoid:
- all members of organisation should not be given editing rights to all decks. Users could include students at the organisation or from a very different part of the organisation
- editors may be from a different organisation where colleagues wish to collaborate on a deck.
In future we are likely to need to manage a group of users for a deck who don't have editing rights (e.g. students). We can either extend the group functionality to have roles within groups or sub -groups OR allow decks to have different groups assigned for different permissions.
Feature | Status |
---|---|
Source material for user/stakeholder feedback