-
-
Notifications
You must be signed in to change notification settings - Fork 223
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
!!! TASK: Remove deprecated Fusion prototypes #4537
Conversation
142fa0b
to
2b7896d
Compare
2e681bc
to
665039a
Compare
Maybe we should add a migration to do the basic renaming. The change from Collection -> children to Loop -> items cannot be migrated easyly but everything else could. Question would be rector or classic code migration. |
@mficzel i might have an idea to do a full migration of all the prototypes correctly including "collection" to "items" ... but i want to discuss this with you first ;) |
I like and am curious. If this would be a rector based solution it should not stop this pr from beeing merged.
to
|
On the other hand even in the biggest client project i only have around 80 matches when looking for the legacy "collection" fusion key. i used this regex to ignore
of course there are many false positives that need to be ignored (because some component uses the My suggested automated way would throw away all fusion comments and reformat the code ... or we first have to adjust the parsing ... |
In here it makes sense mostly to decide wether we want a rector migration or not as this would be a separate pr with room for discussion. In here we could only add classic code-migrations. |
665039a
to
2d4f16b
Compare
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.
So much code has been deleted. I like
Will look at the updated documentation for this, to ensure everything is beginner friendly (with keeping in mind that legacy code examples are floating around the web) |
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.
Looks good!
I couldnt find any left overs in the codebase.
Found some old fusion inside the neos ui e2e tests which needs to be adjusted ^^ https://github.com/neos/neos-ui/tree/9.0/Tests/IntegrationTests/TestDistribution/DistributionPackages |
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.
I think the Fusion Reference should be rewritten as well. Currently there are several places where references to old prototypes are made. The wording for DataStructure may profit from mentioning that this is probably the "real" array type someone might be looking for.
2d4f16b
to
32eab19
Compare
The following Fusion prototypes are deprecated for a long time and have been removed. While the documentation has been removed a section "Removed Fusion Prototypes" is added to the reference that mentions the old names and their replacements. * `Neos.Fusion:Array` has been removed in favor of `Neos.Fusion:Join` * `Neos.Fusion:RawArray` has been removed in favor of `Neos.Fusion:DataStructure` * `Neos.Fusion:Collection` has been removed in favor of `Neos.Fusion:Loop` * `Neos.Fusion:RawCollection` has been removed in favor of `Neos.Fusion:Map` * `Neos.Fusion:Attributes` as been removed in favor of the property `attributes` in `Neos.Fusion:Tag` The prototype `Neos.Fusion:UriBuilder` is deprecated aswell but not as long as the others. The fusion file was moved to the deprecated folder and the documentation was moved to the deprecated section.
32eab19
to
300ca7b
Compare
Fix broken references introduced in neos#4537
The following Fusion prototypes were deprecated for a long time and have been removed. While the documentation has been removed a section "Removed Fusion Prototypes" is added to the reference that mentions the old names and their replacements.
Neos.Fusion:Array
has been removed in favor ofNeos.Fusion:Join
Neos.Fusion:RawArray
has been removed in favor ofNeos.Fusion:DataStructure
Neos.Fusion:Collection
has been removed in favor ofNeos.Fusion:Loop
Neos.Fusion:RawCollection
has been removed in favor ofNeos.Fusion:Map
Neos.Fusion:Attributes
as been removed in favor of the propertyattributes
inNeos.Fusion:Tag
The prototype
Neos.Fusion:UriBuilder
is deprecated aswell but not as long as the others. The fusion file was moved to the deprecated folder and the documentation was moved to the deprecated section.Resolves: #4538
Upgrade instructions
The following prototypes have to be replaced as mentioned.
Neos.Fusion:Array
replace withNeos.Fusion:Join
Neos.Fusion:RawArray
replaced withNeos.Fusion:DataStructure
Neos.Fusion:Collection
replaced withNeos.Fusion:Loop
and the propertychildren
has to be renamed toitems
Neos.Fusion:RawCollection
replaced withNeos.Fusion:Map
and the propertychildren
has to be renamed toitems
Neos.Fusion:Attributes
replaced by the propertyattributes
inNeos.Fusion:Tag
The prototype
Neos.Fusion:UriBuilder
should be replaced withNeos.Fusion:ActionUri
but willstill work for now.
Since renaming of
children
toitems
may not always be obvious in cases where inheritance is used the following linecan add a fallback from
items
tochildren
:Review instructions
Checklist
FEATURE|TASK|BUGFIX
!!!
and have upgrade-instructions