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

sig#919 - Enable technical User Page to create multiple technical Users #1305

Open
8 tasks
MaximilianHauer opened this issue Nov 8, 2024 · 9 comments
Open
8 tasks
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@MaximilianHauer
Copy link

MaximilianHauer commented Nov 8, 2024

Description

As a creator of a new App/Service
When i register a new App/Service
Then i want to be able to choose 1-5 technical Users i want to create and what roles should be assigned per user.

These Pictures are Mocks please ensure to comply to the FOSS design guideline

image
image
image
image
image
image

Acceptance Criteria

  • As a User, WHEN I load the Technical Integration page, THEN I should be able to add a technical User.
  • As a User, WHEN I load the Technical Integration page, THEN I should be able to select a checkbox that indicates I do not need a technical user.
  • As a User, WHEN I load the Technical Integration page, THEN I should be able to access the common navigation options: "Back", "Save", and "Proceed".
  • As a User, WHEN I click "Add technical user", THEN I want to be able to choose between an "internal technical user" and "external technical user" radio button.
  • As a User, WHEN I select the "internal technical user" radio button, THEN I want to see all the roles and be able to select multiple roles.
  • As a User, WHEN I select the "external technical user" radio button, THEN I should be able to select only one role (radio button).
  • As a User, WHEN I have selected some roles in the "internal technical user" section and then press the "external technical user" button, THEN the previous selection should be removed.
  • As a User, WHEN I have added some technical users, THEN I want to be able to view, edit, and delete them in the Technical Integration overview page.

Test Cases

Test Case 1: Verify that the user can add a technical user on the Technical Integration page

Steps:

  1. Navigate to the Technical Integration page
  2. Verify that the "Add technical user" option is present
  3. Click on the "Add technical user" option
  4. Verify that the user is able to choose between "internal technical user" and "external technical user" radio buttons

Expected Result:

  • The user should be able to add a technical user on the Technical Integration page
  • The user should be able to choose between "internal technical user" and "external technical user" radio buttons

Test Case 2: Verify that the user can select a checkbox to indicate they do not need a technical user

Steps:

  1. Navigate to the Technical Integration page
  2. Verify that the "I do not need a technical user" checkbox is present
  3. Select the "I do not need a technical user" checkbox

Expected Result:

  • The user should be able to select the "I do not need a technical user" checkbox

Test Case 3: Verify that the user can access the common navigation options on the Technical Integration page

Steps:

  1. Navigate to the Technical Integration page
  2. Verify that the "Back", "Save", and "Proceed" options are present

Expected Result:

  • The user should be able to access the "Back", "Save", and "Proceed" options on the Technical Integration page

Test Case 4: Verify that the user can select the "internal technical user" radio button and choose multiple roles

Steps:

  1. Navigate to the Technical Integration page
  2. Click on the "Add technical user" option
  3. Select the "internal technical user" radio button
  4. Verify that the user is able to select multiple roles

Expected Result:

  • The user should be able to select the "internal technical user" radio button
  • The user should be able to select multiple roles

Test Case 5: Verify that the user can select the "external technical user" radio button and choose only one role

Steps:

  1. Navigate to the Technical Integration page
  2. Click on the "Add technical user" option
  3. Select the "external technical user" radio button
  4. Verify that the user is able to select only one role

Expected Result:

  • The user should be able to select the "external technical user" radio button
  • The user should be able to select only one role

Test Case 6: Verify that the previous role selection is removed when the user switches from "internal technical user" to "external technical user"

Steps:

  1. Navigate to the Technical Integration page
  2. Click on the "Add technical user" option
  3. Select the "internal technical user" radio button and choose some roles
  4. Select the "external technical user" radio button

Expected Result:

  • The previous role selection made in the "internal technical user" section should be removed when the user switches to the "external technical user" radio button

Test Case 7: Verify that the user can view, edit, and delete technical users in the Technical Integration overview page

Steps:

  1. Navigate to the Technical Integration page
  2. Add some technical users
  3. Navigate to the Technical Integration overview page
  4. Verify that the added technical users are displayed
  5. Verify that the user can edit and delete the technical users

Expected Result:

  • The user should be able to view the added technical users in the Technical Integration overview page
  • The user should be able to edit and delete the technical users

Additional Information

@MaximilianHauer MaximilianHauer added the enhancement New feature or request label Nov 8, 2024
@MaximilianHauer MaximilianHauer added this to the Release 25.03 milestone Nov 8, 2024
@github-project-automation github-project-automation bot moved this to NEW USER REQUEST in Portal Nov 8, 2024
@MaximilianHauer
Copy link
Author

MaximilianHauer commented Nov 8, 2024

