SEMOSS / semoss-ui

Apache License 2.0
16 stars 3 forks source link

[TASK] Team Member Permissions #125

Open iclyn-taero opened 3 months ago

iclyn-taero commented 3 months ago

Problem Users want to manage permissions at the group level in order to increase efficiency and oversight of apps and engines.

Requirements

Assumption: Admins can see all teams created on the platform; non-admins can only see which teams they are apart of

Admin functions:

Constraints

Figma link https://www.figma.com/file/9gIqLnOoJuVQZCDPOrplXa/Member-%26-Team-Permissions?type=design&node-id=1%3A2&mode=design&t=4LrZyGYVTOzhDf1I-1

tombetthauser commented 2 months ago

Currently Working / Tested:

Currently Not Working:


Potential Options:

johbaxter commented 2 months ago

@kunal0137 - Was discussed to pass this to USI in sprint call (pk and kunal)

@themaherkhalil FYSA

tombetthauser commented 3 weeks ago

Potential Tickets

Can create tickets for these if the list looks appropriate. Not sure about priority levels or if we want to consolidate these into a shorter list.


1. Team Access to App Dependencies

Adding an app does not currently affect team access to app dependencies.

2. Admin Notification for Dependency Permissions

No notification currently signals to the team admin that the app will not work for members without dependency permissions. Priority might be medium.

3. Team Permission Settings and Discoverability

Team permission settings do not currently seem to affect discoverability. Priority might be high.

4. Project Addition to Team

Adding a project to a team does not add the project to My Apps or make it discoverable for team members. Priority might be high.

5. Permission Upgrades/Downgrades

Upgrading or downgrading permissions in a team does not affect permissions for team members. Priority might be high.

6. Individual Management of Discoverability and Permissions

Discoverability and permissions have to be managed for all team members and dependencies individually. Priority might be medium.

7. Dependency Permissions in Team Settings

Dependency permissions in team settings persist but do not seem to affect or override team member * permissions to dependencies. Priority might be high.

8. Team Deletion and Dependency Permissions

Deleting a team does not currently affect dependency permissions for team members. Priority might be medium.

9. Notification of Team Removal

Team members do not seem to be notified of removal from the team or the team being deleted. Priority might be medium.

10. Conflicting Permission Levels

Dependency permissions in dependency settings for individual members do not indicate that they may have conflicting permission levels in team settings. Priority might be high.

11. Resolution of Permission Conflicts

There does not seem to be a way to currently resolve conflicts between team permissions and individual member permissions on dependencies. Priority might be high.

12. Changing Team Member Permissions

editEngineUserPermissions and editProjectUserPermissions might be used to change team member permissions on changes in team settings. Priority might be medium.

13. Information on Permission Conflicts

getProjectUsers, getEngineUsers running on individual dependency settings don't seem to return information needed to inform the user that dependency may have conflicting permission settings on a team. Priority might be high.

14. Team Deletion and Permission Handling

Unclear if deleting a team should remove all permissions if the dependency isn't present in other teams or default back to permissions in individual dependency member settings. Priority might be medium.

15. Handling Permission Conflicts Across Multiple Teams

getProjectsForGroup and getEnginesForGroup may not return info needed to cover permission conflicts between multiple teams. Unclear how we would want to handle this. Priority might be medium.