Deprecation: #99075 - fe_users and fe_groups TSconfig
See forge#99075
Description
The two database fields fe_
and fe_
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 User
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_
will be removed from the table definition.users. TSconfig - Database field
fe_
will be removed from the table definition.groups. TSconfig - Rendering and editing setup of field
fe_
will be removed from TCA.users. TSconfig - Rendering and editing setup of field
fe_
will be removed from TCA.groups. TSconfig - Default configuration value
$GLOBALS
will be removed.['TYPO3_ CONF_ VARS'] ['FE'] ['default User TSconfig'] - PHP method
\TYPO3\
will be removed.CMS\ Frontend\ Authentication\ Frontend User Authentication->get User TSconf ()
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
or call \TYPO3\
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
Frontend
class into an own service, probably by fetching group data
using \TYPO3\
, and then merge and parse group
data of the field with frontend user-specific data.