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:
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
Settings UI App - add new setting for columns configuration
ui-users - add a new section according to the mockup, call the backend API to work with the setting
mod-users - add storing a new setting (data schema + CRUD + API)
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
Users UI App - add the reading of the setting and its application when displaying User search results
ui-users - call mod-users API to get the column names and display them in the Action menu
Note: Data for all fields/columns is already in the server response
Outstanding questions
Do we need a feature flag to enable/disable this functionality, or will it be available to everyone?
What is the order of columns displayed in the User search requests table on the page? Should it be configurable?
Should the "standard" fields Active, Barcode, Patron group, Username, and Email be selected by default in the new setting?