1 2 Previous Next 15 Replies Latest reply on Dec 22, 2005 2:50 PM by marc.fleury

    On conversation usage patterns

    rdewell

      To prefix: I'm using Seam extended managed transactions.

      I've run into a use-case that seems to lie somewhere in the realm of conversations, yet doesn't quite fit current conversational semantics exactly.

      Obviously conversations seem best suited to a page-to-page wizard style UI. A flow with definite beginning, middle, and end that lends itself to using @Begin and @End.

      But, what about a (potentially) long running "conversation" that does not fit as neatly into this pattern?

      Example: a single view that has many forms, and thus may span many submit/request cycles in and of itself. The entire usage pattern of this single view IS a long running conversation. However, because you are explicitly making changes/actions via the multiple granular forms on this view, there is never a needed or logical necessity to "end" the conversation on that view. You end it, really, by navigating away from the view.

      To be more specific, this view's purpose is as a kind of "component builder". All of the actions and granular forms are working with a single component and its subcomponents in various ways, building and editing that component.

      Thus, you could describe it as a freeform conversation rather than a directed conversation. I guess that kind of gets to the heart of the question: freeform long running conversations vs. directed (wizard style) long running conversations. Seam conversations right now seemed to be geared towards the latter. I'm at odds on how best to handle the former.

      Perhaps at each action on this view I should grab the UserTransaction and call commit on it manually? Then, just let Seam timeout out the conversation since @End will never be called. Does that sound right?

      Thoughts?

      Ryan

        1 2 Previous Next