Feature Wiki

Information about planned and released features

Tabs

Split-Up Standard Fields Table and Move to DataTable

1 Initial Problem

With ILIAS 10 we will want and have to move the current table showing the list of Standard Fields for the user profile to a DataTable from UI-Components. This will lead to a few changes as the current implementation relies on form inputs inside the table. Additionally this table presently mixes Profile Fields and User Settings. 

2 Conceptual Summary

The Standard Fields will be Split-Up. The Profile Fields ("First Name", "Last Name", "Title, Birthday", "Salutation", "Avatar", "General Interests", "Offering Help", "Looking for Help", "Institution", "Department", "Street, Zip Code / Post Code", "City, State", "Country (Drop Down Selection)", "Phone, Office", "Phone, Home", "Phone, Mobile", "Fax", "E-Mail", "Second E-Mail", "Interests/Hobbies", "How did you hear about ILIAS?", "Matriculation Number", "Roles", "Organisational Units") will be shown together with the "Custom Fields" and the "User Profile Info" in a new Tab "User Profile".

The Remaining Fields ("Password", "Language", "Default Skin / Style", "Hits/Page", "Show your Account in "Who-is-Online", "Allow Contact Requests", "Allow On-Screen Chat Conversations", "Broadcast Typing", "Preferences", "Incoming Mail") will be kept in the Tab "Settings", but renamed to "User Default Settings".

We propose to get rid of the Field "Country (Free Text Input)" for new installations. For existing installations two migrations will be provided:

  • You can either drop the field completely.
  • Or you can move it to a Custom Field.

The two tables will be moved to a DataTable. The following changes will be made:

  • The table will become read only.
  • Each row will have the action "Edit".
  • "Edit" will be opened in a RoundtripModal.

The table under "User Profile" >> "Standard Fields" will additionally have the following changes:

  • The setting "Required", now under "Access" will receive its own column.
  • The column "Export / Search" will be split up into two columns "Exportable" and "Visible in Certificates". All fields will have the option to be set as "Exportable" and/or "Searchable".
  • The table will not need a column "Default".

The table under "Settings" >> "User Default Settings" will additionally have the following changes:

  • The column "Export / Search" will be renamed to "Exportable". All fields will have the option to be set as "Exportable".
  • The table will have a column "Default Value". This column will be of the type "Text".

3 User Interface Modifications

3.1 List of Affected Views

  • Administration -> Users and Roles -> User Management -> Settings -> Standard Fields

3.2 User Interface Details

Shows the tab-bar in the Settings of the ILIAS User Management, containing a new tab "User Profile". The tab "Settings" is selected and shows the sub-tabs "Administrative Settings", "User Settings", "New Account Mail", and "Starting Points".
New reduced sub-tabs under "Settings" where "General Settings" has been renamed to "Administrative Settings", "User Default Settings" have been added and "Standard fields", "Custom Fields", and "User Profile Info" have been removed.
New table for User Default Settings
Shows the tab-bar in the Settings of the ILIAS User Management, containing a new tab "User Profile". The tab "User Profile" is selected and shows the sub-tabs "Standard Fields", "Custom Fields", and "User Profile Info".
New tab "User Profile" with sub-tabs "Standard Fields", "Custom Fields", and "User Profile Info".
New table for Standard User Profile Fields

3.3 New User Interface Concepts

It is proposed to add a new column type `Listing` that only accepts listings.

3.4 Accessibility Implications

Ensuring accessibility will be simplified by moving to the UI-Components.

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

{ Please list all personal data that will need to be stored or processed to implement this feature. For each date give a short explanation why it is necessary to use that date. }

6 Security

Ensuring security will be simplified by moving to the more consistent and standardized methods of data retrival provided by the DataTable.

7 Contact

8 Funding

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

9 Discussion

Samoila, Oliver [oliver.samoila], 22 JAN 2024 : Suggestion: Splitting the form list in the modal into form sections:

General Information
  Field Name
  Field Type

Access
  Visible in Personal Data
  Visible In Registration
  Visible In Local User Administration
  Visible In Courses
  Visible In Groups
  Visible in Study Programmes
  Changeable in Profiles
  Changeable in Local User Administration

Field Settings
  Required
  Exportable
  Searchable 

JourFixe, ILIAS [jourfixe], 22 JAN 2024: Suggestion is highly appreciated and feature scheduled for ILIAS 10. The current suggestion violates the guideline from the KS and the Guideline for presenting Actions buttons in tables. There might be good reasons to always have a dropdown (also when only one action is available). Stephan will discuss the issue with the KS coordinators and UI/UX experts and probably suggest a change of the guideline(s).

JourFixe, ILIAS [jourfixe], 06 JAN 2025: We still like to have this improvement and re-schedule the feature for ILIAS 11.

Kergomard, Stephan [skergomard], 06 JUN 2025:

During the development of this feature it became progresively clearer to me, that this feature request doesn't go far enough in the clean-up, so I suggest the following changes, to clarify its structure and make it possible to manage these settings reasonably:

  • The tabs are reduced to three: Settings, Password, and Delete Account (if everything is activated).
  • The settings in the «Settings»-tab are grouped into sections, only the first one will be shown by default, the others are only opened if the user has changed one of the settings from its side-wide default configuration.
  • Currently four sections are available:
    • Main: Settings in this section are shown directly. Currently it only contains the language setting.
    • Date and Time
    • Communication
    • Additional Settings
  • All settings need to have the option to define their visibility in Administration/User/Settings/User Settings. Settings that do not have this right now, will be set to visible on update.
  • Only two visibility settings are provided “Changeable in User Settings” and “Changeable in Local User Administration”. The visibility settings are nonsensical in this case.
  • The option to set a default value will be removed. The corresponding settings will be distributed. They cannot be seen as “default values” they are actually the global settings of a component, ie. the component Mail will notify it’s users. The only question the settings of the user do answer is, if the user is allowed to change that. On the other hand the option to make the setting of a starting point possible by the user will be moved here (it then is a simple question of the input being available or not).
    • "Show Your Account in ‘Who-Is-Online?" will be moved to the administration of "Who-Is-Online"-tool.
    • "Allow Contact Requests" will be moved to the administration of the user contacts.
    • "Allow On-Screen Chat Conversations" and "Broadcast Typing" will be moved to the administration of the chat.
    • "Incoming Mail" will be moved to the administration of Mail and an additional setting for “New Mail Notifications” will be added.
    • "Session Reminder" will be kept in the user and moved to Authentication as soon as a more viable settings form exists there.
  • It is suggested to rename the input to set the format of the Date from “Date Input Format” to “Date Format”. It is a reality that it is used in this way in many places and this should be acknowledged.
  • The setting to make username changeable by the user, will be moved to the default pattern (ie. it is set by a visibility setting in the table) and removed from the users administrative settings. The corresponding sub-settings will be grayed out, if the username is not visible to the user, the byline will provide the necessary information.
  • Small language change: The column will not be called “Exportable”, but the original “Export”, as it is not exportable, but simply will be exported, leaving the exporter no choice.
  • Components can provide settings by implementing an interface. Currently the contributions are collected during setup, in the future this should happen at runtime, allowing the injection of dependencies.
  • The separate table for the custom fields in the profile will be removed. There is no stringent reason to separate the two. There will simply be fields that can be deleted and others that cannot. To make the fields easily distinguishable a column “type” will be added to the table. This will thus incorporate the feature request Move Custom Fields to Data Table  into this one. 
  • When creating a custom field an option to select the section it will be shown in, is provided. There is no way to add additional sections.
  • The plugin slot to add field types will be removed and replaced by a simple mechanism collecting the available types.
The new configuration for user settings, without the information for visibility and without default value.
Simplified Settings Configuration
In the personal settings form a section will only be shown, if the user has actually personalised something. Otherwise the section will be collapsed but showing the default values.
Restructured Personal Settings Form
The unified configuration for profile fields only shows two subtabs in "Profile" one for the "Profile Fields" and one for the "User Profile Info". The Table has a button to add a new field and shows the type of the field in the list.
The unified configuration for profile fields
The edit field dialog shows a first section showing the type of the field, a field to edit the available values if available and a dropdown to select the section the field should be shown in. Two additional sections provide checkboxes to select where the field will be available and some additional field settings respectively.
The form to edit a custom field. The form to edit a default field will be identical, but lacking the first section "Properties"
The dialog is basically identical to the edit dialog, but the type of the field is presented as a switchable group, containing an additional input, if available.
The create custom field dialog

Questions

  • A column showing the system value for the settings could be shown in the table, if desired.
  • There is a setting called “Preferences” (“Benutzerspezifische Einstellungen”) with the quirk that it cannot be switched off for the “Profile”. I was completely unable to figure out, what it should do. It will be removed, if nobody can clarify what we expect from it.

JourFixe, ILIAS [jourfixe], 23 JUN 2025: We highly appreciate Stephan's suggestion and accept the suggested changes as a dev issue for ILIAS 10. Concerning his questions:

  • We do not show the default values of settings in the settings table to avoid confusion.
  • We accept that "Preferences" are removed. We currently do not know what they are good for and why should keep them.

Once the feature is fully implemented, please give a short description of what has changed in the user settings to get a clear view of the feature implementation. There is no need to move the screenshots and suggestions made in the Discussion part of the report up to chap. 3.

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: 23. Jun 2025, 14:03, Kunkel, Matthias [mkunkel]