-
Notifications
You must be signed in to change notification settings - Fork 11
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
FEATURE: Neos 9.0 compatibility #51
base: 3.0
Are you sure you want to change the base?
Conversation
this one ^^ --filter testNodeCreationMatchesSnapshot1
…ing `node_templates` cr
See neos/neos-development-collection#4322 if this actually correct behavior or not
…ed explicitly Backport of #51 The idea is we move more and more to separating the "command" creation and the actual apply should go through flawless. This will enable us validating the template without applying it.
Some notes: related: #50 related: #35 (comment) references need special handling: https://github.com/neos/neos-ui/blob/4681fd003d9f9b6a14a47440d859265bad35044e/Classes/Domain/Model/Changes/Property.php#L152-L180 Question is, how to support usecases like #60
as flowquery will only work with a "real" node and we have one yet. Maybe we need a helper for this?
edit: as discussed in #70 (comment) we will make the |
I think for this use case, the flowquery is not the problem: the nodes we try to get should be already materialized. The problem is: ATM we can copy the nodes when reacting to the signal; in the future, the target is not yet materialized and we have to modify the template based on the nodes we want to copy. Although this would be part of the package implementing the feature, we should think about how this could be done. |
…thQueuedMutators' into neos9
…QueuedMutators' into neos9
6bd8b45
to
ea3512b
Compare
The node creation handler overhaul was merged neos/neos-ui#3519 and the node was made workspace aware neos/neos-development-collection#5042, the biggest changes in Neos 9 that would affect this package are done and the main functionality of this package is now fully compatible (without patches) with the latest beta Neos9-Beta10. |
…rsistence Previously the doctrine entities would still exist of the previous test.
Neos.ContentRepository.Core/Classes/EventStore/EventPersister.php:47 RuntimeException: A transaction is active already, can't commit events! ----------- and succeeding errors: Neos.ContentRepository.Core/Classes/Infrastructure/DbalCheckpointStorage.php:88 RuntimeException: Failed to acquire checkpoint lock for subscriber "Neos\ContentRepository\Core\Projection\ContentStream\ContentStreamProjection" because a transaction is active already
…f `$$nodeType` does not exist like in v2
This change introduces support for Neos 9.
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 usesite
orparentNode
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
NodeCreationService::generateUriPathSegment
(see also discussion to move it into the core)Flowpack\NodeTemplates\Domain\NodeCreation\NodeMutator
was replaced by using native ESCR commandsTransientNode
but not in other parts that should be up-mergeable (likeTemplate
)NodeCreationHandlerInterface
neos/neos-ui#3519defaultValue
viaCreateNodeAggregateWithNode::$initialPropertyValues
neos/neos-development-collection#5154 / see also DISCUSSION: Shouldproperty: null
be ignored? #41