Ability to select and display columns in the User search results display

Ability to select and display columns in the User search results display

Context

Overview

The current User search results are limited to displaying only six predefined data elements: Name (default), Active, Barcode, Patron group, Username, and Email.

While users can use the Action menu to toggle the visibility of most of these columns (except "Name"), there is no way to add or configure additional columns. This limitation restricts the flexibility of the interface for library users who need to view other important fields, such as birthdate, expiration date, or external system ID.

So, the goal is to introduce a configurable option in the User settings that allows library users to select additional columns for display in the User search results. These configured columns would then appear as options within the current Action menu, enabling users to easily show or hide them in the search results as needed.

This enhancement will provide greater customization and flexibility.

Related Jira Issues

Proposed approach

The important point is that data for all fields/columns is already in the server response:

Active
Barcode
Patron group
Username
Email
Birth date
External System ID
Expiration date
Mobile phone
Department - this is what needs to be checked (there is an array departments[] in the server response, but on the test environment it is always empty; probably the data is simply not filled in)
image-20250605-134318.png

Therefore, the scope comes down to 2 main parts - adding a new setting to allow selection of a set of columns, and using this setting when displaying on the UI.

Task list

  1. Settings UI App - add new setting for columns configuration

    1. ui-users - add a new section according to the mockup, call the backend API to work with the setting

    2. mod-users - add storing a new setting (data schema + CRUD + API)

      1. Note: The discussed setting is required only for the Users UI application. So, according to this decision record DR-000039 - Distributed vs. centralized configuration, the setting data must be stored in the backend module mod-users

  2. Users UI App - add the reading of the setting and its application when displaying User search results

    1. ui-users - call mod-users API to get the column names and display them in the Action menu

      1. Note: Data for all fields/columns is already in the server response

Outstanding questions

  1. Do we need a feature flag to enable/disable this functionality, or will it be available to everyone?

  2. What is the order of columns displayed in the User search requests table on the page? Should it be configurable?

  3. Should the "standard" fields Active, Barcode, Patron group, Username, and Email be selected by default in the new setting?