On 9/14/06, Craig McClanahan <[EMAIL PROTECTED]> wrote:
On 9/14/06, Michael Jouravlev <[EMAIL PROTECTED]> wrote:
>
> Anyone wants to share their thoughts on rollover scope?
> http://wiki.apache.org/struts/RolloverScope
>
> I was thinking on using Stripes approach, but I don't like to mange
> URLs. Also, Stripes uses a timer to remove unused rollover scopes,
> this does not seem very straightforward to me, from a user's point of
> view. A user opens two windows then bam! in two minutes their content
> is gone.


Rollover is an OK term for this ... consider also something like
"carryover".  I agree that two minutes is a bit short, but I could see some
benefit in having *some* sort of a timeout be possible.

So I decided to go with the simplest implementation possible. It does
> not allow to open several windows with the same-typed actionform, but
> it is easy to understand and it works predictably.


This seems like the kind of thing that works predictably from the POV of a
developer, but not so much from the POV of a user.  "What do you mean, I
can't have two windows open on the same page, but looking at different data
-- but it works when I have two windows on different pages?".

In Shale, the closest analog to this is Dialog scope, and we're building the
concept of a scope instance per window/frame, independent of what that
window/frame is actually doing.  We get the benefit that JSF is already
saving state information per view, so there's no need for the page author to
explicitly reference an identifier per window ... but the same concept could
be simulated pretty easily with a special "view identifier" tag that mapped
to a particular instance of rollover scope state information.

Yes, this is what I was thinking about last night. I can have a
default ID like Stripes does, but a user will also be able to register
custom request parameter that serves as ID, this way I would not have
to mangle an URL. A classic example is having a list of items with
"Edit item" links for each item. This link points to something like
editItem.do?itemid=12345 Here "itemid" can be registered as an ID for
rollover scope. I am in favor of this solution now, I will implement
timeout and garbage-collection too. So a user will be able to open
several windows. Thanks for the input, Craig.

Michael.

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

Reply via email to