Task #59917

Epic #55070: Workpackages

Epic #55065: WP: Overall System Performance (Backend and Frontend)

Epic #55656: Optimize overall Extbase performance

Story #55168: Optimize Extbase generic persistence

User Repositories in internal persistence logic

Added by Felix Oertel about 1 year ago. Updated about 1 month ago.

Status:Under Review Start date:2014-06-27
Priority:Could have Due date:2014-07-09
Assigned To:Felix Oertel % Done:

20%

Category:Extbase Spent time: -
Target version:7.4 (Backend) Estimated time:24.00 hours
TYPO3 Version:6.2 Complexity:
PHP Version: Sprint Focus:

Description

Internal (e.g. when fetching child records), Extbase does not use the Repository provided by an extension but it's own methods (e.g. findByIdentifier). This leads to Extbase not using QueryCache, not respecting Orderings or other QuerySettings.

If we implement using Repositories instead, this solves all those problems at once.


Related issues

related to Core - Task #55169: Extbase: fetch child objects in one query Under Review 2014-07-22
related to Core - Feature #60460: Refactor lazyLoading handling in extbase Accepted 2014-07-22

History

#1 Updated by Helmut Hummel about 1 year ago

Felix Oertel wrote:

If we implement using Repositories instead, this solves all those problems at once.

What about child records that are not aggregate root, thus do not have a repository of their own?

Instead of implementing kind of a workaround, wouldn't it be more logical to implement proper ordering and caching when using the findByIdentifier() methods in the persistence manager?

#2 Updated by Felix Oertel about 1 year ago

Hey Helmut,

thanks for your comment.

My idea is to use a generic repository for the domain objects which are not aggregate roots.

I do not think, this solution is a workaround. Implementing a second way to retrieve objects directly (instead of through the repository) looks like a workaround to me. Why should we implement all we have in repositories (language-/-overlay-mode, ordering, enableFields, settings for storagePid, queryCache, preparedStatements, etc) a second time?

regards, foertel

#3 Updated by Lorenz Ulrich about 1 year ago

Is there still Work Packages budget left for this task? I completely agree with Felix.

#4 Updated by Felix Oertel about 1 year ago

Hey,

yep, there is some budget left and we are working on this task right now. ;-) Actually having a little two-dayed-codesprint on tue / wed ... expect to see results after that.

regards, foertel

#5 Updated by Gerrit Code Review 12 months ago

  • Status changed from Accepted to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32286

#6 Updated by Gerrit Code Review 12 months ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32286

#7 Updated by Gerrit Code Review 12 months ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32286

#8 Updated by Mathias Schreiber 7 months ago

  • Target version changed from 7.0 to 7.1 (Cleanup)

#9 Updated by Gerrit Code Review 5 months ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32286

#10 Updated by Christian Kuhn about 1 month ago

The pending patch was abandoned.

#11 Updated by Benjamin Mack about 1 month ago

  • Target version changed from 7.1 (Cleanup) to 7.4 (Backend)

Also available in: Atom PDF