Implementing lilio_cachetags functionality in Core
I recently released the extension "Easy Cache Tags" (lilio_cachetags), as an easy way of connecting cache tags to cache instances (and clearing cache based on the same) using TypoScript. On the English mailing list, it has been suggested (by Kay Strobach) that I suggest that the extension's functionality is considered taken into the Core. Not a bad idea, I think, as it solves a fairly widespread caching issue.
What do you think? The extension is still missing some features (like a solution for adding cache tags in the Backend), but it could maybe make it into 4.7...
Keep up the good work! :-D
#3 Updated by Mathias Bolt Lesniak over 5 years ago
Wouter Wolters wrote:
as this issue is very old. Is this feature missing in newer versions of TYPO3 CMS (6.2.9)?
As far as I am aware, the complete feature is still missing.
TYPO3 4.7 introduced the parameters cache and addPageCacheTags into stdWrap. This feature covers parts of what lilio_cachetags does, but is far from complete:
- stdWrap's addPageCacheTags is a comma separated list, whilst lilio_cachetags uses an array to create cache tags. In case of multiple tags, an array is easier to modify and more protected from accidental overwrites.
- lilio_cachetags enables you to clear the cache for specific cache tags through TypoScript.
#5 Updated by Mathias Bolt Lesniak 5 months ago
Here's an update of what's still missing and what's implemented in the core thus far.
The entire functionality of the CACHETAGS cObject is now in the core.
The CLEARCACHETAGS cObject functionality (i.e. to be able to clear the cache for certain tags) is still missing.
Some of the functionality can be implemented through TCEMAIN in the backend, but it is limited to hard-coded tags. I.e. you cannot clear blah_123 where 123 is the UID of the record changed.
The manual's "Why is this needed" section gives a good example of why clearing the cache based on a dynamic cache tag could be useful. https://docs.typo3.org/typo3cms/extensions/lilio_cachetags/0.0.1/Manual/Index.html#why-is-it-needed