[!!!][FEATURE] Allow individual content caching
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Documentation / Changelog / master / Breaking-64200-CustomCObject.cache.TypoScriptEvaluation.rst
1 =================================================================
2 Breaking: #64200 - Custom [cObject].cache.* TypoScript evaluation
3 =================================================================
4
5 Description
6 ===========
7
8 The ``stdWrap.cache.`` property is now available as first-class function to all
9 content objects. This skips the rendering even for content objects that evaluate
10 ``stdWrap`` after rendering (e.g. ``COA``).
11
12 Additionally, stdWrap support is added to key, lifetime and tags.
13
14
15 Impact
16 ======
17
18 If you've previously used the ``cache.`` property in your custom cObject,
19 this will now fail, because ``cache.`` is unset to avoid double caching.
20
21 ``stdWrap.cache`` continues to exist and can be used as before. However
22 the top level ``stdWrap`` of certain cObjects (e.g. ``TEXT`` cObject)
23 will not evaluate ``cache.`` as part of ``stdWrap``, but before starting
24 the rendering of the cObject. In conjunction the storing will happen
25 after the ``stdWrap`` processing right before the content is returned.
26
27 Top level ``cache.`` will not evaluate the hook
28 ``$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']``
29 any more.
30
31
32 Affected Installations
33 ======================
34
35 - All installations with custom ``cObject`` implementations which make use of the ``cache.`` property.
36
37 - Installations that purposely rely on the content object being evaluated before the cache is tried.
38
39 - Installations that rely on the order of the ``cache.`` evaluation.
40
41 - Installations that make use of the hook
42 ``$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']``
43 on top level ``cache.``.
44
45
46 Migration
47 =========
48
49 Rename your property or rely on the Core implementation.
50
51 If you need ``cache.`` being evaluated as part of ``stdWrap``, please move it down one level
52 by writing ``stdWrap.cache`` instead.
53
54 If you used the hook
55 ``$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_content.php']['stdWrap_cacheStore']``,
56 please use ``stdWrap`` and the available hooks inside ``stdWrap`` to achieve your goal.