Right, you would need some kind of action ID in each action URL and check if that action was already executed or not.

Stefan

Eric Dalquist wrote:
My 2 cents on this issue:

At one point in the past uPortal 2.4 had overridden the redirect behavior using pluto 1.0 We ditched this after running into numerous spec compliance issues that were much easier to resolve by using redirects. Much of it had to do with ensuring actions only occurred once, making the back & forward buttons functional, dealing with an actions ability to change the state/mode send redirects and such.

I'm not saying you don't have a good use case for not doing redirects between action and render but unless you have a reason beyond not wanting to do the 302 I would say it is much more work than it is worth.

-Eric

David H. DeWolf wrote:


Pawel Kozlowski wrote:
Hi,

I'm working at the simple portal framework based on Pluto (1.1-beta
currently). Unfortunately, I've run into issue PLUTO-124.

So, I've got 2 questions:

1) Is there any chance that this issue would be fixed anytime soon? Of
course I can help with this one.

The best bet for getting this enhancement asap would be to submit a patch. Otherwise, you're at the mercy of the committers to feel as though it's important enough :)

I still don't really understand why this is needed. Are you converting all of the post data into render parameters and the render parameter string blows the url buffer? Is that the issue?


2) I wonder if, while fixing PLUTO-124, it would be possible to have a
pluggable strategy fragment sending a redirection after processing an
action request (class PortletContainerImpl, method doAction)?
Currently, this implementation will always send a HTTP redirect and it
is impossible to create a portal implementation that would process an
action and a render request in one HTTP request. As fare I know, this
model of portal request processing is not forbidden by JSR-168?

No, it's not forbidden BUT it's also not impossible with the current implementation. Remember that the request/response provided to the container can be wrapped by the webapp/portal embedding the container to intercept any of the method calls.

Additionally the url provider could store request parameter state in the session as opposed to parameters. Take a look at the sakai charon velocity branch as an example if you're looking for an impl that will do that.


So, basically, I would like you to tell me if you think it is possible
to address the issues described. If you could provide me with some
starting points / directions I could play with the code a little bit.

It's possible, but since there are work arounds, it's not on my "high" priority list. That said, if you submit a patch for an enhancement, I'll at least take a look at it and commit if I think it makes sense. Feel free to ping ideas off the list before you code it up and I'll do my best to comment.

David

Brgds,
Pawel Kozlowski



Reply via email to