@Cofinity-UX do you want to provide some feedback ?

@Cofinity-UX
Copy link

@MaximilianHauer
In terms of UX this technical user extension creates more complexity on this screen. Since the technical integration step also includes the adding of app roles, it would be better to separate these two interactions in 2 different steps for the sake of cognitive load reduction. Is this planned?

Further questions/remarks:
If a user can add more than one technical user, should they be able to provide name and description (as in the regular technical user creation in the Portal)?
Is there a limit of created technical users? In case of more than one created technical user, there must be a usable overview for the user to view and edit the configurations. To repeat the whole list of external and internal technical users would unnecessarily overload the page. We could think about a modal option here (add technical user button opens a modal where everything can be configured. After confirmation the technical user shows up in e.g. a list and can be easily viewed and edited).

@MaximilianHauer
Copy link
Author

In terms of UX this technical user extension creates more complexity on this screen. Since the technical integration step also includes the adding of app roles, it would be better to separate these two interactions in 2 different steps for the sake of cognitive load reduction. Is this planned?

Currently its not planned to seperate it but if you have a good idea or a mockup that explains our frontenders how to split this i would be more than happy.

Further questions/remarks:
If a user can add more than one technical user, should they be able to provide name and description (as in the regular technical user creation in the Portal)?
Is there a limit of created technical users? In case of more than one created technical user, there must be a usable overview for the user to view and edit the configurations. To repeat the whole list of external and internal technical users would unnecessarily overload the page. We could think about a modal option here (add technical user button opens a modal where everything can be configured. After confirmation the technical user shows up in e.g. a list and can be easily viewed and edited).

In the registration of an app we define more like "templates" of the technical user that will be created later on. The naming of these technical users is then done during creation as soon as someone if subscribing the app/service and therefor receives his users.
Limitation should be configurable but i would limit it to maximum 5 for the moment.

@MaximilianHauer
Copy link
Author

MaximilianHauer commented Nov 11, 2024

@Cofinity-UX what do you think about something like this as an approach ?
it would make it easier for the customer to iterate through the technical users and their roles. the

image

@Cofinity-UX
Copy link

@MaximilianHauer once again, simplification and reduction is the key. We could use existing components and behaviour to make this process easier.
1 + 2: initial step is for setting the scene and explaination of what is needed and why + 1st decision: technial user yes or no (is there still the possibility of apps not requiring any technical users? If not, the checkbox can be removed.
3 + 4 + 5: adding a technical user works via CTA and opens a modal – behavior is than same as in technical user creation (same interaction should always be implemented the same, simplifies the process and speeds up process due to recognition of interaction)
6: technial user is added into list (on hover tooltips can appear if not all technical user roles can be displayed in table), edit button opens modal again for configuration, delete button triggers a confirmation popup ("are you sure you want to delete....") followed by a toast message for confirming action (I havent drafted these two, but I guess it's clear).
TBD if ticking the checkbox (if it stays an option) after technical users are created, will only disable the table but keep the technical user or delete all the created items (edgecase, a user changes their mind).

We can gladly discuss in detail in a meeting session, if needed.

FYI: In the screens attached I already separated the "app roles & permissions" and the "technical integration".

01initial
02notechuser
03modalinitial
04modalselection1
05modalselection2
06techuser

@MaximilianHauer
Copy link
Author

thank you for the mocks and explanation :) clearly much more logical to include it as you proposed.

@MaximilianHauer
Copy link
Author

updated acc and test cases accordingly , included your mocks into description

@MaximilianHauer MaximilianHauer moved this from NEW USER REQUEST to BACKLOG in Portal Nov 13, 2024
@manojava-gk manojava-gk self-assigned this Dec 12, 2024
@manojava-gk manojava-gk moved this from BACKLOG to IN PROGRESS in Portal Dec 12, 2024
@manojava-gk manojava-gk moved this from IN PROGRESS to IN REVIEW in Portal Jan 15, 2025
@MaximilianHauer
Copy link
Author

as mentioned the "multiple user" functionality is missing therefor routing it back to in progress

@MaximilianHauer MaximilianHauer moved this from IN REVIEW to IN PROGRESS in Portal Jan 15, 2025
@MaximilianHauer
Copy link
Author

adjustments discussed with @Phil91 & @manojava-gk

  • Change Header to "Technical Userprofile"
  • rename Button to "Add Technical Userprofile"
  • add a new column "Technical user profile"
  • newly added profiles receive the name "Technical Userprofile X" X= number counting up
  • add edit button and delete button + functionality
  • call api to create all configured technical user profile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: IN PROGRESS
Development

No branches or pull requests

3 participants