Deprecation: #86406 - TCA type group internal_type file and file_reference¶
See forge#86406
Description¶
The TCA
property values internal_
and internal_
for columns config type="group"
have been marked as deprecated.
A series of related methods have been marked as deprecated:
TYPO3\
CMS\ Core\ Data Handling\ Data Handler->check Value_ group_ select_ file () TYPO3\
CMS\ Core\ Data Handling\ Data Handler->copy Record_ proc Files Refs () TYPO3\
CMS\ Core\ Data Handling\ Data Handler->ext File Fields () TYPO3\
CMS\ Core\ Data Handling\ Data Handler->ext File Functions () TYPO3\
CMS\ Core\ Database\ Reference Index->get Relations_ proc Files () TYPO3\
CMS\ Core\ Integrity\ Database Integrity Check->get File Fields ()
Some constants have bee marked as deprecated:
TYPO3\
CMS\ Core\ Data Handling\ Table Column Sub Type:: FILE TYPO3\
CMS\ Core\ Data Handling\ Table Column Sub Type:: FILE_ REFERENCE
The "internal_type" functionality has been superseded by the File Abstraction Layer (FAL) since TYPO3 6.0 and has several drawbacks within TYPO3 (e.g. multiple copies of files based on a file name, no flexibility for moving data to a different storage, no metadata functionality, no cropping functionality).
Impact¶
The Backend module "Upgrade" > "Check TCA migrations" shows them as deprecated, and triggers a
E_
error.
Using the TCA property values mentioned above will trigger a PHP E_
error when the cache is cleared.
Affected Installations¶
Installations still using the methods or constants, or TYPO3 installations with extensions registering custom TCA fields with the mentioned TCA properties.
Migration¶
It is rather unlikely instances use one of the above methods or constants. The extension scanner will find possible usages, though.
It's more likely that extensions use type=group
with internal_
or
internal_
. Those should switch to use FAL references based on
type=inline
instead.
The core code changed one last internal_
usage in TYPO3 v9 and moved it to FAL. Several use-cases
within the last TYPO3 major versions show how to migrate a legacy file field to FAL (e.g. "fe_users.image"
or "tt_content.image" including automatic upgrade wizards for the database - an example of the last migration can be
found online. These previous changes give some insight on how a file relation could be changed to FAL and comes
with an upgrade wizard that can be a helpful example if existing extension data needs to be migrated.