Skip to content
  • Oliver Bartsch's avatar
    [!!!][FEATURE] Introduce TCA type "file" · a7dd0225
    Oliver Bartsch authored
    In the process of using dedicated TCA types,
    the new TCA type "file" is introduced and
    replaces TCA type "inline" with "foreign_table"
    set to "sys_file_reference".
    
    The new type allows to remove a lot of cross
    dependencies and special cases for type "inline",
    in case the field is used in FAL context. Also
    DataHandler and friends benefit from this change,
    since dedicated functionality can be used now.
    
    It therefore effectively allows to improve FAL
    independently in the future.
    
    Due to the nature of "inline" a lot of code had
    to be copied for the new type, while changing the
    internal naming was not always easily possible.
    This will be done step by step with further patches.
    
    Besides the new TCA type also three new PSR-14 Events
    are introduced:
    
    - CustomFileControlsEvent
    - ModifyFileReferenceControlsEvent
    - ModifyFileReferenceEnabledControlsEvent
    
    While the ModifyFileReferenceControlsEvent and
    ModifyFileReferenceEnabledControlsEvent are equal
    to their inline counterparts does the CustomFileControlsEvent
    replace the "customControls" hook option, which is
    therefore only available for type "inline".
    
    Further notable changed:
    
    - Superfluous field "table_local" is removed from "sys_file_reference"
    - ExtensionManagementUtility::getFileFieldTCAConfig() is deprecated
    - Placeholders are introduced for common image/media/file types
    - File extension filtering is now done automatically in FormEngine
      and DataHandler
    
    Executed commands:
    
        composer u typo3/cms-styleguide
    
    Resolves: #98479
    Releases: main
    Change-Id: Ie7a14e8cef444816d3c1844df43e6c0c93706d5d
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75916
    
    
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Tested-by: default avatarJochen <rothjochen@gmail.com>
    Tested-by: default avatarBenni Mack <benni@typo3.org>
    Reviewed-by: default avatarJochen <rothjochen@gmail.com>
    Reviewed-by: default avatarBenni Mack <benni@typo3.org>
    a7dd0225