Feature: #103521 - Change table restrictions UI to combine read and write permissions
See forge#103521
Description
The tables_
and tables_
fields of the be_
table store
information about permissions to read and write into selected database tables.
Due to TYPO3's internal behavior, when write permissions are granted for some tables, those tables are also automatically available for reading.
To make managing table permissions much easier and more efficient for
integrators, the separate form fields for Tables
and
Tables
have been combined into a single UI element.
This field now offers separate radio buttons to define which tables the backend
user group should have permission to read and / or write. This is done by
selecting one of the "No Access", "Read" or "Read & Write" options.
To further improve the user experience, it is also possible to use the "Check All", "Uncheck All" and "Toggle Selection" options for each permission.
Under the hood, when these permissions are processed, they are still saved
separately in the tables_
and tables_
columns in the
be_
table, as they were before.
To render this new table view and handle its behavior, a dedicated form
renderType table
has been introduced, which is now set for
the tables_
column. The tables_
column has been changed
to TCA type passthrough
.
The new form element is defined through:
\TYPO3\
.
It uses a dedicated data provider defined in:
\TYPO3\
.
The JavaScript code is handled by a new web component:
@typo3/
.
When the
Tca
data provider handles the configuration, it
reads table lists from both the tables_
and tables_
columns and combines them into a single array with unique table names.
Impact
Managing table permissions for backend user groups has been improved by
visually combining the Tables
and
Tables
options, as well as by adding the
multi record selection functionality.
Note
These changes might affect custom integrations and modifications made to
the tables_
or tables_
columns in the be_
TCA.
Integrators who have modified the configuration for these fields should
verify if their code works and adapt it if needed.