Task #39352
Refactor t3lib_pageSelect::getRootline
| Status: | Resolved | Start date: | 2012-07-28 | |
|---|---|---|---|---|
| Priority: | Must have | Due date: | ||
| Assignee: | Steffen Ritter | % Done: | 100% |
|
| Category: | Backend API | |||
| Target version: | 6.0.0-pre-beta1 | |||
| TYPO3 Version: | 6.0 | Complexity: | ||
| PHP Version: | 5.3 | |||
| Votes: | 0 |
Related issues
| related to File Abstraction Layer - Bug #34611: Support for "levelmedia" getText property | Rejected | 2012-03-06 | ||
| related to Extbase MVC Framework - Bug #39997: Failing test translateForEmptyStringKeyReturnsNull | Resolved | 2012-08-20 | ||
| related to Core - Bug #42029: Rootline relation overlay does not work for translated pages | Resolved | 2012-10-15 | ||
| related to Core - Bug #46000: Wrong usage of array_unique() in RootlineUtility.php | Resolved | 2013-03-04 |
Associated revisions
[TASK] Refactor t3lib_pageSelect::getRootline
t3lib_pageSelect::getRootline is a function called many
times during frontend rendering and link generation.
The complete levelfield logic (incl. levelmedia) is based
on the result of this function.
The function itself has very fuzzy code, hard to read
conditions an in its current implementation a n² complexity.
Furthermore the current structure allows only very basic
caching, which does not fulfill todays needs.
The refactoring moves the "Rootline" to its own class and
splits the logic in many small chunks and helper functions.
Additionally the get(), and generateRootline() use the
CachingFramework to Cache the rootline.
Ancient "Failure Messages" in Rootline have been migrated
to useful RuntimeExceptions.
In addition as a new feature/bugfix levelfields resolve
relations so that levelmedia works with FAL again.
Change-Id: Ief215400c6552480603038966207fa29a26fe5b1
Releases: 6.0
Resolves: #39352
[TASK] Refactor t3lib_pageSelect::getRootline
t3lib_pageSelect::getRootline is a function called many
times during frontend rendering and link generation.
The complete levelfield logic (incl. levelmedia) is based
on the result of this function.
The function itself has very fuzzy code, hard to read
conditions an in its current implementation a n² complexity.
Furthermore the current structure allows only very basic
caching, which does not fulfill todays needs.
The refactoring moves the "Rootline" to its own class and
splits the logic in many small chunks and helper functions.
Additionally the get(), and generateRootline() use the
CachingFramework to Cache the rootline.
Ancient "Failure Messages" in Rootline have been migrated
to useful RuntimeExceptions.
In addition as a new feature/bugfix levelfields resolve
relations so that levelmedia works with FAL again.
Change-Id: Ief215400c6552480603038966207fa29a26fe5b1
Releases: 6.0
Resolves: #39352
Reviewed-on: http://review.typo3.org/13322
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
Tested-by: Marcel Burkhalter
Reviewed-by: Steffen Gebert
Tested-by: Steffen Gebert
[BUGFIX] Failing test translateForEmptyStringKeyReturnsNull()
Since the rootline refactoring a test case fails. Solution is to only
call the rootline in backend mode if page id is not 0. This additionally
saves some cycles in backend context.
Change-Id: I224ae2655b06dfb1f239b06d6ac2cbb89206a7a8
Resolves: #39997
Related: #39352
Releases: 6.0
Reviewed-on: http://review.typo3.org/13966
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
History
Updated by Gerrit Code Review 10 months ago
- Status changed from Accepted to Under Review
Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 10 months ago
Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 10 months ago
Patch set 4 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Steffen Ritter 10 months ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset aa378e1541bab113d10b079240be27a320a43552.
Updated by Steffen Gebert 10 months ago
- Status changed from Resolved to Under Review
- Target version deleted (
6.0.0-alpha3)
Sorry, this is not merged, it only has been pushed to a sandbox (by myself..)!
Updated by Gerrit Code Review 9 months ago
Patch set 6 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 9 months ago
Patch set 7 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 9 months ago
Patch set 8 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 9 months ago
Patch set 9 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Gerrit Code Review 9 months ago
Patch set 10 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/13322
Updated by Steffen Gebert 9 months ago
- Target version set to 6.0.0-pre-beta1
Updated by Steffen Ritter 9 months ago
- Status changed from Under Review to Resolved
Applied in changeset a7d8943107f1e2a80529902e3dd5bbd015839d75.