Feature Wiki

Information about planned and released features

Tabs

Select custom fields in sort columns to customize user overview

1 Initial Problem

User administration: At present it´s only possible to select standard fields in column selection for defining a user-specific list layout in user overview. But sometimes these fields would be useful in the administration screen, too.

2 Conceptual Summary

The column selection should allow to activated custom fields for the table. It should be possible to sort according to these fields, too. Additionally it should be possible to activate a filter element as "Optional Filters" (see learning progress screens) to be able to use custom fields for filtering.

Optional Filters in the LP screen

3 User Interface Modifications

3.1 List of Affected Views

  • Administration > User Management

3.2 User Interface Details

User Management Screen

  • Modify Columns Drop Down: This drop down is extended with options for each custom field.
  • New Table Columns: If activated, new columns for the custom fields will appear in the table. Columns of custom types "Text Field" and "Selection List" will be sortable (alphanumerical sorting). Columns of type "Text Area" will not be sortable (uses a CLOB internally and may contain HTML).
  • New Optional Filters Drop Down: A new optional filters drop down will be introduced like the one already existing in the learning progress views (see screenshot above). This drop down will include all custom(!) user fields of types "Text Field" and "Selection List". Columns of type "Text Area" will not be selectable as filters.
  • New Table Filter Elements: If activated, new filter elements for custom fields will be presented. Text fields will be presented as text input filters (one line). Selection list fields will be presented by a selection input field (drop down) with a "All" default option at the top. As usual multiple filters can be combined to narrow down the results in the table.

3.3 New User Interface Concepts

No new user interface concepts.

4 Technical Information

There will be a decreasing performance with each custom field that is added to the table presentation or to the filter. Since the custom fields are stored in a key/value like fashion, we need to JOIN the corresponding table (in this case udf_text) for each field separately (three fields means three JOINs). Simplified example for two fields:

SELECT u.usr_id,u.login, ...., ud5.value u5, ud6.value u6
FROM usr_data u
LEFT JOIN udf_text ud5 ON (ud5.field_id=5 AND ud5.usr_id=u.usr_id)
LEFT JOIN udf_text ud6 ON (ud6.field_id=6 AND ud6.usr_id=u.usr_id)
WHERE u.usr_id <> 13
ORDER BY u.login ASC

5 Contact

  • Author of the Request: René Sens, Bundesverwaltungsamt, rene.sens@bva.bund.de
  • Maintainer: Stefan Meyer
  • Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}

6 Funding

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

  • ...

7 Discussion

JourFixe, ILIAS [jourfixe], March 13, 2017: We highly appreciate this suggestion and schedule it for 5.3. Creation of table indices should be checked for UDF tables.

8 Implementation

Select custom user fields as columns:

Activate custom user fields as optional filters:

Test Cases

Test cases completed at 15 May 2017 by Killing, Alexander [alex]

  • Added 18445: Spalten der Übersicht konfigurieren
  • Added 18446: Filter der Übersicht konfigurieren

Approval

Tested successfully and approved at 27.07.2017 by Sens, René

Last edited: 23. Aug 2017, 11:15, Killing, Alexander [alex]