Skip to content
Snippets Groups Projects
Commit 971be900 authored by Benni Mack's avatar Benni Mack
Browse files

[BUGFIX] Speed up FormEngine with hundreds of categories

FormEngine's TreeRendering for categories utilizes
the TreeDataProvider logic, which is handed over
a list of available items loaded by FormEngine's
AbstractItemProvider. These records have already
been validated and a full record was already loaded
by FormEngine at this point.

The TreeDataProvider construct then fetches ALL records
again, as it only works with the "IDs", but not with
already loaded full rows. This makes the construct
expensive. It needs a bigger overhaul.

To mitigate the performance impact of bigger category
trees, the patch applies a hack to suppress loading
single category rows multiple times by handing them
over from FormEngine to the TreeDataProvider construct.

As this change is also backported to 11.5, the
optimizations are only done for type=category to
minimize impact for other Tree usages.

Resolves: #84558
Resolves: #90398
Resolves: #97003
Resolves: #76581
Resolves: #98807
Releases: main, 11.5
Change-Id: Ief183f1673d3a17036ca5e68c62dc18a4277def1
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76443


Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarSusanne Moog <look@susi.dev>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarSusanne Moog <look@susi.dev>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
parent 98cc2384
Branches
Tags
No related merge requests found
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