Hi Aaron,

I think the first solution should be an own action. As we
are "flooded" with actions, I think they all need a redesign.
We have very similar actions/selectors for requests, sessions,
cookies etc. Perhaps they can be somehow unified.

Carsten

> -----Original Message-----
> From: SANSONE, AARON M [Non-Pharmacia/1000]
> [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, October 18, 2001 6:32 PM
> To: '[EMAIL PROTECTED]'
> Subject: SessionParamAction or Updated RequestParamAction?
>
>
> Hi everyone,
>
> I needed to make some session attributes available to the
> sitemap.  Looking
> through the Cocoon API, I can't find such an action.  The
> RequestParamAction
> is the closest to what I need but it is only for the Request
> object.  I have
> written a SessionParamAction that mirrors what the RequestParamAction does
> except that it works for the session.
>
> My question is, should I contribute this to the Project?
> Secondly, if this
> is to be contributed, I am in a quandary as to where this code belongs.
> Currently the existing RequestParamAction places the Request
> Parameters into
> the Map only if the "parameters" value is set to true:
>
> <map:act type="request">
>   <map:parameter name="parameters" value="true"/>
>   <map:generate src="users/menu-{id}.xml"/>
> </map:act>
>
> A new SessionParamAction could make the previous code look like:
>
> <map:act type="request">
>   <map:act type="session">
>     <map:parameter name="parameters" value="true"/>
>     <map:generate src="{sessionpath}/users/menu-{id}.xml"/>
>   </map:act>
> </map:act>
>
>  I could easily refactor the RequestParamAction to take a
> separate parameter
> for the session attributes thus simplifying the previous code to:
>
> <map:act type="request">
>   <map:parameter name="parameters" value="true"/>
>   <map:parameter name="session_attributes" value="true"/>
>   <map:generate src="{sessionpath}/users/menu-{id}.xml"/>
> </map:act>
>
> Or create a new Action (RequestSessionParamAction)
>
> <map:act type="request-session">
>   <map:parameter name="parameters" value="true"/>
>   <map:parameter name="attributes" value="true"/>
>   <map:generate src="{sessionpath}/users/menu-{id}.xml"/>
> </map:act>
>
> One issue with either approach is the precedence of request values vs.
> session values of the same name.  I believe that in the case where the
> request and session actions are separated, the precedence is dependant on
> which action is specified last.  For example if request has a parameter
> name=Aaron and the session has an attribute name=Michael then if
> the session
> is specified after the request, the substitution of the {name} would yield
> Michael from the session action.
>
> This is predictable and easily changed if you wish to have the
> request take
> precedence over the session by switching the order in the
> sitemap.  If it is
> refactored to a single Action that doesn't replace the RequestParamAction
> (i.e. RequestSessionParameterAction) an additional parameter would need to
> be provided to change the order of precedence (assuming some default).
>
> What would be the best solution?
>
> This is a similar question to one that I just read from Paolo.
>
> Thanks,
> Aaron
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, email: [EMAIL PROTECTED]
>


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

Reply via email to