i am currently planning the architecture of a highly dynamic portal (meaning Neos-driven website with several login areas with lots of plugins). I am a bit worried to grow a lot of duplicated frontend code because plugins are controller/fluid based and the static markup is generated by fusion/afx.
Did anybody of you have ideas how to approach this? I am thinking about a viewHelper which renders fusion prototypes by providing the context (not specific fusion paths like the fusion:render viewHelper that is already there). That way i would be able to reuse the molecules in my plugins also. Do you think this would be a good aproach?
Best way would be to use fusion/afx for the plugins aswell. Should not be too hard to achieve. I use fusion/afx for flow controllers aswell by configuring the devaultViewClass in the controller as beeing the FusionView.
Expect some hiccups on the way but nothing serious. Would be cool to put your learnings in a blogpost afterwards.
I try to avoid plugins altogether. Do you really have a usecase that could not be solved without them? I can’t think of any really
FusionView is what i was thinking about also… will look into it further.
@bwaidelich There is a lot of database modification (lots of business logic triggered by user interation like forms or ajax request) How would i cleanly solve this without a plugin? Especially the form part? Never rendered a form before with fusion (except with your great form package :)) but it is more the “where do i put my php-code to run calculations, modifications and other business logic” and still have it clean?
Could you share some insights to this?
For Ajax endpoints you could use Http Components. For Forms I usually use the Form Framework with the fusion-based renderer (and some custom configuration/prototypes so that I can use AFX components as form elements) and custom Finishers for the server side.
In any case (whether you use Plugins, Eel helpers, Http Component or Form Finishers) you probably want to extract the actual domain logic into some central class that you can use from different entry points.
For afx forms we are preparing a fusion-form package here https://github.com/neos/fusion-form … a version 1.0 is planned to be released with Neos 5
On the other hand, forms for custom controllers mostly need the csrf token which you can already create with the security eel-helper. So you may be better of with pure afx instead of unfinished software in your project.
Thank you both for sharing your thoughts about that!
I will play around a bit with the different approaches and see what fits my needs the most. While the form-freamework with finishers are great for many things, personally i really don’t want to miss the flexibility of good old php-controllers. (Business Logic is external of cause)
Looks like this package fusion-form is what i would use it it would be stable already. Not sure if i understand it correctly you can specify a controller and action in a from that is the target. Not sure how this works though because i would need to specify not only the action (like it is shown in the example) but also a document-node and a controller and action.