[!!!][FEATURE] Improve caching framework by introducing groups 29/26829/8
authorBenjamin Mack <benni@typo3.org>
Wed, 15 Jan 2014 09:22:35 +0000 (10:22 +0100)
committerHelmut Hummel <helmut.hummel@typo3.org>
Wed, 15 Jan 2014 20:38:04 +0000 (21:38 +0100)
commit1101f39244d29a78f51666a040e258361bb70dd5
treef54af4ca8197f37bac42337498c864d147144eb1
parentf273fff1749825fe624dce5958fe338dec01247e
[!!!][FEATURE] Improve caching framework by introducing groups

The current TYPO3 Core includes different types of caches. There are
system-related caches (class loading cache, configuration cache,
l10n_cache, extbase_object, extbase_reflection etc.) and
frontend-related caches (chash cache, page cache, page section
cache).

The patch introduces the possibility to group caches. The core uses
two groups "pages" with all page-related caches, and "system" that
is used for compile-time caches and configuration caches.

The new API is now used to be more flexible inside DataHandler
clear_cacheCmd without having hooks, as the Cache Manager is used
to clear all caches inside one hook.

!!! The "Clear all caches" command does not flush caches for
system-related caches anymore. Only "Clear Configuration Cache" or
inside the install tool in the backend removes all the system caches.

A new userTSconfig option is used to non-admins to be allowed to
clear the system caches.

Resolves: #54991
Releases: 6.2
Change-Id: Ie0fe134102882a1fcc5a85a0199016cdfbda08bf
Reviewed-on: https://review.typo3.org/26829
Reviewed-by: Helmut Hummel
Reviewed-by: Wouter Wolters
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Tested-by: Helmut Hummel
13 files changed:
NEWS.md
typo3/sysext/core/Classes/Cache/CacheManager.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Configuration/DefaultConfiguration.php
typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
typo3/sysext/dbal/ext_localconf.php
typo3/sysext/extbase/ext_localconf.php
typo3/sysext/extensionmanager/Classes/Utility/ConfigurationUtility.php
typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php
typo3/sysext/fluid/ext_localconf.php
typo3/sysext/install/Classes/Service/SqlExpectedSchemaService.php
typo3/sysext/workspaces/ext_localconf.php