Feature: #89733 - New PSR-14 events for existing Signal Slots in Core Extension¶
See forge#89733
Description¶
PSR-14 EventDispatching allows for TYPO3 Extensions or PHP packages to extend TYPO3 Core functionality in an exchangeable way.
The following new PSR-14 events have been introduced:
TYPO3\CMS\Backend\Authentication\Event\SwitchUserEvent
TYPO3\CMS\Backend\Backend\Event\SystemInformationToolbarCollectorEvent
TYPO3\CMS\Backend\Controller\Event\BeforeFormEnginePageInitializedEvent
TYPO3\CMS\Backend\Controller\Event\AfterFormEnginePageInitializedEvent
TYPO3\CMS\Backend\LoginProvider\Event\ModifyPageLayoutOnLoginProviderSelectionEvent
TYPO3\CMS\Core\Imaging\Event\ModifyIconForResourcePropertiesEvent
TYPO3\CMS\Core\DataHandling\Event\IsTableExcludedFromReferenceIndexEvent
TYPO3\CMS\Core\DataHandling\Event\AppendLinkHandlerElementsEvent
TYPO3\CMS\Core\Configuration\Event\AfterTcaCompilationEvent
TYPO3\CMS\Core\Database\Event\AlterTableDefinitionStatementsEvent
TYPO3\CMS\Core\Tree\Event\ModifyTreeDataEvent
TYPO3\CMS\Core\Configuration\Event\ModifyLoadedPageTsConfigEvent
TYPO3\CMS\Impexp\Event\BeforeImportEvent
TYPO3\CMS\Install\Service\Event\ModifyLanguagePackRemoteBaseUrlEvent
TYPO3\CMS\Linkvalidator\Event\BeforeRecordIsAnalyzedEvent
TYPO3\CMS\Seo\Event\ModifyUrlForCanonicalTagEvent
TYPO3\CMS\Workspaces\Event\AfterCompiledCacheableDataForWorkspaceEvent
TYPO3\CMS\Workspaces\Event\AfterDataGeneratedForWorkspaceEvent
TYPO3\CMS\Workspaces\Event\GetVersionedDataEvent
TYPO3\CMS\Workspaces\Event\SortVersionedDataEvent
They replace the existing Extbase-based Signal Slots
TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::getSystemInformation
TYPO3\CMS\Backend\Backend\ToolbarItems\SystemInformationToolbarItem::loadMessages
TYPO3\CMS\Backend\LoginProvider\UsernamePasswordLoginProvider::getPageRenderer
TYPO3\CMS\Backend\Controller\EditDocumentController::preInitAfter
TYPO3\CMS\Backend\Controller\EditDocumentController::initAfter
TYPO3\CMS\Backend\Utility\BackendUtility::getPagesTSconfigPreInclude
TYPO3\CMS\Beuser\Controller\BackendUserController::switchUser
TYPO3\CMS\Core\Database\SoftReferenceIndex::setTypoLinkPartsElement
TYPO3\CMS\Core\Database\ReferenceIndex::shouldExcludeTableFromReferenceIndex
TYPO3\CMS\Core\Imaging\IconFactory::buildIconForResourceSignal
TYPO3\CMS\Core\Tree\TableConfiguration\DatabaseTreeDataProvider::PostProcessTreeData
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::tcaIsBeingBuilt
TYPO3\CMS\Impexp\Utility\ImportExportUtility::afterImportExportInitialisation
TYPO3\CMS\Install\Service\SqlExpectedSchemaService::tablesDefinitionIsBeingBuilt
TYPO3\CMS\Lang\Service\TranslationService::postProcessMirrorUrl
TYPO3\CMS\Linkvalidator\LinkAnalyzer::beforeAnalyzeRecord
TYPO3\CMS\Seo\Canonical\CanonicalGenerator::beforeGeneratingCanonical
TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GenerateDataArray_BeforeCaching
TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GenerateDataArray_PostProcesss
TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_GetDataArray_PostProcesss
TYPO3\CMS\Workspaces\Service\GridDataService::SIGNAL_SortDataArray_PostProcesss
Impact¶
It is now possible to add listeners to the new PSR-14 Events which define a clear API what can be read or modified.
The listeners can be added to the Configuration/Services.yaml
as
it is done in TYPO3's shipped extensions as well.