[TYPO3-v4] Goal of caching framework things
Christian Kuhn
lolli at schwarzbu.ch
Wed Jun 29 02:10:54 CEST 2011
Folks.
The current caching framework patches are not a 'just because we can'
thing, but are part of a bigger refactoring, it is just one step into
the right direction (as we think).
We recently enabled the caching framework (cf) by default for TYPO3 4.6
and removed the 'old' caching. This is imho a leap forward to a cleaner
core, but we still have some open issues that must be tackled.
Since I am one of the main drivers in this project here are the most
pressing points from my side I'd like to spend my energy on:
- Finally consolidate the upgrade path raised by discussion 'Current
master branch is broken?' in this list. I hope my latest outlined
solution is solid enough to tackle all concerns.
- Analyze the sysext/lang scenario from
https://review.typo3.org/#change,2930 , maybe raise a discussion about
this, find a solution and get it done.
There are some further things that would be great before 4.6 feature
freeze. I'm unsure what can be done within given time, but these are the
main points:
- Create a solution for a 'hybrid backend'. This backend should share
data and tags in two different backends. This could solve the file
backend performance and the memcache corruption issue and has further
benefits. I have a draft for this at hand, but any solution must be
pushed to FLOW3 first and ported back again (I did not yet get an answer
by Robert for my request of the draft).
- *Maybe* hack up an additional "pass through" frontend that does no
serialize at all for backends but accepts strings, arrays and objects
directly. This would be useful for transient memory backend, but must be
profiled before and must be pushed to FLOW3 to back ported afterwards.
- Review *all* current core cache usages and do more abstraction. For
example I see no reason to separate cache_hash and cache_pagecontent and
things like that anymore. Caches should only get an own namespace if
they could potentially grow very big, are different things or can not
share same cache name space for reasons.
- Add a standard 'php cache'.
- Initialize cf more early in bootstrap and use it in the autoloader
using a new php frontend cache. I have a patch for this that just needs
some adaption. There is already a bigger plan for a bootstrap
refactoring and we will likely raise this topic during DevDays.
- There are many more ideas on what can be done if we have a working cf
during bootstrap (for example a concatenated file of all important
global arrays that can be loaded with one require_once). but these
things are pretty far away currently. We have to set up a foundation for
this first.
This whole thing aims to create a solid base for a better, quicker and
more transparent TYPO3 bootstrap, extension registration and handling of
core dependencies. We've got feedback from different developers that
this is the right way to go, but we have to take one step after another.
It would be great if people step in at specific tasks, I'm sure the
DevDays has some opportunities to talk to each other in this regard.
Regards
Christian
More information about the TYPO3-project-v4
mailing list