Martin,

PPR in Portlets CAN be implemented using certain portlet implementations. But it cannot be done with generic JSR-168. Here are a number of problems although I'm sure there are more:

1. Action Requests have portal artifacts. This means that a portal can append content to a response (and typically will) making it insufficient to use in an XMLHttpRequest and/or an iframe with ppr data and JS.

2. Resource Requests are not in-protocol. This means that if we decide to retrieve the PPR segment as a resource, we are not guaranteed to have the same session.. Especially in remote WSRP type environments. Even if we "could", portlet-scoped properties on the session are prefixed with javax.portlet.[PORTLET_ID] and there is no way in JSR-168 to obtain the portlet id for the portlet instance. In MANY implementations this is the same as the namespace, but this is in no way guaranteed by JSR-168. This makes it impossible for all JSR-168 containers to support a "servlet" type fallback. That being said, I have successfully used the "servlet" technique on Pluto and WebSphere (when not running through WSRP) by using the namespace as the portlet id, but I would rather wait for JSR-286 to come out (which is looking like it will support BOTH an in-protocol resource requests AND a special XMLHttpRequest handler) in order to enable AJAX in a container agnostic fashion.

Do you agree?

Scott

Martin Marinschek wrote:
Hi Scott,

sorry for the late response - I've been on vacation the last week.
Yeah, your proposal seems definitely interesting. The bridge could
certainly be a sub-project of MyFaces.

I was thinking about why PPR wouldn't be supported in a portlet
environment - is that due to the fact that the portlet server itself
would need to know about PPR, and so it is entirely impossible to do
this in portlet servers?

I envision it might be possible to have the client-side AJAX library
post back to a servlet instead of the portlet - would that be possible
or not, wdyt?

regards,

Martin

Reply via email to