Hi All! Jumping into this thread a bit late... On Tue, Mar 18, 2003 at 10:31:03AM -0800, Christopher Oliver wrote: > > You're not abusing sessions. cocoon.createSession() exists exactly for > the purpose you mention. Nobody is suggesting that we remove it. What at > least I was suggesting, is that because of this (that you can store > "session" state in global JS variables) direct access to the underlying > Session should not be needed by the average user of the flow.
I see your point mate. The automatic handling of global variables in flow was one of the big attractions for me to use flow. One thing I'd like to discuss a little bit more is the relationship between individual flow interpreter instances and sub/sitemaps. Currently, there's one flow interpreter instance created per sitemap. So, when operating within the one sitemap everything is fine - however it has some implications for larger applications that use subsitemaps, etc. The following: <map:flow language="JavaScript"> <map:script src="context://WEB-INF/flow.js"/> </map:flow> defines some javascript methods that are encapsulated within that sitemap. It would be good if we had a nice way to promote the reuse of any javascript methods that could be reused in a sub/sitemap (I suppose subsitemaps could just include a common script, but perhaps there's a more attractive way). Another area is scope. Global variables managed by cocoon.createSession() are currently only available in the sitemap they're defined in, essentially making them local to that sitemap. ie. if flow.js defines: var currentUser = null; function login() { // assuming valid user // create a session and store user object cocoon.createSession(); currentUser = new User(username); // continue processing and send page } the currentUser reference is only available in the sitemap the flow.js was defined in. This means, subsitemaps have no reference to it in any way - something I would like to find a solution for if possible. I think this was one area where Ugo (and I) were using manual session manipulation to store cross sitemap data. Ovidiu and I once talked about the ability to inherit flow data/methods in subsitemaps, perhaps that's worth investigating a bit more ? Solving these implications would allow us to use flow to control an application at a higher level than just in one sitemap. What do you think ? Cheers, Marcus -- ..... ,,$$$$$$$$$, Marcus Crafter ;$' '$$$$: Computer Systems Engineer $: $$$$: ManageSoft GmbH $ o_)$$$: 82-84 Mainzer Landstrasse ;$, _/\ &&:' 60327 Frankfurt Germany ' /( &&& \_&&&&' &&&&. &&&&&&&: