Groups of Users


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

Background and goals

To implement this we need:


  1. UI under the user area to create and manage a deck
    1. Addition option under Username dropdown to access Groups. This should be available for all users and list all the groups they belong to.
    2. on the Group page "Add New Group" takes you to a new page to create a new group and add users.
    3. Settings button allows the owner to edit the group (e.g. add and remove users). This should only be enabled for group owners








  2. UI under deck edit to allocate an existing group to a deck to give permissions to edit the deck.
    1. this should be disabled if the user is not the owner of the deck
      DeckEdit UI mockup

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

number, autoincrementyesisInteger



namestringyes 

timestampstringyesauto generated

descriptionstringno


isActivebooleanno


membersarray of membersno

{userid, joined}

creatornumberyes

userid



Deckservice → has property Group

Deck service → Contributors lists the users who have made edits on a slide, this should include


platform -> user service -> platform -> deck service

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionAsked byOutcome

 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!

Do we define different roles for group members? e.g. editor, owner, etc.
FOR THE FUTURE!
Do we want to provide info about active groups on home page?
FOR THE FUTURE!
Shouldn't a user be able to assign multiple groups write access to a deck?KurtAlso Abi thinks this should be possible. As this gives a tiny additionally implementation cost this will be ready for december.

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.

User profile should display which groups a user is a member of and allow users to leave a group (implement later)


FeatureStatus
  

Source material for user/stakeholder feedback