Project

General

Profile

Actions

Bug #26755

closed

Typoscript Templates: Not all caches are cleared

Added by Thirot no-lastname-given almost 13 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Caching
Target version:
-
Start date:
2011-05-11
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.5
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Hello,
When I update a Typoscript template the cache (cache_pages, cache_pagesection) is all cleared if I use templates > "setup"
typo3/*sysext/tstemplate/ts/index.php*?id=73&e[constants]=1

But templates > "Click here to edit whole template record" clears only some cache
typo3/*alt_doc.php*?returnUrl=%2Ft3_452demo%2Ftypo3%2Fsysext%2Ftstemplate%2Fts%2Findex.php%3Fid%3D73%26createExtension%3D0&edit[sys_template]67=edit

Tested with 4.2.8 and 4.5.2 (intro package)

Actions #1

Updated by Chris topher almost 13 years ago

  • Subject changed from Template Typoscript and clear all cache to Typoscript Templates: Not all caches are cleared
Actions #2

Updated by Thirot no-lastname-given about 12 years ago

I will try to explain the problem.

It is possible to update a template TS in three way.

1) Edit only the setup or the constants (BE -> template -> info/modify -> setup)
2) Edit a specific value via the TypoScript Object Browser (BE -> template -> TypoScript Object Browser)
3) Edit the whole template (BE -> template -> info/modify -> Edit the whole template record)

Methods 1 and 2 clear the cache of the whole site.
Method 3 clears only the cache of child pages.

We will ask someone to resolve this.

Actions #3

Updated by Steffen Gebert about 12 years ago

  • Category set to Caching

I would say that editing the whole template record does only clear the cache of the current page (while respecting TCEMAIN.clearCacheCmd option). This is basically correct, as you're just using the list module to edit this entry.

When you edit only Setup or Constants all Cache is cleared (all Page Cache?). This is basically a bad thing, as you don't want to do that to often on big sites and especially you don't want to clear the whole page cache, if it affects only a subtree.

The correct way would be: Implement prober cache tagging and automatic dropping. Every page cache entry that makes use of a specific TS template should be tagged with the uid of the sys_template record. This does not only solve the problem to not clear all caches, but only the caches of subpages affected by this template, and on the other hand you also drop caches, which use the template record transitively through another record that includes the changed record.

I don't know, if we get automatic cache clearing by tags into 4.7. I plan to talk to Christian Kuhn about this..

Actions #4

Updated by Steffen Gebert about 12 years ago

  • Status changed from New to Accepted
Actions #5

Updated by Alexander Opitz over 9 years ago

  • Status changed from Accepted to Needs Feedback
  • Is Regression set to No

Hi,

does the problem still exists within newer versions of TYPO3 CMS (6.2.9)?

Actions #6

Updated by Thirot no-lastname-given over 9 years ago

I tested TYPO3 6.2.9 and the bootstrap package.
The cache is cleared for the whole site with methods 1 2 or 3.
I checked the tables cf_cache*

Actions #7

Updated by Alexander Opitz over 9 years ago

  • Status changed from Needs Feedback to Closed

So it is working. Thanks for feedback.

Actions

Also available in: Atom PDF