Bug #96984
openDuplicate data imports with typo3/cms-composer-installers v4
0%
Description
I have tried the upcoming composer installer v4 ("typo3/cms-composer-installers:4.0.x@dev"). This leads to a duplicate execution of data imports and in my case to a duplicate tree in the backend (duplicate "Initialisation/" import execution).
sys_registry entry before upgrade:- entry_namespace: extensionDataImport
- entry_key: typo3conf/ext/extension/Initialisation/dataImported
- entry_namespace: extensionDataImport
- entry_key: or/company/extension/Initialisation/dataImported
This occurs because of the changed package path https://github.com/TYPO3/typo3/blob/v11.5.6/typo3/sysext/extensionmanager/Classes/Utility/InstallUtility.php#L450
Composer Installer v3: /var/www/app/www/typo3conf/ext/extension/ -> typo3conf/ext/extension/
Composer Installer v4: /var/www/app/vendor/company/extension/ -> or/company/extension/
Is this issue already known?
Updated by Helmut Hummel over 2 years ago
- Status changed from New to Accepted
- Complexity set to hard
Thanks! Looks valid.
Any idea and help to fix this is appreciated.
Updated by Alexander Vogt over 2 years ago
In our case we have entry keys like "or/company/extension/Initialisation/dataImported". We have a "or" prefix because we use the web-dir name "www" instead of "public" in this project. So the key with the default web-dir "public" is "company/extension/Initialisation/dataImported". That looks better :). But it is maybe better to fully ignore the package path and only use the extension name in the future.
I'm not sure about the best solution. Maybe there should be a upgrade wizard which migrates the previous "typo3conf/ext/extension/Initialisation/dataImported" keys to the new key "company/extension/Initialisation/dataImported". But the issue in our case would be the "extension:setup" command in our composer.json. A Upgrade wizard will always be too late because this command executes the extension setup (InstallUtility->processExtensionSetup) after the composer update and thereby leads to the duplicate import execution.
A temporary workaround is possible via the event "TYPO3\CMS\Core\Package\Event\PackagesMayHaveChangedEvent". This is executed before the "processExtensionSetup" call and allows the correction of the entry keys.
Updated by Helmut Hummel 5 months ago
- Related to Bug #103009: Import of Initialisation Files not working in typical dev setup added
Updated by Helmut Hummel 5 months ago
- Related to deleted (Bug #103009: Import of Initialisation Files not working in typical dev setup)