Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Usecase: User manages group #18

Open
servilla opened this issue Nov 2, 2023 · 0 comments
Open

Usecase: User manages group #18

servilla opened this issue Nov 2, 2023 · 0 comments
Assignees
Labels
SPU Seattle Public Utilities usecase User scenario description in high-level english

Comments

@servilla
Copy link
Collaborator

servilla commented Nov 2, 2023

User management service to enable the management of a user-created group.

Story: User/Group Management and Microsoft SSO #3

Goal:
Allow a user to add another user to a group.

Actors:

  1. User
  2. System

Prerequisites:

  1. User "A" is authenticated.
  2. Group owned by User "A" exists.

Actions:

  1. User "A" selects "manage user profile".
  2. System displays "manage user profile" menu.
  3. User "A" selects "manage groups" menu item.
  4. System displays list of groups.
  5. User "A" selects group from list of groups.
  6. System displays "manage group" menu items, including "add user", "delete user", "list users", "change group name", "delete group", and "transfer group".

Main: Add user

  1. User "A" selects "add user" menu item.
  2. System displays "add user" text form field
  3. User "A" enters User "B" into form field and selects submit.
  4. Systems displays pending membership for User "B".
  5. System sends confirmation request of group membership to User "B". (asynchronously)
  6. User "B" confirms group membership. (asynchronously)
  7. System creates relationship between User "B" and group.
  8. System displays User "B" as active member of group. (asynchronously)

Alternate 1: Delete user

  1. User "A" selects "delete user" menu item.
  2. System displays "delete user" drop-down form field of all group members.
  3. User "A" selects User "B" from drop-down form field and selects submit.
  4. System displays "delete confirmation" message.
  5. User "A" selects confirm delete.
  6. System removes User "B" relationship from group.
  7. System displays "manage group" menu item.

Alternate 2: List users

  1. User "A" selects "list users" menu item.
  2. System displays list of group membership with hyperlink to "delete user" for each user member. (see Delete user)

Alternate 3: Change group name

  1. User "A" selects "change group name"
  2. System displays text form field with current group name.
  3. User "A" modifies group name and selects submit.
  4. System updates group name.

Alternate 4: Delete group

  1. User "A" selects "delete group" from menu item.
  2. System displays "delete confirmation" message.
  3. User "A" selects confirm delete.
  4. System removes all group entries.

Alternate 5: Transfer group

  1. User "A" select "transfer group" menu item.
  2. System displays "transfer group" drop-down form field of all group members.
  3. User "A" selects User "B" from drop-down form field and selects submit.
  4. System updates group ownership from User "A" to User "B".
  5. System refreshes User "A" manage group list without group.

Notes:

  1. An individual user may own 0 to many groups.
  2. Groups are owned by only a single user.
  3. Only users may be a member of a group (no groups within groups).
  4. Groups will have an internal UID that is associated with the group name to ensure group uniqueness (allowing non-unique group names).
  5. Groups will be tracked in a database table where a 0 to many users to one group relationship may exist.
  6. A group table entry will also hold the UID of the owner.
@servilla servilla added usecase User scenario description in high-level english SPU Seattle Public Utilities labels Nov 2, 2023
@servilla servilla self-assigned this Nov 2, 2023
@servilla servilla moved this to Usecase in Consolidated Issues Nov 2, 2023
@servilla servilla changed the title Usecase: Manage "group" users Usecase: Add user to group Apr 16, 2024
@servilla servilla changed the title Usecase: Add user to group Usecase: User manages group Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SPU Seattle Public Utilities usecase User scenario description in high-level english
Projects
Status: Usecase
Development

No branches or pull requests

1 participant