Rediscussing real composer dependencies in TYPO3 CMS 6.2 LTS

Discussion Topic

Some years ago it was reported that TYPO3 CMS 6.2 can’t deal with real composer dependencies, i.e. composer packages that are not a TYPO3 extension (from here on I’ll call them “external composer packages”). Recently the provided bugfix was rejected because of the “risk breaking existing installations”. (Forge: https://forge.typo3.org/issues/54491)

As of right now efficient composer usage is only possible from TYPO3 CMS 7.6. I’m currently working on a implementation of the Codeception functionality from TYPO3 CMS 8 into 6.2 and 7.6, where I also use external composer packages. This has made me realize that TYPO3 CMS 6.2 also needs to get a bugfix on this issue, as extensions that could help upgrading or migrating from TYPO3 CMS 6.2 to later TYPO3 versions are likely to use external composer packages.

Possible Solution

Impact

  • Changes to the dependency graph in the DependencyResolver

Pro

  • Tackling the problem were it occurs
  • an environment variable (or other constant type) could be used to explicitly enable the feature/bugfix. It should not break previous installations if it’s disabled by default. (not yet considered in my suggestion above)
  • solving this issue might make it easier to upgrade from TYPO3 CMS 6.2 LTS to later versions (e.g. 7.6 LTS, 8, …), as described above

Con

  • (It’s a change in TYPO3 Core functionality)

Remarks and notes

Organizational

Topic Initiator: Mario Lubenka
Topic Mentor: Helmut Hummel

Thanks for bringing up the discussion. However, the EOL (End of life) of 6.2 is in 11 weeks (March 2017)!

If you really need those changes, bring those into the world of 6.2 by using XCLASS with a custom extension. As there are no major changes anymore expected, those xclass will be pretty stable and not broken by any core change.

3 Likes

Hello Mario, I tend to agree with Georg here. We are already two generations later.

You can also upgrade 6.2 installations to 7 without this feature in the old version.

“extensions that could help upgrading or migrating from TYPO3 CMS 6.2 to later TYPO3 versions” => this is hypothetical, or if you really need to create such an extension, it simply should be compatible with what TYPO3 6.2 supports at the time it was released (i.e. include the dependencies right along with the extension).

We did had the similar challenges back with 4.5 where the “upgradereport” extension had to be build with old 4.5 Extbase “coding style”. Not beautiful, but did the job.

It seems that I can’t use XCLASS to overwrite the DependencyResolver. It seems to check the dependencies before including the extensions, which makes perfect sense…

I’ve now put the external packages in an own composer file and use a script to merge them before composer install/update runs. This way TYPO3 CMS 6.2 doesn’t know about these packages and can’t complain. :rolling_eyes:

This topic was automatically closed after 28 days. New replies are no longer allowed.