Skip to content
  • Oliver Bartsch's avatar
    [!!!][FEATURE] New Module Registration API · 29db88c3
    Oliver Bartsch authored and Benni Mack's avatar Benni Mack committed
    This change introduces a new way to register
    TYPO3 Backend Modules.
    
    Each module is now registered during build-time
    in a dedicated registry. Therefore, The registration
    is moved from ext_tables.php to the
    Configuration/Backend/Modules.php file.
    
    Accessing the registered modules can be done via
    a central API, the ModuleProvider class. This class
    takes care of access permissions and further
    processing (e.g. module menu generation).
    
    $GLOBALS[TBE_MODULES] is fully removed as no sane
    backwards-compatibility (for a use-case) is available.
    
    A new PSR-14 event BeforeModuleCreationEvent is added,
    which allows to manipulate a module configuration, before
    it is used to create and register the module.
    
    Existing registrations do no longer work. However, to support
    extenion authors in maintaining multiple versions, the previously
    used API methods (e.g. `addModule` and `registerModule`) will
    stay until TYPO3 v13.0. No trigger_error() is used, so extension
    authors use the Extension Scanner to detect usages.
    
    Executed commands:
    
       composer u typo3/cms-styleguide
    
    Resolves: #96733
    Releases: main
    Change-Id: I07f4bc417e6effb1215cf0e373cc60f2b13ba8ad
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73058
    
    
    Tested-by: default avatarcore-ci <typo3@b13.com>
    Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Tested-by: default avatarBenni Mack <benni@typo3.org>
    Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
    Reviewed-by: default avatarBenni Mack <benni@typo3.org>
    29db88c3