Feature Wiki

Information about planned and released features

Tabs

Move Role-Permissions-Table to DataTable

1 Initial Problem

With ILIAS 10 we will want and have to move the current table showing the list of Permissions per Role on an object to a DataTable from UI-Components. This will lead to a few changes as the current implementation relies on form inputs inside the table.

2 Conceptual Summary

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

  • The table will become read only.
  • A filter will be added.
  • The Role Titles will not be linked anymore, a Single Action "Edit Local Policy" will be provided for each row.
  • Columns and Rows will be swapped so that each role is in a row.
  • "Local Policy", "Protect Permissions", and "Block Role" will become independent columns.
  • The column "Local Policy" will not be shown in the "Administration".
  • The permissions granted currently will be shown in at most two columns:
    • "Object Specific Permissions" will list all permissions on the current object itself.
    • "Object Types Role is Allowed to Create" will only be available in Containers and will list the object types.
  • Two optional columns showing the permissions that weren't granted are provided:
    • "Not Assigned Object Specific Permissions" will list all non assigned permissions on the current object.
    • "Object Types Role is Not Allowed to Create" will only be available in Containers and will list the object types the role is not allowed to create.
  • I propose to add a new column type listing with an option to truncate the list to a single entry "X of N Permissions Granted" and a "Twister Truncation"
  • "Enable/Disable Local Policy", "Protect/Unprotect Permissions", "Block/Unblock Role", "Delete Role" and "Edit Permissions" will be provided as Single Actions. The table will have no multiactions.
  • The form to edit permissions will be shown in a modal.
    • A select all checkbox will be offered for the two sections containing the permissions, if a consensual solution can be found to implement it in the UIForms. I propose to create a special checkbox-only section for the forms.
  • "Edit Local Policy" will lead to the current screens.

3 User Interface Modifications

3.1 List of Affected Views

  • The permissions tab of every object in the Repository and node in "Administration"

3.2 User Interface Details

Table with filters, actions, and edit modal.

3.3 New User Interface Concepts

It is proposed to add a new column type `Listing` that only accepts listings, this type should be truncatable (either by default or as an option) using a "Twister Truncation".

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

No change.

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

Tödt, Alexandra [atoedt] For thinking about this request I would prefer to first understand the approach to the local policies. Is this Data Table also the approach for the Default permissions / local policy of a role? Will the default permissions be treated differently and if so how? For setting default permissions the list of permissions is very long for a modal. Copied into a off-the-shelf word for default permissions for group admin is 16 print pages, for the repository permissons of an admin it is 21 print pages. I wonder whether having the same / similar controls for editing permissions is valuable.  

UI/UX/A11y-Experts, 30 JAN 2024: For this request there were selected questions that were discussed in the UI Clinic of 30.01.2024 (see minutes).

Kergomard, Stephan [skergomard], 01 FEB 2024: Are you talking about this form here Tödt, Alexandra [atoedt]:

? If yes: This is just a form with sections and the only special thing is the "Select All" checkbox. So nothing to do with what we are looking at here and far less complex.

Kergomard, Stephan [skergomard], 01 FEB 2024: Thank you very much to the UI/UX/A11y-Experts for the very valuable inputs! I adapted the FR after the feedback. The following changes were made:

  • Two additional optional columns added for not assigned rights. A better naming is always welcome.
  • Twister animations for the lists.
  • Moved "Enable/Disable Local Policy", "Protect/Unprotect Permissions", and "Block/Unblock Permissions" to single actions.
  • Remove all multiactions.

JourFixe, ILIAS [jourfixe], 19 FEB 2024: We highly appreciate this suggestion and schedule the feature for ILIAS 10. In addition to the current suggestion, we would like to keep the information about the kind of role (global|local) and where a local role has been created. This is very important for daily troubleshooting. Adding a link to the node where a local role has been created. Because the tooltips won't be available anymore, we should use the longer permission descriptions instead of the short titles to make clear what a permission is about. The data table offers us sufficient place for that. Last but not least, it would be great if the KS Data Table would support zebra backgrounds as this makes it easier to read the table content. But this is a request for the KS.

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: 19. Feb 2024, 16:41, Kunkel, Matthias [mkunkel]