Hi all,

Sorry for being a little too late for this thread to clear up matters quickly, 
but luckily David
has already given the configuration examples to enable or disable session 
storage of render parameters.

To summarize: Jetspeed currently provides three implementations for encoding 
and storing portletwindow
state and parameters:
a) fully encoded on the url (like for instance Pluto does):
   use class org.apache.jetspeed.container.state.impl.PathNavigationalState
b) only portletwindow state (window state and portlet mode) are saved in the 
session, parameters
   are encoded on the url:
   use class org.apache.jetspeed.container.state.impl.SessionNavigationalState
c) state and parameters are saved in the session (the default):
   use class 
org.apache.jetspeed.container.state.impl.SessionFullNavigationalState

Franks's patch should not be needed if you change the assembly 
portal-url-generation.xml to use
implementation class a) or b).

I do share Aaron Evans's interpretation of PLT.12.2.3 which he provided very 
clearly in an earlier response.
But, I also agree this might not be what everyone expects or wants, and the 
foremost reason I created
three different implementations to choose from in the first place ;)

Regards, Ate

David Sean Taylor wrote:

I think I see the issue here.

I was looking at the URL, when I should have been looking at the result of the API calls. The default configuration stores render parameters state in the session. See portal-url-generation.xml.

  <!-- Navigation state we are currently using -->
  <bean id="NavigationalState"
class="org.apache.jetspeed.container.state.impl.SessionFullNavigationalState"
       singleton="false"
> <constructor-arg><ref bean="NavigationalStateCodec"/></constructor-arg>
  </bean>

If you don't want to make render parameters stateful, use SessionNavigationalState instead:

  <!-- Navigation state we are currently using -->
  <bean id="NavigationalState"
class="org.apache.jetspeed.container.state.impl.SessionNavigationalState"
       singleton="false"
> <constructor-arg><ref bean="NavigationalStateCodec"/></constructor-arg>
  </bean>


IF you want to store navigational state in the URL, change your spring configuration to:

  <!-- Navigation state we are currently using -->
  <bean id="NavigationalState"
class="org.apache.jetspeed.container.state.impl.PathNavigationalState"
       singleton="false"
> <constructor-arg><ref bean="NavigationalStateCodec"/></constructor-arg>
  </bean>


finally, another Nav state impl available: PortletWindowRequestNavigationalState which also stores state in the server side and allows for optionally render parameters when synchronizes state

   /**
* true if for a targeted PortletWindow using StateFullParameters the saved (in the session) render parameters
     * must be cleared when synchronizing the states.
* Prevents the default behavior when using StateFullParameters to copy the parameters from the session
     * when no parameters are specified in the PortletURL.
* Used if for the targeted PortletWindow no render parameters are specified.
     */
    private boolean clearParameters;

    public void setClearParameters(boolean ignoreParameters)
    {
        this.clearParameters = ignoreParameters;
    }

My apologies for not understanding this the first time.
Looks like you were getting the low wage support guy here instead of one of the experts!


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






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

Reply via email to