Project

General

Profile

Actions

Task #70903

closed

Refactor "getTreeList" functions / add utility function

Added by Markus Zipfel over 8 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Code Cleanup
Start date:
2015-10-21
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
medium
Sprint Focus:

Description

While searching for a way to get a comma-seperated PID list without using the old pi_getPidList function (defined in TYPO3\CMS\Frontend\Plugin\AbstractPlugin) I found three definitions of a function getTreeList in different classes:

  1. in TYPO3\CMS\Core\Database\QueryGenearator
  2. in TYPO3\CMS\Core\Database\QueryView
  3. in TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer

The first two getTreeList are almost equal (and have a "todo: Define visibility"). Each of these methods is public. Perhaps it would be useful to have a utility function doing this, inspired by the method defined in the ContentObjectRenderer because that one seems to use caching.

This is related to #33138: Provide getPidList function in ExtBase environment (includes propsed solution)


Related issues 2 (1 open1 closed)

Related to TYPO3 Core - Feature #33138: provide getPidList function in ExtBase environment (includes propsed solution)Closed2012-01-12

Actions
Related to TYPO3 Core - Bug #88083: ContentObjectRenderer::getTreeList isn't aware of Workspace/NonCacheRequests and expires not respected / mishandledUnder Review2019-04-04

Actions
Actions #1

Updated by Franz Holzinger over 8 years ago

The function getTreeList is very slow. I have discovered on a page with many hierarchical sysfolders that the call to this function took 3 seconds of time. The generation of the rest of the page took another 6 seconds. It would be fine if the information needed by getTreeList could completely reside somewhere in a cache. Almost every TYPO3 extension makes calls to this function.


./typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php

Actions #2

Updated by Benni Mack about 7 years ago

  • Target version changed from 8 LTS to Candidate for Major Version
Actions #3

Updated by Benni Mack about 4 years ago

  • Related to Bug #88083: ContentObjectRenderer::getTreeList isn't aware of Workspace/NonCacheRequests and expires not respected / mishandled added
Actions #4

Updated by Christian Kuhn over 2 years ago

  • Status changed from New to Closed

Hey. I think we reduced the mess meanwhile and can close the issue: queryView and queryGenerator are now merged and in ext:lowlevel and no longer public api, the tree methods in extbase and contentObjectRenderer have been cleaned up accordingly.

Actions

Also available in: Atom PDF