Stefano Mazzocchi <[EMAIL PROTECTED]> wrote: > > Ugo Cei wrote: > > Sylvain Wallez wrote: > > > > > > I'm using the flow and I'm using sessions too. The applications I'm > > currently developing with the flow are composed of many independent > > "flows", each with its own entry point. Consider the case of an > > e-commerce site. These entry points might be: > > > > - search for an item > > - add item to cart > > - show cart > > - delete item from cart > > - proceed to checkout > > > > I don't think I can combine all of these (and many more) in > as single > > flow, held toghether with continuations. But I still have > the need to > > have a user session spanning those operations, and I do this with > > per-session global variables in the flow. As you might know, global > > variables in a flowscript are associated with a session > when you call > > cocoon.createSession(). In the above example, the cart, or > the user's > > profile, would be associated with the session. > > > > I am somehow aware that I am abusing sessions here, and > that there is > > a > > better way, but it's not that easy to follow, probably. If > you can show > > it to me, I'd be glad to abandon sessions, but if you take > them away > > right now, I'm going to be in trouble ;-). > > Great, integration between different not-all-flowable parts > is a *real* > need for sessions in the FOM.
This is a long term issue I have to solve also. I think what is happening here is that Ugo is looking for Work flow as opposed to presentation flow; IE; he needs yet another flow layer on top of flow. You can think of graphing out the work flow dependency graph the same way you have a presentation dependency graph. You can solve the problem the same way. It's an abstraction running over another abstraction, but I think we're going to keep running into this as a requirement... > > So +1 to add it. > > Anybody against it? Well, no, but I think the real solution is to allow flow layers to be stacked on top of each other as needed, each providing continuations for a particular level of abstraction. However, I haven't yet had the time to start playing with the existing flow so I'm having a hard time coming up with any kind of concrete proposal on how it would be implemented; it's also one of those things that can be done in a 2.2 or 2.3 type time frame if you don't mind having to keep session around for legacy support. > > Stefano. >