[TYPO3-mvc] Fluid performance patch backport to 4.5?!
Christian Kuhn
lolli at schwarzbu.ch
Wed Mar 7 22:05:50 CET 2012
Hey.
On 03/06/2012 06:40 PM, Bastian Waidelich wrote:
>> - It has a nasty breaking change (this->argument() is not an object
>> anymore in view helpers) that is hard to get rid off.
>
> It should be possible to (re-)introduce a proxy object for compatibility
> reasons. It could implement ArrayAccess and forward methods like
> "hasArgument()" to the ViewHelper (possibly with a deprecation log entry).
Yeah, I thought about that as well. While it sounds easy, it is no
no-brainer. I'd expect at least a day or something to do it, with my
current lack of deep-fluid-parsing knowhow and only a rough
understanding of the performance patch itself probably more. I managed
to get the unit tests up and running again, so there would be at least a
starting point.
>> - The patch is highly intrusive: It changes interfaces, removes files,
>> shifts lots of code around. Extensions that extend extbase / fluid core
>> parts will likely break.
>
> It shouldn't change the API (apart from the argument thing) and we
> haven't received feedback about breaking code.. But, sure, chances are..
Well, eg. the boolean comparison logic (f:if condition="...") is moved
to other classes. This breaks for example our library extension that
extends the main regex (we allow direct string comparisons ;) ... While
this is ok from a hacker point of view, and we always communicate that
any 'xclass'-alike thing you do in extensions may always break, I'd
still expect a nifty discussion if we do such big class changes during
minor version upgrades in LTS core.
>> - It only works best together with other core patches, especially in the
>> caching framework part, we also do not want to back port them.
>
> Really? I thought that regarding the Caching Framework nothing really
> changed inside the core of Fluid!?
Getting the code running in 4.5 is straight forward (cache instantiation
is a bit more complex in 4.5 and was simplified in 4.6). But the 4.5
caching framework does not clear _all_ caches, if clicking 'clear all
cache' (it clears only those, that are instantiated during the according
eid call). This was also solved in 4.6. So, while this is again not a
real blocker, it is also not a nice thing if you cannot clear the
compiled view the usual way.
> Thanks again for your work, I hope it wasn't too frustrating ;)
Well, it was mind juggling (the code is hard stuff) and not boring at
all. Just our PM is not happy with the conclusion ;)
Regards
Christian
More information about the TYPO3-project-typo3v4mvc
mailing list