Deprecation: #70138 - Flex form language handling
See forge#70138
Description
TCA flex fields had an own language handling that allowed to store field localization within
the flex data itself and not within the usual database driven overlay records. This was mainly
introduced for Templa and usually only used in this context.
The whole flex form specific language handling has been moved from core extensions to extension
compatibility6 and will not be delivered with TYPO3 CMS 7 LTS anymore.
The following flex XML data structure keys have been marked as deprecated and are supported by compatiblity6 only:
<meta><langDisable> <meta><langChildren> <meta><currentLang Id>
The following Page options have been dropped and are ignored if compatibility6 is not loaded:
TCEFORM.[table Name]. [field]. [data Structure Key]. lang Disable TCEFORM.[table Name]. [field]. [data Structure Key]. lang Children
The following User options have been dropped and are ignored if compatibility6 is not loaded:
options.check Page Language Overlay
The following Local value has been marked as deprecated, will be removed by the install tool and
is set by compatibility6 to TRUE:
$GLOBALS['TYPO3_ CONF_ VARS'] ['BE'] ['flex Form XMLinclude Diff Base']
The following method has been marked as deprecated and is cloned by compatibility6 in an XCLASS:
TYPO3\CMS\ Core\ Configaration\ Flex Form\ Flex Form Tools->get Available Languages ()
The following property has been marked as deprecated:
TYPO3\CMS\ Core\ Data Handling\ Data Handler->clear_ flex Form Data_ v DEFbase
Impact
If this feature is needed, the compatibility6 extension must be loaded to keep compatibility
with older versions after upgrading from TYPO3 CMS 6.. If the extension is not loaded,
flex form fields can no longer be localized on flex data level.
Affected Installations
All multi language installations that use flex form with meta field lang not set to 1
in their data structure definition and that make active use of the flex localization feature.
This is the case if records with flex form fields show flex forms multiple times with different
language flags.
Migration
Load extension compatibility6 for a compatibility layer in TYPO3 CMS 7, or migrate affected
features to use the record based localization feature. The flex field based language handling
will most likely vanish with TYPO3 CMS 8 altogether. In case the feature is needed for a
longer time the code from compatibility6 could be used as a kick start for an implementation
within an own extension.
In case compatibility6 is loaded, some core content elements may start showing flex field
language overlays since the lang meta definition has been removed from their data
structure XML. This can be suppressed with this Page snippet:
TCEFORM.tt_content.pi_flexform.table.langDisable = 1
TCEFORM.tt_content.pi_flexform.login.langDisable = 1
TCEFORM.tt_content.pi_flexform.media.langDisable = 1