92 lines
3.0 KiB
ReStructuredText
92 lines
3.0 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _deprecation-107550-1736193200:
|
|
|
|
===============================================================================
|
|
Deprecation: #107550 - Table Garbage Collection Task configuration via $GLOBALS
|
|
===============================================================================
|
|
|
|
See :issue:`107550`
|
|
|
|
Description
|
|
===========
|
|
|
|
The :php:`\TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask` has been
|
|
migrated to use TYPO3's native TCA-based task configuration system. As part of
|
|
this migration, the previous configuration method using
|
|
|
|
:php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][TableGarbageCollectionTask::class]['options']['tables']`
|
|
|
|
has been deprecated and will be removed in TYPO3 v15.0.
|
|
|
|
Impact
|
|
======
|
|
|
|
Using the old configuration method will trigger a PHP deprecation warning.
|
|
The functionality continues to work for now, with the deprecated configuration
|
|
being merged with the new TCA-based configuration automatically.
|
|
|
|
Affected installations
|
|
======================
|
|
|
|
Any installation that configures custom tables for the
|
|
:php-short:`\TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask` using the
|
|
deprecated :php:`$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']` configuration.
|
|
|
|
The extension scanner will report any usage as a **weak match**.
|
|
|
|
Migration
|
|
=========
|
|
|
|
Instead of configuring tables via :php:`$GLOBALS['TYPO3_CONF_VARS']`, tables
|
|
should now be configured in TCA using the `taskOptions` configuration of
|
|
the corresponding record type within :file:`Configuration/TCA/Overrides/`.
|
|
|
|
Before (deprecated):
|
|
|
|
.. code-block:: php
|
|
:caption: ext_localconf.php
|
|
|
|
use TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask;
|
|
|
|
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']
|
|
[TableGarbageCollectionTask::class]['options']['tables']
|
|
['tx_myextension_my_table'] = [
|
|
'dateField' => 'tstamp',
|
|
'expirePeriod' => 90,
|
|
];
|
|
|
|
After (new method):
|
|
|
|
.. code-block:: php
|
|
:caption: Configuration/TCA/Overrides/scheduler_table_garbage_collection.php
|
|
|
|
use TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask;
|
|
|
|
if (isset($GLOBALS['TCA']['tx_scheduler_task'])) {
|
|
$GLOBALS['TCA']['tx_scheduler_task']['types']
|
|
[TableGarbageCollectionTask::class]['taskOptions']['tables']
|
|
['tx_myextension_my_table'] = [
|
|
'dateField' => 'tstamp',
|
|
'expirePeriod' => 90,
|
|
];
|
|
}
|
|
|
|
It is also possible to modify the tables added by TYPO3, for example changing the
|
|
`expirePeriod` of table `sys_log`:
|
|
|
|
.. code-block:: php
|
|
|
|
use TYPO3\CMS\Scheduler\Task\TableGarbageCollectionTask;
|
|
|
|
if (isset($GLOBALS['TCA']['tx_scheduler_task'])) {
|
|
$GLOBALS['TCA']['tx_scheduler_task']['types']
|
|
[TableGarbageCollectionTask::class]['taskOptions']['tables']
|
|
['sys_log']['expirePeriod'] = 240;
|
|
}
|
|
|
|
The new TCA-based configuration provides the same functionality while
|
|
integrating better with TYPO3's native scheduler task system and FormEngine.
|
|
|
|
.. index:: PHP-API, Scheduler, TCA, FullyScanned, ext:scheduler
|