-
Notifications
You must be signed in to change notification settings - Fork 45
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
[MAINTENANCE] Add support for Typo3 v12 (fixes #900) #1337
Conversation
- 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+
… 32 characters since Typo3 v10.4. See [ext_tables.sql](https://github.com/TYPO3/typo3/blob/808ef61a53bc1e7ef65b715c13727b0f2d086c24/typo3/sysext/frontend/ext_tables.sql#L29) for Typo3 frontend module.
Typo3 v12 changes `addQueryString` parameter, see Typo3 Feature #98488.
Hm, some parent classes method's signature for some of the classes in |
Also pinging @markusweigelt, because he is the author of the validator feature. |
@sebastian-meyer Thanks for trying to merge. I'll have to look at this in more detail. It may be related to Breaking Change 96998. |
Thank you for your implementations. I will test the 'Embedded 3D Viewer' later this week with your update. Regarding the validation: https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/12.0/Breaking-96998-ExtbaseValidatorInterfaceChanged.html#migration has some hint how to handle both versions. |
Yes, if it is possible we should support both versions. There are some users who will use the ELTS version of TYPO3 v11 before migrating to v12. I reverted my changes in |
…in Typo3 v12 any more.
@sebastian-meyer Unit and integration tests work again with both Typo3 v11 and v12. Please let me know in case I can help some more. |
Thank you very much! I'll review this tomorrow! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Outstanding work! Thank you very much!
I'll properly separate branches for 5.x and 6.x development and then this can be merged.
@sebastian-meyer I'm glad my changes work for you. Please let me know in case any issues pop up that I missed. Of course, I'll occasionally check the issue list myself in the following weeks. |
Changes
The following changes have been implemented:
typo3/cms-scheduler
typo3/testing-framework
to v7, which is compatible with Typo3 v11 and v12TYPO3_MODE
references (see Typo3 Deprecation #92947)TYPO3_MODE not found
, which is not required any moreSolrSearch
implementation by extending fromQuery
class (see Typo3 Breaking #96044)AbstractController
(see Typo3 Deprecation #99615)forward
calls toredirect
in controller classes (see Typo3 Deprecation #92815)ObjectManager
(see Typo3 Deprecation #94619)$GLOBALS["TSFE"]
(see Typo3 Manual)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)session_id
length intx_dlf_basket
table, which has more then 32 characters since Typo3 v10.4, see ext_tables.sql for Typo3 frontend module.Todo
The following tasks still need to be done before merging:
solr:9.6
as soon as pull request [MAINTENANCE] Upgrade solr-ocrhighlighting to v0.9.1 for Solr 9.7 #1335 is mergedTests
The following tests have been done for a fresh installation of both Typo3 v11 and Typo3 v12:
General
Create default namespaces
,Create structures
,Create metadata
,Create solr rore
onNew Tenant
admin pagekitodo:index
kitodo:reindex --all
kitodo:harvest
kitodo-demo
theme, see belowKitodo Plugins
Kitodo: Collection
Kitodo: Search
Kitodo: List View
, shows facets, facets can be selectedKitodo: List View
Kitodo: PageView
Kitodo: PageView
Kitodo: Navigation
Kitodo: Feeds
Kitodo: OAI-PMH Interface
Kitodo: Table of Contents
Kitodo: Basket
Kitodo: Metadata
Kitodo: Page Grid
Kitodo: Calendar
Unable to test
Kitodo: Statistics
Kitodo: Embedded 3d Viewer
Kitodo: AudioPlayer
Kitodo: Toolbox
Kitodo: Basket
(pdf generation)Unfortunately, I do not have access or experience with a production system of
kitodo-presentation
. Because of that, I'm not sure whether some of the issues are the result of a misconfiguration of my Typo3 installation. All problems listed above also occur with the current master and my Typo3 installation. I would appreciate any help in testing my changes or tips to correctly set up Typo3 pages and Kitodo-Presentation plugins for testing.Demo
Demonstration of
kitodo-presentation
updated for Typo3 v12 with demo theme (please ignore CSS problems)2024-09-24_Kitodo-Presentation_Typo3-v12_Demo.mp4