Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FUND] Support for TYPO3 12 LTS #900

Closed
sebastian-meyer opened this issue Feb 6, 2023 · 8 comments · Fixed by #1337
Closed

[FUND] Support for TYPO3 12 LTS #900

sebastian-meyer opened this issue Feb 6, 2023 · 8 comments · Fixed by #1337
Assignees
Labels
⭐ development fund 2024 A candidate for the Kitodo e.V. development fund. 💰 funded A feature funded by the Kitodo e.V. development fund. 🛠 maintenance A task to keep the code up-to-date and manageable.

Comments

@sebastian-meyer
Copy link
Member

sebastian-meyer commented Feb 6, 2023

Description

The upcoming Kitodo.Presentation 5.0 release will support TYPO3 10 ELTS and 11 LTS. The next TYPO3 LTS version is already released:

The next major release 6.x should support TYPO3 11 LTS and 12 LTS.

Expected benefits of this development

  • Developer / Maintainer
    • This is mandatory. We cannot ignore the development of the upstream TYPO3 CMS. It pushes the development and makes sure Kitodo.Presentation is an up-to-date tool.
  • Administrators
    • Run supported TYPO3-version is obligatory.

Estimated Costs and Complexity

I assume this should be a medium cost project for TYPO3 12, since there are just a few breaking changes to be expected. But the minimum PHP version will increase from 7.4 to 8.1, which requires some changes. Since TYPO3 11 LTS is supported until 2024-10-31, this is IMHO a must-do for the development fund 2024.

@sebastian-meyer sebastian-meyer added the ⭐ development fund 2023 A candidate for the Kitodo e.V. development fund. label Feb 6, 2023
@sebastian-meyer sebastian-meyer added the 🛠 maintenance A task to keep the code up-to-date and manageable. label Mar 20, 2023
@sebastian-meyer
Copy link
Member Author

Votes: 7

@sebastian-meyer sebastian-meyer changed the title [FUND] Support for TYPO3 12 LTS Support for TYPO3 12 LTS Jul 21, 2023
@sebastian-meyer sebastian-meyer removed the ⭐ development fund 2023 A candidate for the Kitodo e.V. development fund. label Jul 21, 2023
@sebastian-meyer sebastian-meyer added the ⭐ development fund 2024 A candidate for the Kitodo e.V. development fund. label Jan 22, 2024
@sebastian-meyer sebastian-meyer changed the title Support for TYPO3 12 LTS [FUND] Support for TYPO3 12 LTS Feb 8, 2024
@stweil
Copy link
Member

stweil commented Feb 21, 2024

I think that it would be good if this and other similar tasks would also update https://github.com/kitodo/kitodo-demo (and the related online demo if that still exists). In addition the documentation should be updated and also include instructions how to upgrade from previous versions of the software. I suggest to add that as requirements here.

@sebastian-meyer
Copy link
Member Author

Votes: 21

@solth
Copy link
Member

solth commented Apr 2, 2024

🥈

