BURGHARD Éric wrote:
<snip/>
I don't get why you are so obsessed with being able to do everything from the sitemap. Once, when the community started to develop Cocoon in a direction to better support webapps there was the question if we should put more abilities to have control stuff in the pipeline or if this should be done in a separate system, the flowscript. Had we chosen the sitemap way we would have need to put more mechanisms in the sitemap to preserve nice SOC. That was the way I prefered back then.Ok. So what about turning on the ability to pass dom inside sitemap parameters ?
1) pipeline more clear
<generate type="jx" src="..">
<parameter name="auth" dom="{session-context:authentication}"/>
</generate>
Now we have gone the flowscript way and I'm completely happy with that. There are nummerous good reasons for that decision and some good reason against it. But in some way that doesn't matter anymore. What is much more important is that we focus our energy on making Cocoon realy smooth and efficient to use along the choosen direction. Trying to support several similar ways of achieving the same things only disolve our energy.
Whats important to notice for software development is that if enough talented people choose an at least somewhat reasonable direction and focus on, it _makes_ the direction a good direction after a while. To be worthwhile to backtrack and chose another direction must lead to very large advantages to be anything else but destructive.
Conclusion: the current direction is that objects and control are handled in flowscript rather than pipelines. Let us focus on making that smooth rather than confusing our users and ourselves about where things should be done.
Ok, you have removed the "programming" from JXTG and put it in the sitemap instead, whats the gain?2) servicemanager, $request, $session useless in jx (pass parameters explicitly in the sitemap like you use to do with SendPage in flow). SoC preserved.
3) inversion of control not broken. (Exception triggered from the sitemap).
You can remove java object access from jx since they are used for breaking
this IoC and SoC.
We use to do (well, a bad habit :-) <jx:set><jx:import src="cocoon:/userprofile"/></jx:set> inside templates. This break SoC and IoC too.
Oceatoon (tibor ;-) make me think of another advantage of passing dom with parameters.
<generate type="jx" src="..">
<parameter name="userprofile" dom="{cocoon:/userprofile}"/>
...
</generate>
You could do it from a flowscript, whats the problem with that?
which is much more readeable and doesn't break anything.
WDYT ?
No thanks ;)
/Daniel