Deprecation: #99075 - fe_users and fe_groups TSconfig¶
See forge#99075
Description¶
The two database fields fe_users.TSconfig
and fe_groups.TSconfig
have been marked as deprecated in TYPO3 v12 and will be removed in v13 along with
its PHP API.
Impact¶
Backend users and groups provide these TSconfig fields as well, they are the base
of the well-known UserTsConfig
configuration to specify rendering and behavior of
TYPO3 backend-related details. This is kept.
Frontend users and groups had these fields as well, they are unused by TYPO3 core and only a few extensions ever used them.
The frontend user and group related database fields, the editing functionality of these fields in the backend (TCA), and according PHP API will be removed with TYPO3 v13. In detail:
Database field
fe_users.TSconfig
will be removed from the table definition.Database field
fe_groups.TSconfig
will be removed from the table definition.Rendering and editing setup of field
fe_users.TSconfig
will be removed from TCA.Rendering and editing setup of field
fe_groups.TSconfig
will be removed from TCA.Default configuration value
$GLOBALS['TYPO3_CONF_VARS']['FE']['defaultUserTSconfig']
will be removed.PHP method
\TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication->getUserTSconf()
will be removed.
Affected installations¶
Instances are relatively unlikely to be affected: Only a few extensions ever used these fields to store configuration for frontend users, most likely extensions related to additional authentication mechanisms.
The extension scanner will find extensions that access $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultUserTSconfig']
or call \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication->getUserTSconf()
as "weak" matches.
Migration¶
Extensions should avoid using the fields to store and access configuration in a TypoScript-like syntax. Affected extensions should add own fields prefixed with an extension-specific key, or switch to a file-based configuration approach, if possible.
To simulate the deprecated logic, extensions may extract the deprecated parsing logic from
FrontendUserAuthentication
class into an own service, probably by fetching group data
using \TYPO3\CMS\Core\Authentication\GroupResolver
, and then merge and parse group
data of the field with frontend user-specific data.