Skip to content
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

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

Open
mhsdesign opened this issue May 1, 2024 · 5 comments
Assignees
Labels

Comments

@mhsdesign
Copy link
Member

mhsdesign commented May 1, 2024

... 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: #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 (#5020) and (#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:

<i class="{change.configuration.ui.icon}" title="{f:if(condition: change.node.nodeType.label, then: '{neos:backend.translate(id: change.node.nodeType.label)}', else: '{change.node.nodeType.name}')}" data-neos-toggle="tooltip"></i>
</f:if>
{change.node.label}

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:
#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 mhsdesign changed the title Fluid templates using Nodes might certainly become impossible out of the box with Neos 9 BUG: Fluid templates using Nodes might certainly become impossible out of the box with Neos 9 May 1, 2024
@mhsdesign
Copy link
Member Author

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 ahaeslich added the 9.0 label May 3, 2024
@ahaeslich
Copy link
Member

ahaeslich commented May 3, 2024

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
Copy link
Member Author

usages:

node.nodeType

  • Neos.Media.Browser/Resources/Private/Templates/Usage
    • RelatedNodes.html
  • Neos.Neos/Resources/Private/Partials/Module/Management/Workspaces
    • ContentChangeDiff.html
  • Neos.Neos/Resources/Private/Partials/Module/Shared
    • DocumentBreadcrumb.html
  • Neos.Neos/Resources/Private/Templates/Service/Nodes
    • Index.html
    • Show.html

node.label

  • Neos.Media.Browser/Resources/Private/Templates/Usage
    • RelatedNodes.html
  • Neos.Neos/Resources/Private/Partials/Module/Management/Workspaces
    • ContentChangeDiff.html
  • Neos.Neos/Resources/Private/Templates/Service/Nodes
    • Index.html
    • Show.html

@mhsdesign
Copy link
Member Author

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

@mhsdesign
Copy link
Member Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

2 participants