Hi Thiago!
It is not exactly the same like the conversions, I think it is a
combination of session state and the page activation request parameter
feature.
Maybe I can explain it better with an example. Think of Breadcrumbs.
The application uses breadcrumbs. If the user jumps from PageA to PageB and
to PageC than the breadcrumbs are shown in the UI like PageA -> PageB ->
PageC. The breadcrumb history is saved in the session.
Code could look like the snippet below.
@SessionState()
private Set<Breadcrumbs> breadcrumbs;
void beginRender()
{
breadcrumbs .add(this);
}
But when I open a second tab or window in the browser and jump to a PageD
for example, than the PageD is also in the breadcrumb list of the first
window due to the session state.
A solution to overcome this problem could be something like
@WindowState()
private Set<Breadcrumbs> breadcrumbs;
void beginRender()
{
breadcrumbs .add(this);
}
The breadcrumbs could be stored in the session, but with the window state
annotation in a special area of the session. Therefore the objects in the
session would be separated in a global area and a window area. The window
area could be setup with a HashMap are something similar.
Session objects :
[Global Session Objects, [window1, Object1, Object2,...], [window2,
Object1, Object2]];
The global session objects are addressed with @SessionState or
applicationStateManager.get(GlobalSessionObject.class). The objects in the
window portion of the session are gained with @WindowState or
applicationStateManager.get(Object1.class, windowId);
We could also introduce a @WindowId Annotation to get the id of the
window/tab.
@WindowId
private String windowId;
The identification of the window is done like describe in the summary of
the previous email.
I hope I could better describe our situation.
Best regards from snowy Austria.
2011/12/20 Thiago H. de Paula Figueiredo <[email protected]>
> On Sun, 18 Dec 2011 06:59:18 -0200, Gerold Glaser <[email protected]>
> wrote:
>
> Dear Listeners!
>>
>
> Hi!
>
> What you suggest looks like the conversation support provided by Tynamo.
> Am I right?
>
>
> If we realize such a feature, it should be supported in tapestry core.
>> Can we create a Jira issue for this improvement?
>>
>
> Yep!
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
> and instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> http://www.arsmachina.com.br
>