[BUGFIX] Implement deferred BE image processing consistently
Change the implementation of backend deferred image processing to use a file processor, which is only but always used in the backend. By doing so all limitations of the current implementation are resolved, which means, width and height of the image can be set in HTML, to avoid layout shifts and once the images are processed, they will simply be delivered by the web server. Inconsistencies with thumbnail ratio (depending on crop being defined or not) are also tackled on the go. While this changes processing configuration for some files, which triggers a re-generation, it should not matter, as image processing will be done in parallel on request, making such changes viable in a bugfix release. The introduced database field is neither used nor required for the current implementation, but is introduced to provide a possibility for third party processors to replace the current implementation with simple (and persisted) URLs to third party SaaS image processing services. Resolves: #92188 Releases: master, 10.4 Change-Id: I8d1e14324085c5b6ba646475206c8cb10a1fc10d Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65237 Tested-by:TYPO3com <noreply@typo3.com> Tested-by:
Markus Klein <markus.klein@typo3.org> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Markus Klein <markus.klein@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
Showing
- typo3/sysext/backend/Classes/Controller/File/ImageProcessController.php 66 additions, 0 deletions...ackend/Classes/Controller/File/ImageProcessController.php
- typo3/sysext/backend/Classes/Resource/Processing/DeferredBackendImageProcessor.php 75 additions, 0 deletions...ses/Resource/Processing/DeferredBackendImageProcessor.php
- typo3/sysext/backend/Classes/Utility/BackendUtility.php 28 additions, 34 deletionstypo3/sysext/backend/Classes/Utility/BackendUtility.php
- typo3/sysext/backend/Classes/ViewHelpers/ThumbnailViewHelper.php 5 additions, 6 deletions...ysext/backend/Classes/ViewHelpers/ThumbnailViewHelper.php
- typo3/sysext/backend/Configuration/Backend/Routes.php 7 additions, 1 deletiontypo3/sysext/backend/Configuration/Backend/Routes.php
- typo3/sysext/backend/Configuration/Services.yaml 4 additions, 0 deletionstypo3/sysext/backend/Configuration/Services.yaml
- typo3/sysext/core/Classes/Context/FileProcessingAspect.php 59 additions, 0 deletionstypo3/sysext/core/Classes/Context/FileProcessingAspect.php
- typo3/sysext/core/Classes/Locking/ResourceMutex.php 119 additions, 0 deletionstypo3/sysext/core/Classes/Locking/ResourceMutex.php
- typo3/sysext/core/Classes/Resource/Exception/FileAlreadyProcessedException.php 48 additions, 0 deletions...sses/Resource/Exception/FileAlreadyProcessedException.php
- typo3/sysext/core/Classes/Resource/ProcessedFile.php 27 additions, 5 deletionstypo3/sysext/core/Classes/Resource/ProcessedFile.php
- typo3/sysext/core/Classes/Resource/ProcessedFileRepository.php 2 additions, 2 deletions.../sysext/core/Classes/Resource/ProcessedFileRepository.php
- typo3/sysext/core/Classes/Resource/Service/ImageProcessingService.php 95 additions, 0 deletions.../core/Classes/Resource/Service/ImageProcessingService.php
- typo3/sysext/core/Configuration/DefaultConfiguration.php 10 additions, 0 deletionstypo3/sysext/core/Configuration/DefaultConfiguration.php
- typo3/sysext/core/Tests/Unit/Resource/Processing/ProcessorRegistryTest.php 2 additions, 0 deletions.../Tests/Unit/Resource/Processing/ProcessorRegistryTest.php
- typo3/sysext/core/ext_tables.sql 1 addition, 0 deletionstypo3/sysext/core/ext_tables.sql
- typo3/sysext/filelist/Classes/FileList.php 11 additions, 6 deletionstypo3/sysext/filelist/Classes/FileList.php
- typo3/sysext/frontend/Classes/Imaging/GifBuilder.php 15 additions, 6 deletionstypo3/sysext/frontend/Classes/Imaging/GifBuilder.php
Please register or sign in to comment