5 Replies Latest reply on Nov 10, 2005 3:26 AM by Marius Oancea

    Multiple conversation

    Marius Oancea Novice

      If i have a Concersational SFSB. I tried to open 2 windows in the app and i have 2 conversations as expected. All seems ok. But how to do so that i have 2 conversations in the same window ?

      If I read the docu, i understand is possible but I have no ideea how.

      But suppose we suddenly discover a system requirement that says that a user is allowed to have mutiple
      concurrent conversations, halfway through the development of the system (this has happened to me).

      I have a list of items (like the hotel example). The user can select one hotel in this list and can press Next, Prev. All the navigation (the state of system) is keeped in the conversation. Now the user has to posibility when one hotel in the list is selected to go to another hotel directly (a kind of jump to another topic). If I do that, the new hotel will be visited in the same conversation. What I need is to create a new conversation (the user will be able to press Next, Prev again). I also need a way to to close such a converstaion and to restore to the point before conversation started.

      Is that possible with seam ? If I open the new conversation in a new window, all seems ok. But I need to use the same window.

      Any ideea?

        • 1. Re: Multiple conversation
          Gavin King Master

          It's not possible in this release but it is a problem we need to solve eventually.

          • 2. Re: Multiple conversation
            Gavin King Master

            By the way, this is what we are calling "nested conversations".

            • 3. Re: Multiple conversation
              Marius Oancea Novice

              Not really. I do not really want nested conversations (i understand nested conv as conversation that take place in another conversation). I understand (and i read the docu) that nested conv are not implemented.

              What I expect is to be able to have paralel conversation not nested.

              Imagine something like that: i'm talking to you and at a certain moment we are interrupted and i discuss with Bill. At a certain moment my conversation with Bill is interrupted again (not ended) and i discuss again with you. In this example, i'm the user, you and Bill are two conversational statefull beans.

              • 4. Re: Multiple conversation
                Gavin King Master

                Well, I'm pretty sure from your first description of the problem that what you "really" need is nesting of conversations.


                We will also provide the ability to have different conversations in different sections of the screen in the same browser window.

                We will also (probably) provide a "conversation switcher" component that would allow the user to switch between conversations while staying in the same browser window.

                These things are all planned and in JIRA.

                • 5. Re: Multiple conversation
                  Marius Oancea Novice

                  Waaw. This is really nice.

                  I' also thinking about some oter things around that:
                  Stateless/Statefull ejb annotation could confilct with seam @Scope annotation (some combination makes no sense maybe). Maybe we could do some checks.

                  I also this that will be nice to have special kind of seam components that really do handle the scope. I mean to not have Scope into the components but to delegate the Scope to other components. I think this will make the architecture more manageable.

                  Think about the following example:
                  I have a tree of categories for example. This tree is presented in "main" window. When you select one of the categories you see the productes in that categoy in a list (same window "main"). Now the questions: where should stay this tree component : in session or in a conversation ?

                  Ok now let's enhance the applicaiton by allowing to press a button into toolbar to create a new product. In the "createProduct" page i need to have a "category selector". This category selector is actually the same component (write once use anywhere - basic ideea of components). When you press "create product" a new conversation has to start. selector has to be a new instance of the category tree component (has to not conflict with the one from "main" but has to have the same content (or maybe a bit filtered ;) ). The selector has to work in the same conversation as the create product (the nested conversation).

                  What i mean with that example is that Scope is not specific to the component but is specific to the usage. Maybe this is even possible with seam ;).

                  But i think nested conversations are a must. I cannot imagine a complex application without. If anybody thinks the small application I described can be done without, let me know. (And this is only a small application flying into my imagination - our target has to me more complicate application ... i think)

                  Anyway .....good work Gavin. Congrats. I did not fully understood everythink but I'll be happy to contribute some work when my knowledge allows that.