@sebastian-meyer sebastian-meyer added the 💰 funded A feature funded by the Kitodo e.V. development fund. label May 14, 2024
thomaslow added a commit to thomaslow/kitodo-presentation that referenced this issue Sep 16, 2024
… v10 (fixes kitodo#900).

Changes:
- Update composer.json for Typo3 v12
- Add missing dependency for `typo3/cms-scheduler`
- Add version restriction for phpunit v9 (phpunit v10 has breaking changes)
- Upgrade dependency `typo3/testing-framework` to v7, which is compatible with Typo3 v11 and v12
- Fix basic problems with extension configuration (see [Feature #96733](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Feature-96733-NewBackendModuleRegistrationAPI.html))
- Replace `TYPO3_MODE` references (see [Deprecation #92947](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-92947-DeprecateTYPO3_MODEAndTYPO3_REQUESTTYPEConstants.html))
- Fix Flash message rendering (see [Depcrecation #97787](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Deprecation-97787-SeveritiesOfFlashMessagesAndReportsDeprecated.html))
- Fix `SolrSearch` implementation by extending from `Query` class (see [Breaking #96044](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-96044-HardenMethodSignatureOfLogicalAndAndLogicalOr.html))
- Avoid initialization via constructor in `AbstractController` (required to access $request when migrating to v13, see Deprecation #99615)[https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.2/Deprecation-99615-GeneralUtilityGPMerged.html])
- Fix NewTenantController by using dependency injection (see [Manual](https://docs.typo3.org/m/typo3/reference-coreapi/11.5/en-us/ApiOverview/DependencyInjection/Index.html#when-to-use-dependency-injection-in-typo3))
- Return ResponseInterfaces in controller actions (see [Deprecation #92784](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-92784-ExtbaseControllerActionsMustReturnResponseInterface.html))
- Change `forward` calls to `redirect` in controller classes (see [Deprecation #92815](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.0/Deprecation-92815-ActionControllerForward.html))
- Remove reference to old `ObjectManager` (see [Deprecation #94619](https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.4/Deprecation-94619-ExtbaseObjectManager.html))
- Determine login status via Context class instead of Global (see []())
- Update GitHub CI tests to Typo3 v11 (with PHP 7.4) and v12 (with PHP 8.1)
thomaslow added a commit to thomaslow/kitodo-presentation that referenced this issue Sep 16, 2024
- Update composer.json for Typo3 v12
- Add missing dependency for `typo3/cms-scheduler`
- Add version restriction for phpunit v9 (phpunit v10 has breaking changes)
- Upgrade dependency `typo3/testing-framework` to v7, which is compatible with Typo3 v11 and v12
- Fix basic problems with extension configuration (see Typo3 Feature #96733)
- Replace `TYPO3_MODE` references (see Typo3 Deprecation #92947)
- Remove phpstan ignore rule `TYPO3_MODE not found`, which is not required any more
- Fix flash message rendering (see Typo3 Depcrecation #97787)
- Fix `SolrSearch` implementation by extending from `Query` class (see Typo3 Breaking #96044)
- Avoid initialization via constructor in `AbstractController` (required to access $request when migrating to v13, see Typo3 Deprecation #99615)
- Fix NewTenantController by using dependency injection (see Typo3 Manual)
- Return ResponseInterfaces in controller actions (see Typo3 Deprecation #92784)
- Change `forward` calls to `redirect` in controller classes (see Typo3 Deprecation #92815)
- Remove reference to old `ObjectManager` (see Typo3 Deprecation #94619)
- Determine login status via Context class instead of `$GLOBALS["TSFE"]` (see Typo3 Manual)
- Update GitHub CI tests to Typo3 v11 (with PHP 7.4) and v12 (with PHP 8.1)
thomaslow added a commit to thomaslow/kitodo-presentation that referenced this issue Sep 17, 2024
- Update composer.json for Typo3 v12
- Add missing dependency for `typo3/cms-scheduler`
- Add version restriction for phpunit v9 (phpunit v10 has breaking changes)
- Upgrade dependency `typo3/testing-framework` to v7, which is compatible with Typo3 v11 and v12
- Fix basic problems with extension configuration (see Typo3 Feature #96733)
- Replace `TYPO3_MODE` references (see Typo3 Deprecation #92947)
- Remove phpstan ignore rule `TYPO3_MODE not found`, which is not required any more
- Fix flash message rendering (see Typo3 Depcrecation #97787)
- Fix `SolrSearch` implementation by extending from `Query` class (see Typo3 Breaking #96044)
- Avoid initialization via constructor in `AbstractController` (required to access $request when migrating to v13, see Typo3 Deprecation #99615)
- Fix NewTenantController by using dependency injection (see Typo3 Manual)
- Return ResponseInterfaces in controller actions (see Typo3 Deprecation #92784)
- Change `forward` calls to `redirect` in controller classes (see Typo3 Deprecation #92815)
- Remove reference to old `ObjectManager` (see Typo3 Deprecation #94619)
- Determine login status via Context class instead of `$GLOBALS["TSFE"]` (see Typo3 Manual)
- Update GitHub CI tests to Typo3 v11 (with PHP 7.4) and v12 (with PHP 8.1)
- Remove columns `cruser_id`, `t3ver_oid`, `t3ver_wsid`, `t3ver_state`, `t3ver_stage` from test fixtures, which are not available in Typo3 v12 any more (see Typo3 Breaking #98024)
- Fix OAI-PMH template in case of request without verb or other parameters
- Fix various undefined array key issues that are raised when using PHP 8+
thomaslow added a commit to thomaslow/kitodo-presentation that referenced this issue Sep 17, 2024
- Update composer.json for Typo3 v12
- Add missing dependency for `typo3/cms-scheduler`
- Add version restriction for phpunit v9 (phpunit v10 has breaking changes)
- Upgrade dependency `typo3/testing-framework` to v7, which is compatible with Typo3 v11 and v12
- Fix basic problems with extension configuration (see Typo3 Feature #96733)
- Replace `TYPO3_MODE` references (see Typo3 Deprecation #92947)
- Remove phpstan ignore rule `TYPO3_MODE not found`, which is not required any more
- Fix flash message rendering (see Typo3 Depcrecation #97787)
- Fix `SolrSearch` implementation by extending from `Query` class (see Typo3 Breaking #96044)
- Avoid initialization via constructor in `AbstractController` (required to access $request when migrating to v13, see Typo3 Deprecation #99615)
- Fix NewTenantController by using dependency injection (see Typo3 Manual)
- Return ResponseInterfaces in controller actions (see Typo3 Deprecation #92784)
- Change `forward` calls to `redirect` in controller classes (see Typo3 Deprecation #92815)
- Remove reference to old `ObjectManager` (see Typo3 Deprecation #94619)
- Determine login status via Context class instead of `$GLOBALS["TSFE"]` (see Typo3 Manual)
- Update GitHub CI tests to Typo3 v11 (with PHP 7.4) and v12 (with PHP 8.1)
- Remove columns `cruser_id`, `t3ver_oid`, `t3ver_wsid`, `t3ver_state`, `t3ver_stage` from test fixtures, which are not available in Typo3 v12 any more (see Typo3 Breaking #98024)
- Fix OAI-PMH template in case of request without verb or other parameters
- Fix various undefined array key issues that are raised when using PHP 8+
@sebastian-meyer sebastian-meyer linked a pull request Sep 20, 2024 that will close this issue
22 tasks
@stweil
Copy link
Member

stweil commented Oct 18, 2024

There is still no TYPO3 extension available on TER for TYPO3 12, so an installation fails:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires kitodo/presentation 5.0.6 -> satisfiable by kitodo/presentation[v5.0.6].
    - kitodo/presentation v5.0.6 requires typo3/cms-core ^10.4.37|^11.5.40 -> found typo3/cms-core[v10.4.37, v11.5.40, v11.5.41] but it conflicts with your root composer.json require (^12.4.0).

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

I suggest to reopen the issue until a new release with the required updates is provided.

For my further tests I used the latest code from the master branch.

@stweil
Copy link
Member

stweil commented Oct 18, 2024

"Check TCA Migrations" reports a lengthy list of issues:

TCA migrations need to be applied
Check the following list and apply needed changes.
[...]

How should these issues be handled?

@stweil
Copy link
Member

stweil commented Oct 18, 2024

"Scan Extension Files" also reports a very long list with breaking changes and deprecations.

@thomaslow
Copy link
Contributor

Hi Stefan,

Thank you for testing the Typo3 v12 update.

There is still no TYPO3 extension available on TER for TYPO3 12

Yes, the Typo3 v12 support is currently only available in the master branch. I'm sure @sebastian-meyer will prepare a 6.x release soon(ish). In the meantime, I would appreciate any feedback on the Typo3 v12 update (from the current master branch).

"Scan Extension Files" also reports a very long list

In order to maintain compatibility with Typo3 v11, I tried to fix all deprecation warnings reported by Typo3 v11. Unfortunately, we cannot fix all warnings reported by Typo3 v12 because these changes will likely break compatibility with Typo3 v11.

Also, keep in mind that the Typo3 "extension scanner" is only running a set of regular expressions, which means there are plenty of false positives (e.g. references to internal methods that have the same name as deprecated Typo3 methods, which lead to several false positive deprecation warnings).

"Check TCA Migrations" reports a lengthy list of issues

I'll have to check those again. There are still 2 warnings even with a fresh Typo3 v11 installation. However, so far they do not seem to cause any trouble, neither with v11 nor v12. I will investigate this next week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⭐ development fund 2024 A candidate for the Kitodo e.V. development fund. 💰 funded A feature funded by the Kitodo e.V. development fund. 🛠 maintenance A task to keep the code up-to-date and manageable.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants