Deprecation: #89577 - FAL SignalSlot handling migrated to PSR-14 events
See forge#89577
Description
Within the File Abstraction Layer, all "Signals" of Extbase's SignalSlot dispatcher have been migrated to PSR-14 events.
For this reason, all FAL-related Signals have been migrated to PSR-14 event listeners which are prioritized as the first listener to be executed when an Event is fired.
The following interface has been deprecated and will be removed in TYPO3 v11:
\TYPO3\
CMS\ Core\ Resource\ Resource Factory Interface
The following constants have been deprecated and will be removed in TYPO3 v11:
\TYPO3\
CMS\ Core\ Resource\ Resource Factory Interface:: SIGNAL_ Pre Process Storage \TYPO3\
CMS\ Core\ Resource\ Resource Factory Interface:: SIGNAL_ Post Process Storage \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Add \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Copy \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Create \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Delete \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Move \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Rename \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Replace \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post File Set Contents \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post Folder Add \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post Folder Copy \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post Folder Delete \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post Folder Move \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Post Folder Rename \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Add \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Copy \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Create \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Delete \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Move \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Rename \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Replace \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre File Set Contents \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Folder Add \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Folder Copy \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Folder Delete \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Folder Move \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Folder Rename \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Pre Generate Public Url \TYPO3\
CMS\ Core\ Resource\ Resource Storage Interface:: SIGNAL_ Sanitize File Name \TYPO3\
CMS\ Core\ Resource\ Service\ File Processing Service:: SIGNAL_ Pre File Process \TYPO3\
CMS\ Core\ Resource\ Service\ File Processing Service:: SIGNAL_ Post File Process
Impact
Calling the Signals still works as before, without any deprecation message triggered in order to still be fully working. However, they will likely be removed and stop working in TYPO3 v11.0.
All interfaces and constants which only existed for Signal-Slot related handling have been marked as deprecated. The ExtensionScanner will detect any usages of the PHP symbols.
Affected Installations
TYPO3 installations with extensions that hook into FAL-related functionality, e.g. "secure downloads" extension.
Migration
It is highly recommended to use the PSR-14 events and create custom event listeners and not depend on Signals to be executed in FAL anymore.
See all core examples, read the documentation about PSR-14 events and investigate especially the Slot
PHP class on what can listened and modified.