Thank you.
Ok, is better not to have 2 windows with the same conversation context, but
how can I pass information got in the 'caller' window to a popped up window
using beans defined in the same conversation with orchestra, without loosing
the state of the bean in the caller window?
It seems to me that the conversation is kept only for the popped up window
if the 2 window are in the same conversation context!. but if the popped up
window has another conversationContext I cannot access the beans
shared between the two windows, becasue orchestra creates new beans.

Regards
Moreno



2008/10/14 Simon Kitching <[EMAIL PROTECTED]>

> Moreno Cornaz schrieb:
>
>  Hi everybody.
>>
>> I have two pages P1 and P2 each one associated with 'its own bean', say
>> Bean1 and Bean2, defined in the same conversation. In addition P1 has
>> reference to another bean, say Bean1A that has it's own conversation (all
>> defined through Spring).
>> P2 is opened form P1 as a popup window with the same conversation context
>> as P1. When I open P2, it happens that the Bean1A has been lost and from P1
>> its values are null.
>> Why this happens? Bean1A has nothing to do with P2.
>> I thought that when I open P2 I make a request that doesn't have any
>> reference to Bean1A and than orchestra deletes it, but why this doesn't
>> happen with the bean B1 too?
>>
> You must *not* have two windows with the same conversationContext value in
> the url.
>
> The http protocol gives web servers absolutely no way of knowing which
> window a request comes from. So when two windows use the same
> conversationContext value, then window 1 asks for P1 and window 2 asks for
> P2 this looks to orchestra *exactly* the same as one window first asking for
> P1 then asking for P2.
>
> So when opening a popup window, always avoid setting the
> conversationContext in the url for the new window; orchestra will then
> allocate a new conversationContext for the new window. Yes this means that
> two windows cannot share conversation-scoped beans but that is a *good*
> thing.
>
> Orchestra provides the o:separateConversationContext tag that allows
> outputLink components to be generated without the automatic
> conversationContext being added. If you are using javascript to pop up the
> new window then you need to correctly handle the conversationContext param
> yourself. See the separateConversationContext tag here:
>
> http://myfaces.apache.org/orchestra/myfaces-orchestra-core/tlddoc/index.html
>
> The situation is somewhat different for *modal* windows; it does make some
> kind of sense for modal windows to be able to access *some* of the beans
> associated with the context. Orchestra is still young so "best practice" is
> still being invented at the moment, but I think the best way to handle modal
> popups is to still run the new window in a new conversation-context and to
> explicitly "copy" beans that need to be shared into the new context. The
> experimental Orchestra Flow project tries to provide an easy way to do this,
> but it isn't ready for production use yet.
>
> Regards,
> Simon
>
>
>

Reply via email to