In the past I manually implemented this behavior by mixing server side and
client side persistence.  My code-fu was probably not very elegant.

In my case, a user could open a report page after filling out a page of
variables.  These report pages would open in a new browser window/tab. So
instantly you have the situation where two reports can be open but use
different data.  I would store a client side string on each report page, and
LRU hash map on the ASO side would match it to the relative data, just
before the report was run and a new page opened.  If it was in the LRU, I
could grab the cached report.  If not, I still had enough information to run
the report again.  If the report page needed to be refreshed (such as
sorting something on the page, non-async), the client side key would look up
the data.

I used a small LRU limit (like 5) to keep the size down.

Daniel

On Fri, Nov 28, 2008 at 10:18 PM, thermus <msch...@gmail.com> wrote:

>
> I'm interested in this as well.  Specifically if a user has two page
> instances open, how can T5 persistence be used reliably?
>
> I found on Safari and Firefox (not sure about IE, but likely a problem
> there
> as well) that the persisted session properties are shared between page
> instances and each page can overwrite the another.  My searches didn't come
> up with a definitive answer although I did see that the question has been
> asked several times.  Can anyone comment on this or provide a workaround?
>
>
>
> Peter Stavrinides wrote:
> >
> > ... but what would be ideal in my humble view is a proper page
> persistence
> > Strategy, where a value is retained until the user leaves the page. In
> > truth someone posted such a solution which used a cookie, and it seemed
> to
> > behave exactly as it should, nevertheless I am still against relying on a
> > cookie. I understand this may be difficult to implement due to Tapestry's
> > inner workings, particularly the way pages are pooled, but since
> > conversational state covers some of this ground (the difference being a
> > conversation is tied to not only the page, but the window so each tab is
> > treated as a new conversation)...
> >
>
> --
> View this message in context:
> http://www.nabble.com/Persistance-tp20732003p20743522.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to