neos / neos-development-collection

The unified repository containing the Neos core packages, used for Neos development.
https://www.neos.io/
GNU General Public License v3.0
260 stars 221 forks source link

BUG: Fluid templates using Nodes might certainly become impossible out of the box with Neos 9 #5023

Open mhsdesign opened 5 months ago

mhsdesign commented 5 months ago

... because we lack the corresponding eel helpers. Currently we have a few Neos.Node which replace properties previously directly accessible on the Node (in 8.3) We are conceptualising a translation layer, which would be made for EEL and would require a total different implementation for Fluid: https://github.com/neos/neos-development-collection/issues/5022 (Fluid has an extension point that we can leverage, the question is how much work are we willing to put into this to make the Neos\FluidAdaptor\Core\ViewHelper\TemplateVariableContainer have special handling for nodes?)

With the recent prs (https://github.com/neos/neos-development-collection/pull/5020) and (https://github.com/neos/neos-development-collection/pull/5021) fluid will not only have to adjust to node.identifier not working anymore but also node.nodeType and node.label. This also affects ourselves in templates like these:

https://github.com/neos/neos-development-collection/blob/023a2fe01d57f1f923e8abd37a0233106c5dd230/Neos.Neos/Resources/Private/Partials/Module/Management/Workspaces/ContentChangeDiff.html#L8-L10

The price question is are we okay with Fluid integration not being a viable option anymore with Neos 9? As long as Fluid only works with primitive types and the integration is done in Fusion, this will not be a problem, but anything further than this will be hard.

Also this affects custom backend modules as well as they might operate on nodes where we have no rector migration in place nor a translation layer.

Additionally there is a big regression in Fluid since 9.0 regarding Neos.Fusion:Template's attributes now being an array: https://github.com/neos/neos-development-collection/issues/4885

So as far as i see it if we dont put some love into this fluid will be dead with Neos 9 and just a cosmetic dependency.

mhsdesign commented 5 months ago

To repair our backend module templates we would probably need to introduce a NodeInformation view helper or something, to get the nodetype and the label by node?

ahaeslich commented 5 months ago

To repair our backend module templates we would probably need to introduce a NodeInformation view helper or something, to get the nodetype and the label by node?

After converting the workspace module to react + fusion (see: #4255) ... which fluid templates would need to be adjusted?

mhsdesign commented 5 months ago

usages:

node.nodeType

node.label

mhsdesign commented 4 months ago

beyond that fluid might currently work not at all? https://neos-project.slack.com/archives/C04PYL8H3/p1716467391919169

mhsdesign commented 1 month ago

The Nodes controller and fluid is probably responsible for rendering the referenceable nodes in the reference editor. Due to node.label not working it will not work as expected. See slack.