Hello Erik,

  Correct me if I am wrong, but it seems to me that
this is not enough for what Rene needs (and what I
needed).
  I am very happy to be proven wrong on this subject -
will save me lots of hassle, so let me describe a
scenario.

  Basically, imagine that I have a page with good deep
component hierarchy. Say 100 links encoded at
different levels of hierarchy including generic
components.

  I want to have several such pages opened in
different browser windows by the same user (i.e.
within same user session as far as Tapestry is
concerned), each with its own separate workflow.

  Simple example (yes, I know it is very artificial,
so please do not flak me on this):

1) client runs 3 searches with different queries
2) each search opens a new window with separate
hitlist
3) in each window we have different pagination, sort
options, et cetera, et cetera
4) client wants to be able to switch between windows
seemlessly maintaining the context within each window
5) specifically generic links encoded within generic
components must maintain the page context

  Cheers,
   Toly

 --- Erik Hatcher <[EMAIL PROTECTED]> wrote: 
> I don't know how this would be accomplished in the
> cleanest way, but in 
> Tapestry 3.1 (errr, "Picaso") the property
> persistence is pluggable 
> with a builtin capability of persist="session".  I
> suppose clever links 
> and services could key off of properties marked as
> persist="page" such 
> that links were encoded with those properties
> automatically (but you 
> wouldn't want all links encoded this way probably)
> and that they'd be 
> extracted and re-set on each request by the service.
> 
> What would it take to do this type of thing?
> 
>       Erik
> 
> 
> On Apr 4, 2005, at 6:46 AM, Anatoli Krassavine
> wrote:
> > 3) There are several approaches to this, but the
> only
> > generic one is to encode "window" information in
> > links. Other approaches include creative handling
> of
> > cookies and javascript, but they are tricky and
> > provide poor cross-platform compatibility.
> >
> > 4) The whole point of Tapestry is a complete
> > abstraction of HTML representation from actual
> HTTP
> > workflows, hence link encoding should be done
> > transparently and cover ALL links on all
> participating
> > pages.
> >
> > 5) The best way to achieve this is to provide a
> > wrapper service. This service will wrap standard
> > services (Action, Direct, etc).
> >
> > When generating a representation of HTML link:
> > a) extract context information fro mthe current
> page
> > instance
> > b) encode relevant information into the link by
> > appending an extra parameter (at the end)
> > c) then pass control to wrapped service to
> generate
> > link in a "normal" way
> >
> > When processing the request:
> > a) extract information from the link
> > b) store it in requestCycle as an attribute
> > c) pass control to wrapped service.
> > d) page instance could check the attribute in
> > requestCycle and act accordingly
> >
> > I think it cover it all and works quite well.
> >
> > Cheers,
> >  Toly
> >
> > [EMAIL PROTECTED]
> > Software Architect
> >
> > --- [EMAIL PROTECTED] wrote:
> >> Hi @all,
> >>
> >> in my current project, i have to ensure, that a
> user
> >> can work with
> >> multiple instances of the same page, but every
> page
> >> instance has different data.
> >> Means, that he can open multiple windows with the
> >> same page. With a
> >> plain page, this should be no problem, but in
> this
> >> case, the page
> >> contains a TabPanel, which, as we all know,
> forces a
> >> page reload in
> >> case of changing the current tab page. In other
> >> cases, it is necessary
> >> to reload the page with a "location.href" refresh
> in
> >> javascript, without
> >> a form submit.
> >>
> >> The problem is:
> >> if the user opens the page to display data object
> A,
> >> after that opens
> >> another instance of the same page with data
> object
> >> B, goes back to A
> >> and does something with this instance (i.e.
> forcing
> >> a page reload or
> >> changing the tab page), the data of object B is
> >> displayed in page A, because it was the
> >> last data object bound to this tapestry page.
> >>
> >> Hope, you can understand, what i mean.
> >>
> >> How can i handle this ?
> >>
> >> best,
> >>
> >> Rene
> >>
> >
>
______________________________________________________________
> >> Verschicken Sie romantische, coole und witzige
> >> Bilder per SMS!
> >> Jetzt bei WEB.DE FreeMail:
> >> http://f.web.de/?mc=021193
> >>
> >>
> >>
> >
>
---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
> >> [EMAIL PROTECTED]
> >> For additional commands, e-mail:
> >> [EMAIL PROTECTED]
> >>
> >>
> >
> > Send instant messages to your online friends 
> > http://uk.messenger.yahoo.com
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
>  

Send instant messages to your online friends http://uk.messenger.yahoo.com 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to