On Thursday 10. December 2009 20.27.32 Gabriel Belingueres wrote:
> Granted, most people implement wizards this way, but the most
> compelling use of storing state in conversation scope (IMO) is to
> allow correct behavior when a user clones a browser window, and then
> allow better support for the back button. Even with conversation
> support the pages still need to pass along at least one request
> parameter: the conversation id, so in general terms you end up writing
> the same thing only that instead of passing actual data as request
> parameters you pass only a key to some other abstraction.
> 
> Some conversation implementations are not compelling at all. See the
> struts2scopeplugin for example, it stores only one conversation per
> user session which is of course useless for multi-window apps.
> 
> I've been researching the conversation features in JBoss Seam and
> Spring Web Flow, which I think are the 2 more important frameworks
> supporting it. The most sophisticated one is SFW which pretty much
> abstract the whole page and actions interactions (the flow) into one
> file, that is an XML file describing a FSM of the states the app is in
> a given time. For that thing to work, the request parameter that the
> app pass along in the pages is a composite between the conversation id
> and the "continuation id" (a fancy name for naming the current state
> in the flow FSM the app is in.)
> 
> Also the conversation scope is the basis for other features like
> supporting the handy session-per-conversation pattern in ORMs.
> 
> What I finally mean is that I seriously consider conversation scope
> support something important (at least for the kind of apps I work in.)

All the wizards I've made the last years are AJAX-based and each "step" in the 
wizard knows its index (position) and the next/prev step so it can render nice 
next/previous buttons and handle "reload page" nicely. My response to "What if 
the user hits the back-button or ctrl+clicks a link" is "Doctor it hurts when I 
do this (bangs fist against head)", which means; Dont do that.

So the bottom line is - yes I agree that the functionality of 
conversation-scope is important, but it's not necessarily that hard to 
implement.  I especially do not like having to configure a lot of XML for my 
wizards to work (like SWF).

-- 
Andreas Joseph Krogh <andr...@officenet.no>
Senior Software Developer / CTO
------------------------+---------------------------------------------+
OfficeNet AS            | The most difficult thing in the world is to |
Rosenholmveien 25       | know how to do a thing and to watch         |
1414 TrollÄsen          | somebody else doing it wrong, without       |
NORWAY                  | comment.                                    |
                        |                                             |
Tlf:    +47 24 15 38 90 |                                             |
Fax:    +47 24 15 38 91 |                                             |
Mobile: +47 909  56 963 |                                             |
------------------------+---------------------------------------------+

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to