Feature Wiki

Information about planned and released features

Tabs

Centralizing Search User Form

If you need any help in filling out this wiki page, please visit our ILIAS Community FAQ. And please complete the metadata information in the right column after having created the page.

1 Initial Problem

The "Add User" functionality is used in different places: Add members in groups, courses, and study-programmes, add users to Roles, add contributors in Blogs . This form is clunky, based on Legacy-Forms in the Legacy-Toolbar, and has an autocomplete feature not present currently in the UI-Components forms. Additionnally it supports adding multiple users, but the mechanism is not discoverable.

2 Conceptual Summary

We propose:

  • To move the 5 current search options to a dropdown "Add User" with the same 5 options:
    • Simple User Search
    • Extended User Search
    • Find Users in Roles
    • Find Users in Courses
    • Find Users in Groups
  • To open the corresponding search forms in a roundtrip modal that might have multiple steps.
  • To present the simple user search form, as a Tag-Input (or an equivalent alternative with another name).
  • To present the form to select the filtered users as a Multi-Select-Input (currently a legacy table).

3 User Interface Modifications

3.1 List of Affected Views

  • Add User to Role
  • Permissions of User (other solution will be needed)
  • Blog > Contributors
  • Bookingpool > Participants
  • Consultation Hours > Assign Users (other solution will be needed)
  • Course > Membership
  • Group > Membership
  • Exercise > Submissions and Grades
  • Exercise > Manage Team
  • Forum > Moderators
  • Individual Assessment > Members
  • Learning Sequence > Membership
  • Organisational Unit > User Assignment
  • Employee Talks > (unsure where exactly)
  • Session > Membership
  • Study Programme > Assignments
  • Survey > Raters
  • Test > Participants

3.2 User Interface Details

{ For each of these views please list all user interface elements that should be modified, added or removed. Please provide the textual appearance of the UI elements and their interactive behaviour. }

3.3 New User Interface Concepts

The Tag-Input will be used for the Simple User Search.

3.4 Accessibility Implications

{ If the proposal contains potential accessibility issues that are neither covered by existing UI components nor clarified by guidelines, please list them here. For every potential issue please either propose a solution or write down a short risk assessment about potential fallout if there would be no solution for the issue. }

4 Technical Information

{ The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues. }

5 Privacy

The user search is a difficult element when it comes to privacy. On the one hand, a lecturer wanting to add students to her course has a far easier life, if she can search all registered users, on the other hand, participants have the right to an adequate protection of their privacy. Fundamentally this Feature should not change anything about the current state, but it will be very important to implement the feature in way that makes it easy for programmers to use it, without hurting the privacy of the users.

6 Security

The user search is a difficult element when it comes to security. It is very easy to make a mistake and give a user far too much access, especially as the information will need to be loaded asynchronously. It will be important for the implementation to make it as easy as possible for the consumers of the search to restrict access correctly.

7 Contact

8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

9 Discussion

10 Implementation

{ The maintainer has to give a description of the final implementation and add screenshots if possible. }

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Privacy

Information in privacy.md of component: updated on {date} by {user} | no change required

Approval

Approved at {date} by {user}.

Last edited: 6. Mar 2024, 08:14, Samoila, Oliver [oliver.samoila]