Project

General

Profile

Actions

Task #104724

closed

Epic #104723: ext:adminpanel creates a huge mess

DI in admin panel broken due to ModuleDataStorageCollection

Added by Christian Kuhn about 2 months ago. Updated 5 days ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
AdminPanel
Target version:
-
Start date:
2024-08-24
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
13
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

ModuleDataStorageCollection extends SplObjectStorage.

This means it is a list of the module objects and those park 'moduleData' as 'info'.

This is then serialized and put into cache_adminpanel_requestcache, and later get() from cache again. (MainController).

Now, when any of such modules or submodules (like Event.php) have DI, those are serialized, and unserialized.

Well ... that's not good since it catapults the size of those cache entries far into MB range when DI is used. And worse, as soon as there is some closure in it (like Container has), serialize() will fail since closures can't be serialized. And hey: Never "cache" DI stuff ...

I for now push a WIP patch, that throws this object storage away and substitutes it with a array, with array-keys being the class names ... but i'm unsure if that's it.

See also #104725 of this epic as a second major fail.

This is not trivial to follow codewise, and it does not happen with all modules/submodules, depending on if they implement DataProviderInterface.


Related issues 4 (0 open4 closed)

Related to TYPO3 Core - Feature #86003: Add composition based API for the adminpanelClosedSusanne Moog2018-08-28

Actions
Related to TYPO3 Core - Feature #104773: Implement and use a core ViewFactoryInterfaceClosed2024-08-29

Actions
Related to TYPO3 Core - Feature #103504: Introduce a Fluid cObject for pagesClosedBenni Mack2024-03-29

Actions
Related to TYPO3 Core - Task #105291: Merge AdminPanelDataPersister into AdminPanelRendererClosed2024-10-13

Actions
Actions #1

Updated by Christian Kuhn about 2 months ago

  • Tracker changed from Epic to Bug
  • Category set to AdminPanel
  • TYPO3 Version set to 13
Actions #2

Updated by Christian Kuhn about 2 months ago

  • Related to Feature #86003: Add composition based API for the adminpanel added
Actions #3

Updated by Gerrit Code Review about 2 months ago

  • Status changed from New to Under Review

Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85773

Actions #4

Updated by Gerrit Code Review about 2 months ago

Patch set 2 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85773

Actions #5

Updated by Christian Kuhn about 2 months ago

  • Description updated (diff)
Actions #6

Updated by Christian Kuhn about 2 months ago

  • Description updated (diff)
Actions #7

Updated by Christian Kuhn about 2 months ago

  • Related to Feature #104773: Implement and use a core ViewFactoryInterface added
Actions #8

Updated by Christian Kuhn about 2 months ago

Actions #9

Updated by Gerrit Code Review 30 days ago

Patch set 3 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/85773

Actions #10

Updated by Benjamin Franzke 12 days ago

  • Tracker changed from Bug to Task
Actions #11

Updated by Christian Kuhn 7 days ago

  • Related to Task #105291: Merge AdminPanelDataPersister into AdminPanelRenderer added
Actions #12

Updated by Gerrit Code Review 6 days ago

Patch set 4 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #13

Updated by Gerrit Code Review 6 days ago

Patch set 5 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #14

Updated by Gerrit Code Review 6 days ago

Patch set 6 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #15

Updated by Gerrit Code Review 6 days ago

Patch set 7 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #16

Updated by Gerrit Code Review 6 days ago

Patch set 8 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #17

Updated by Gerrit Code Review 6 days ago

Patch set 9 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #18

Updated by Gerrit Code Review 6 days ago

Patch set 10 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/86572

Actions #19

Updated by Christian Kuhn 6 days ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100
Actions #20

Updated by Benni Mack 5 days ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF