ContentObjectRenderer::getTreeList isn't aware of Workspace/NonCacheRequests and expires not respected / mishandled
This issue seams very old, didn't found a report yet.
Multiple issues in the tree implementation:
- If the tree between LIVE and a WS differs (maybe you hide a page in the tree line)
- First page request on LIVE => tree is wrong for WS (You may show to much)
- First page request is BE user in WS => tree is wrong for LIVE (maybe you hide an element in WS it gets invisible in LIVE)
- If no cache entry exists, all data from a FE request is saved as "Expires never" but what is with pages which have a start-/endtime? This isn't respected while generating the treelist.
- If a cache entry exists, and a page gets in BE changed endtime (not for starttime) then setCacheExpiration in TreelistCacheUpdateHooks should be called (works as expected) but the expire time is also set regardless if already a lower expire time exists.
- If a cache entry exists, and a page gets in BE changed starttime cache is cleared for this pid.
Set to TYPO3 Version 8, as analyzed on this, but the issues may be older.BTW: The functionality isn't splited in caching and treelist generating
- Hard to read/understand
- Not useable without caching
#4 Updated by Alexander Opitz 4 months ago
@Susanne Yes, I checked this also with v9LTS and master, the hash is calculated with following array
$parameters = [ $id, $depth, $begin, $dontCheckEnableFields, $addSelectFields, $moreWhereClauses, $prevId_array, GeneralUtility::makeInstance(Context::class)->getPropertyFromAspect('frontend.user', 'groupIds', [0, -1]) ];