Neos 9.0 compatibility
When starting the development it was eminent that not all features of NodeTemplates version 1.0 could be considered. To ease maintenance the version 2 of NodeTemplates was a complete rewrite for this package in anticipation of Neos 9. It removed incompatible features but also introduced new functionalities. The core functionality was rewritten to not depend on active records so it can be adjusted to issue a set of content repository commands.
That way it became possible to reuse the test-suite as well as parts of the core domain and be up-mergeable.
Multiple up-merges from version 2 have been successful and this strategy will allow us to fix bugs or ease introducing new minor features.
That being said all features of NodeTemplates version 2 are herby adjusted/refactored to work with Neos 9 while passing all tests:
Core functionality, NodeTemplates via options.template
Full support of the feature set of version 2.
The deprecated EEL context variable triggeringNode
was removed as discussed. Please use site
or parentNode
instead.
flow nodetemplate:validate
Includes new --site
option: the Neos site, which determines the content repository. Defaults to the first available one.
flow nodeTemplate:createFromNodeSubtree
Includes new --site
option: the Neos site, which determines the content repository. Defaults to the first available one.
Additional notes
- introduce PHPStan Level 8
- run ci for PHP8.2 & PHP8.3
- align uri path segment generation to 9.0
NodeCreationService::generateUriPathSegment
(see also discussion to move it into the core) - The custom build declarative way to change the cr in version 2 via
Flowpack\NodeTemplates\Domain\NodeCreation\NodeMutator
was replaced by using native ESCR commands - adjust fully to NodeType properties/references split, which is already partly part of the version 2 philosophy
- Builds on the Neos.Ui node creation handler refactoring neos/neos-ui#3519
Full Changelog: 2.2.0...3.0.0