It's not possible in this release but it is a problem we need to solve eventually.
By the way, this is what we are calling "nested conversations".
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.
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.
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.