tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marilen Corciovei <...@nemesisit.rdsnet.ro>
Subject RE: problem: how to avoid inconsistencies when a user open alinkin anew window
Date Thu, 05 Jun 2003 15:55:07 GMT
My approach is something similar. I wrote a PageStateSqueezer which
creates a small representation of an PageState object. I also wrote a
ADirectService which replaces DirectService. The buildGesture function
now checks if the last parameter of the current request cycle is a
PageState object and if so adds it to the gesture (encodes it in the
URL). This works fine with directLinks and also Form components that are
direct. The form component will automaticaly create a hidden to store
the squeezed PageState. 

Len

On Thu, 2003-06-05 at 18:29, Anatoli Krassavine wrote:
>   Hello mb,
> 
>   True, and the way around is not to encode all persistence information
> blindly
> into URL - it is a waste of effort. Instead, the persistence info is encoded
> into an object stored on the server and I only pass the key to this
> information
> inside URL.
> 
>   The way I am doing it is to ask every page to give me a single object
> representing
> its persistent state within such framework. After that I use database to
> actually
> persist the object and use the key from now on.
> 
>   I realize that we are still running into the problem of "when to clear the
> caches", etc,
> but so far it seems to work fine. Since my system works with huge databases
> of data
> as a backend (think terabytes), allocating few megabytes for persistent page
> options
> never bothered anyone. The worst page state I ever had was only 2K. I only
> clear
> the state after the user logs out.
> 
>   BTW - the reason I originally faced the problem was having several
> independent
> sortable tables (contrib:Table) on the same page AND have several such pages
> around.
> 
>   Cheers,
>    Toly
> 
> -----Original Message-----
> From: Mind Bridge [mailto:mindbridgeweb@yahoo.com]
> Sent: 05 June 2003 16:02
> To: Tapestry development; anatoli.krassavine@intellidos.com
> Subject: RE: problem: how to avoid inconsistencies when a user open
> alinkin anew window
> 
> 
> Hi Anatoli,
> 
> 	Yes, this is something like what I was referring to in my previous email.
> 
> 	The only issue with a general solution for this is the limited maximum size
> of the URLs.
> 
> 	Here is the paper sent by Ido Tamir discussing the issue:
> http://www.jetools.com/content/resources/whitepapers/HTTP_GET_Requests.pdf
> 
> 	Also, if you are interested, search the archives for the thread "Recording
> page properties in cookies" -- it has a lot of details about a very similar
> topic.
> 
> -mb
> 
> 
> -----Original Message-----
> From: Anatoli Krassavine [mailto:anatoli.krassavine@intellidos.com]
> Sent: Thursday, June 05, 2003 5:29 PM
> To: Tapestry development
> Subject: RE: problem: how to avoid inconsistencies when a user open
> alinkin anew window
> 
> 
>   Hello,
> 
>   I encountered a similar problem, so I clearly understand Marilen's issue.
> 
>   Basically imagine a page with third-party components inside. These
> components are "black-boxes" - they contain links of their own:
> DirectLinks, etc. I want to persist page state regardless of which of these
> links is executed without need to "enter" black-box. I specifically do
> not want components to be aware that they are inside a particular page
> or force page to modify components.
> 
>   Page persisted properties is a possible way to do it, but it fails if
> one has multiple pages opened in different browser windows.
> 
>   My current solution is to intercept all requests for services. If I detect
> that the page for which service is required contains information to persist,
> then I wrap the required service instance inside my own proxy service.
> When encoding URL, my service adds persistent parameters to the url.
> Likewise, during execution it first extracts persistent parameters and
> then passes the execution to the original service it wraps.
> 
>   Having something like that inside Tapestry framework itself could be
> quite useful.
> 
>   Cheers,
>    Toly
> 
> -----Original Message-----
> From: Bill Lear [mailto:rael@zopyra.com]
> Sent: 05 June 2003 15:08
> To: Tapestry development
> Subject: Re: problem: how to avoid inconsistencies when a user open
> alinkin anew window
> 
> 
> On , June 5, 2003 at 17:00:46 (+0300) Marilen Corciovei writes:
> >What if the directLink is in a tapestry component like table. Should I
> >modify the table component if I want to do that? And all other
> >components which might or might not be my own.
> 
> Not sure I understand.  Don't you decide which links get put into the
> table?
> 
> 
> Bill
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org
-- 
Marilen Corciovei <len@nemesisit.rdsnet.ro>


Mime
View raw message