•  
     
    story #13490 have a consistent management of project & groups members
Summary
project admin
have a consistent management of project & groups members

I can easily add/remove people to/from groups

1. Global consistency for private projects

This covers "Private" as well as "Private incl. Restricted" users. In both case, the management of restricted is not modified.

Scenario 1:

  • Given a user, not already project member
  • When I add her to any user group of the project (either "dynamic" like project admin, or static like "Developers)
  • Then the user is also added as project member.
  • And I have a "Warning" feedback telling me that user was also added as member of the project

2. Add a Synchronous Management of project members

Synchronous Project Member management means that there is no needed to explicitly managed "project_members" group in most cases, admins just have to add or remove people from groups and everything is kept in sync.

This is a new option at project administration level "Synchronous Project Members Management", it's set to "Off" by default. So, for existing installation, at the end of this story, nothing change except the "Global consistency for private projects" part.

When "Synchronous Project Members Management" is switched "On" for a project:

Scenario 2.1:

  • Given a user, not already project member
  • When I add her to any user group of the project
  • Then the user is also added as project member.
  • And I have a "Warning" feedback telling me that user was also added as member of the project

Scenario 2.2:

  • Given a user member of one user group of the project (admin, developers, ...)
  • When I remove her from project_member
  • User is also removed from all the other groups she belongs to
  • And I get a feedback message to inform me about that

Scenario 2.3:

  • Given a user member of one user group of the project (admin, developers, ...)
  • When I remove her from one group execpt project_member
  • Then I'm getting a confirmation modal "Do you want to remove XXX from the project ? XXX is also member of [list of groups] ?" with 3 options
    • "Yes, I want to remove XXX from the project"
    • "No, I want to remove XXX only from YYY group"
    • Cancel
  • And the user is removed from groups according to the choice above

Scenario 2.6:

  • When a user_group is removed
  • Then a confirmation modale is displayed to inform admin that users will remains project_members

Scenario 2.7

  • When a project with "synchronized project members" is used as a project template
  • Then on project creation, all user groups are duplicated with their members
  • And project members is duplicated with all members except project administrators
    • that would mean that administrators of templates would become member of all projects that are created on this base.

Scenario 3.0

  • When project visibility change from private to public
  • Then the flag "Synchronous Project Members Management" must be kept on (admin can disable if they want to)
Empty
Geoffroy Grelot (ggrelot)
Status
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
Empty
Details
#13490
Manuel Vacelet (vaceletm)
2019-07-23 15:12
2019-06-14 16:17
3877

References
Referencing story #13490

Git commit

tuleap/tuleap/stable

Follow-ups