Developers,

I have a Trinidad application that has a few independant frames that operate in 
a non-modal fashion (The client needs tha app to work this way). All frames 
extensively use 'PageFlowScope'.
Now PageFlowScope works well if you have a single frame, but gives no end of 
grief if you have multipe frames. This can be explained:

Every time a user clicks on a page, Trinidad creates another viewstate object 
and shoves it onto the pageflowscope map. The map is stored in the HTTP session 
and is not limitless. You set the size of the map in web.xml. Once you start 
adding viewstates to an already-full map, the map starts discarding the oldest 
viewstates. Ususally this is not a problem (how many times could a user be 
expected to click the 'Back' button?) But if you have multiple frames, the user 
could spend 30minutes clicking in frame 'B', whilst the current viewstate of 
frame 'A' becomes older and older and eventually gets pushed out of the 
viewstate map. The the user clicks on frame 'A', the viewstate is not found and 
everything falls in a smoking mess.

You can get around this by specifying a huge map-size in web.xml but this 
results in spectacular memory wastage for no really good reason.
An alternative is to implement a new pageFlowScopeProvider that keeps separate 
maps for each frame. Trinidad does not have one of these out-of-the-box, but I 
have written one for my client. The problem is that it would be better to 
imlement this as a general solution in Trinidad so that others may benefit (and 
also that my client doesn't have to maintain it).

I've not been involved in the project for a while but I'd like to get a 
solution in place for my client. Is there a preferred method to avoid the above 
problem? Or should the custome PageFlowScopeProvider be pursued?

If the reccomendation is to pursue a custom pageFlowScopeProvider, my client (a 
government client) is happy to enter into a commercial arangement with a 
committer here. i.e. they will pay for a solution. Either to yourself of the 
Apache foundation etc. My code is available if it helps.

Cheers,

MarkB


********************************************************
The information in this e-mail is intended for the named recipient only. 
It may contain privileged and/or confidential information. If you are not the 
intended recipient, you must not disclose, copy, distribute, take any action or 
reliance on it.  If you have received this e-mail in error, please notify the 
sender immediately and delete this e-mail.

Warning: E-mail transmission cannot be guaranteed to be secure or error-free. 
The recipient should check this email and any attachments for the presence of 
viruses. The sender does not accept liability for any errors or omissions in 
the contents of this message. 

********************************************************

Reply via email to