Project

General

Profile

Actions

Bug #105493

open

typo3/cms-extensionmanager still declared as partOfMinimalUsableSystem: true

Added by S P 3 days ago. Updated 3 days ago.

Status:
Under Review
Priority:
Could have
Assignee:
-
Category:
Extension Manager
Target version:
-
Start date:
2024-10-28
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
14
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

According to this changelog entry: https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/13.0/Breaking-102935-OverhauledExtensionInstallationInExtensionManager.html

The EXT:extensionmanager extension is now optional.

However, in its composer.json:

"Package": {
    "protected": true,
    "partOfFactoryDefault": true,
    "partOfMinimalUsableSystem": true
},

What is correct here? An optional extension is surely not "partOfMinimalUsableSystem".


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Feature #102935: Add PackageInitialisationEventClosedOliver Bartsch2024-01-26

Actions
Actions #1

Updated by Oliver Bartsch 3 days ago

Actions #2

Updated by Andreas Kienast 3 days ago

IMO it's correct to have partOfMinimalUsableSystem here. In non-Composer scenarios, there would be no way to enable EXT:extensionmanager ever again.

Actions #3

Updated by Gerrit Code Review 3 days 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/+/86809

Actions #4

Updated by Benjamin Franzke 3 days ago

  • Priority changed from Should have to Could have
  • TYPO3 Version changed from 13 to 14

Good catch, although there is more work to be done to change that.

First and foremost we need to adapt https://github.com/TYPO3/typo3/blob/84e9083c50ad4bd4c42d4a846f78d470e379ab87/typo3/sysext/core/Classes/Package/PackageManager.php#L214 to respect partOfMinimalUsableSystem instead of protected, otherwise a change to partOfMinimalUsableSystem = false would have no effect, as the package would still always be activated due to it being present in classic mode.

With that in mind we need to think about the following usecases:

PackageStates.php is corrupt and therefore removed and needs to be recreated by the installtool:
In this case we still need the extension-manager to be enabled by default, as the integrator would otherwise not be able to activate it later.
(We'd need a minimimal extension-manager in EXT:install in order to allow extensionmanager activation from within install tool)

It would probably be fine to deactivate the extension manger via CLI in classic mode, but that CLI tool is currently provided by extensionmanager itself.
That means this tool would need to be moved somewhere (where?) else.

That's something that could be addressed in v14, but in v13 extensionmanager is optional for composer mode and will probably keep always-active in classic mode.

Actions

Also available in: Atom PDF