Search code examples
orbeon

Can I use xxf:get-session-attribute() to get attributes from the Proxy Portlet's session?


In the Orbeon Proxy Portlet, I have set this configuration in liferay-portlet.xml:

<private-session-attributes>false</private-session-attributes>

I have the same configuration in another portlet where I am setting a session attribute like LIFERAY_SHARED_MYATTRIBUTE. Note that the LIFERAY_SHARED_ prefix is required to share session attributes between portlets in Liferay.

When I call xxf:get-session-attribute('LIFERAY_SHARED_MYATTRIBUTE') in a Calculated Value for a field when using the Proxy Portlet, I get no value. Should I take this to mean that this function only works for getting session attributes on the Orbeon server?


Solution

  • The portlet is just a proxy to the servlet where Form Runner actually runs.

    In order to share session attributes between Form Runner (running in a servlet) and a portlet, they would have to:

    • run in the same container
    • have the same session id

    But currently the session between the browser and the proxy portlet (so the Liferay session) and the session between the proxy portlet and Form Runner are different.

    So I don't think that session sharing can take place this way.