67 lines
2.4 KiB
ReStructuredText
67 lines
2.4 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _breaking-102165-1698700428:
|
|
|
|
=================================================================================
|
|
Breaking: #102165 - File Abstraction Layer: Processing APIs and interface changed
|
|
=================================================================================
|
|
|
|
See :issue:`102165`
|
|
|
|
Description
|
|
===========
|
|
|
|
The Task API for processing files (mainly images) in the File Abstraction Layer
|
|
(FAL) has been reworked. This mainly accommodates to the fact, that the API was
|
|
revisited, the functionality has been updated to be up-to-date with PHP
|
|
standards and further adaptions.
|
|
|
|
The PHP interface :php:`\TYPO3\CMS\Core\Resource\Processing\TaskInterface` has
|
|
lost the :php:`__construct()` method as part of the interface, as the
|
|
constructor is an implementation detail and should not be part of an interface
|
|
definition. In addition, the method :php:`sanitizeConfiguration()` has been added
|
|
to clean and sort the properties required for a task. All other methods have
|
|
been fully typed.
|
|
|
|
The PHP class :php:`\TYPO3\CMS\Core\Resource\Processing\AbstractGraphicalTask`
|
|
has been removed in order to reduce complexity, as all of the methods have
|
|
been moved into the respective subclasses.
|
|
|
|
The PHP class :php:`\TYPO3\CMS\Core\Resource\Processing\Task` now has two
|
|
abstract methods :php:`getName()` and :php:`getType()` in favor of the protected
|
|
properties :php:`$name` and :php:`$type`.
|
|
|
|
The PHP class :php:`\TYPO3\CMS\Core\Resource\ProcessedFile` is now fully typed.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
Custom FAL processing tasks will result in a fatal error if not adapted to the
|
|
new interface.
|
|
|
|
If an extension was depending on :php:`AbstractGraphicalTask`, calling this
|
|
code will now result in a PHP fatal error.
|
|
|
|
|
|
Affected installations
|
|
======================
|
|
|
|
TYPO3 installations working with the internals of the processing part of the
|
|
File Abstraction Layer, e.g. when extensions add custom FAL processors or
|
|
custom tasks.
|
|
|
|
|
|
Migration
|
|
=========
|
|
|
|
Implementing a custom FAL processing task will require the extension author to
|
|
adapt to the new interface requirements.
|
|
|
|
When a custom task was built on top of the :php:`AbstractGraphicalTask`, this
|
|
now needs to be removed and be compliant with the :php:`TaskInterface`, optionally
|
|
inheriting from the :php:`AbstractTask` class. This can already be achieved for
|
|
TYPO3 v12 to make an implementation compatible with TYPO3 v12 and TYPO3 v13.
|
|
|
|
.. index:: FAL, PHP-API, PartiallyScanned, ext:core
|