Project

General

Profile

Actions

Bug #105342

open

Destribution Extension does not create page-tree

Added by Stefan Froemken 8 days ago. Updated 2 days ago.

Status:
New
Priority:
Must have
Assignee:
-
Category:
Extension Manager
Target version:
Start date:
2024-10-18
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
13
PHP Version:
8.3
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

Hello,

while activating following extension in ExtensionManager no pages will be created: https://github.com/TYPO3-Documentation/t3docs-examples. In logs you will find following Exception thrown from TcaSchemaFactory:

```
UndefinedSchemaException: No TCA schema exists for the name "pages".
```

Manual debugged Backtrace:
  • In Bootstrap::init():155 was filled correctly
  • After a while it hops into PackageActivationService::activate
  • Rebuild Schema: $this->tcaSchemaFactory->rebuild($GLOBALS['TCA']); Works, but that method is for functional tests only ;-)
  • ImportExportUtility::importT3DFile
  • Import::importData
  • Import::writePages -> creates new DataHandler instance
  • DataHandler::process_datamap
  • DataHandler::initializeSlugFieldsToEmptyString
  • While calling TcaSchemaFactory::get() the schema property is suddly empty

DataHandler is declared "shared: false" and injects TcaSchemaFactory which is declared "shared: true"

I remember a discussion with Lolli that such relations are problematic. Maybe that's why a * new* instamce of TcaSchemaFactory was created?

Nice greetings

Stefan


Related issues 1 (1 open0 closed)

Related to TYPO3 Core - Bug #104378: Initialisation/data.xml not working when installing extensionNeeds Feedback2024-07-12

Actions
Actions #1

Updated by Stefan Froemken 8 days ago

WOW...I have over 10 var/cache/di/DependencyInjectionContainer_[hash].php files!!!
With each activation/deactivation of an extensionTYPO3 creates a NEW DI cache file.
Sure, in that case the $container->services does not know, that TcaSchemaFactory has already been loaded, and loads it again. Empty.

TYPO3: 13.4.0-dev
Commit: 924ced54ba1fb20b9edde8a3e98462ff83f11804
Mode: non-composer (Standalone/ZIP-package/legacy)

Actions #2

Updated by Stefan Froemken 8 days ago

Just tested on TYPO3 13.4.0 Composer:
I can't reproduce the issue while remove/req f.e. typo3/cms-seo or typo3/cms-dashboard. So, it's not a problem with ext_tables.sql or Configuration/TCA/* files.
Only, if I remove/req t3docs/examples each process creates a new DI cache file.
Maybe it's because of the Initialization process?!?!

Actions #3

Updated by Eckard Gehrke 7 days ago

  • Is Regression set to Yes

Hi,
I have the same issue. Installing complete new typo3 via zip files, install it, load distributions and install introduction package, success message appears but when "view / edit webpage" nothing happens, looking to the DB no pages created/inserted.
Same procedure works with typo3 v12 smoothly.
I am on WINDOWS with xampp. When you need any logs let me know.
Best regards
Eckard.

Actions #4

Updated by Benni Mack 6 days ago

Hey all,

can you let me know what MySQL version you are using?

Actions #5

Updated by Stefan Froemken 6 days ago

Sure. Tested with MariaDB 10.4. I also thought about DB issue and updated to version 10.11. But problem is the same.

Actions #6

Updated by Eckard Gehrke 5 days ago ยท Edited

I am using: 10.4.32-MariaDB part of xampp 8 2 12

Actions #7

Updated by Christian Kuhn 2 days ago

Stefan Froemken wrote:

DataHandler is declared "shared: false" and injects TcaSchemaFactory which is declared "shared: true"

I remember a discussion with Lolli that such relations are problematic.

Just to get this right: The other way is problematic: Injecting a stateful service (shared:false) into a stateless service (shared: true, default) makes your stateless consumer stateful and needs careful handling.

Actions #8

Updated by Garvin Hicking 2 days ago

  • Related to Bug #104378: Initialisation/data.xml not working when installing extension added
Actions

Also available in: Atom PDF