Skip to content
Snippets Groups Projects
Commit a927bc00 authored by Christian Kuhn's avatar Christian Kuhn Committed by Benni Mack
Browse files

[!!!][TASK] Use new TypoScript parser in Frontend

This switches from TemplateService to new TypoScript
parser logic in TypoScriptFrontendController.

The central methods getFromcache() and getConfigArray()
were called in PrepareTypoScriptFrontendRendering after
each other: getConfigArray() is now merged into
getFromcache() directly.

One main goal is to get rid of the 'pagesection' cache
and leverage the new cache strategy of the new TypoScript
parser: This cache strategy is more effective and allows
caching TypoScript between different pages.

We essentially get rid of the pagesection query load,
but instead need the list of relevant sys_template rows
early, which is done with a single query. This code is
moved out of IncludeTree/TreeBuilder to new class
IncludeTree/SysTemplateRepository, since the result is
now needed to build page cache identifiers and thus must
be exposed.

An event is added as well, for extensions like ext:bolt
to manipulate sys_template rows resolving. The old
runThroughTemplatesPostProcessing hook is marked @internal
now and will vanish during further v12 development when
testing-framework has been changed to deal with it.

The central getFromcache() is much better documented and
should be far easier to understand now. Some parts of
the code are currently a bit naive and there is quite a
bit potential to further optimize parsetime especially
in "full cached" scenarios. We also have the potential to
make USER_INT parsing significantly quicker. Dedicated
patches will follow with continued v12 development.

The patch also sets a couple of properties to @internal,
and marks the old TypoScriptParser and TemplateService
@deprecated, even though it is currently still used for
instance for TSconfig parsing, which will switch to the
new parser soon as well.

Resolves: #98503
Related: #97816
Releases: main
Change-Id: I904e9add4a425479df4a6768a1d63a54d7b252d8
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75944


Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
parent 11503dc1
Showing
with 1017 additions and 531 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment