cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Goupinets <ngoupin...@openskysolutions.ca>
Subject Re: Cocoon portal tabs
Date Wed, 08 Dec 2004 20:18:16 GMT
Hi Anna,

I guess I was asking what is the underlying mechanism you use that 
switches tabs. I have no experience at all with "Portal Page Labels", if 
that's what you got. Anyhow, I hope that the hack that I will suggest 
will be suitable for any tab-switching algorithm.

In the main portal sitemap (the one that contains configuration for the 
portal), there is "auth" pipeline. If a user is successfully 
authenticated this pipeline does a redirect depending on the value of 
request parameter "resource".

<map:redirect-to uri="{request-param:resource}"/>

By default, this "resource" parameter is hard coded to be "portal" in 
login-html.xsl (part of the skin - responsible for rendering the login 
coplet).

In case pattern like "portal?id=tab2" works for you, all you have to do 
is to add that id parameter to the redirection URL, so that it will look 
like this:

<map:redirect-to uri="{request-param:resource}?id=tab2"/>

In case you have access to the authentication pipelines, you can store 
the tab value in the authentication context (read more about it here:
http://cocoon.apache.org/2.1/developing/webapps/authentication.html ).

So, if you have the following authentication info for a user:

<authentication>
     <ID>Unique ID of the user in the system</ID>
     <role>rolename</role> <!-- optional -->
     <tabValue>tab2</tabValue>
     <data>
         Any additional optional information can be supplied here.
         This will be stored in the session for later retrieval
     </data>
</authentication>

Then the redirect could look like:

<map:redirect-to uri="{request-param:resource}?id={tabValue}"/>

I hope that this will work for you, but I haven't tried it (so the 
advice will be purely theoretical).

Sincerely,
Nick.

PS. Here is the auth pipeline:

       <!-- Authenticate a user -->
       <map:match pattern="auth">
         <!-- Check if we are logged in:
         - if we are anonymous, then logout
         - if we are any other use, redirect to loggedin
         -->
         <map:act type="auth-loggedIn">
           <map:parameter name="handler" value="portal-handler"/>

           <map:act type="auth-protect">
             <map:parameter name="handler" value="portal-handler"/>
             <map:parameter name="application" value="portal"/>

         ....
         ....
         ....

         <!-- Start the authentication process -->
         <map:act type="auth-login">
           <map:parameter name="handler" value="portal-handler"/>
           <map:parameter name="application" value="portal"/>
           <map:parameter name="parameter_name" 
value="{request-param:name}"/>
           <map:parameter name="parameter_password" 
value="{request-param:password}"/>

           <!-- Authentication succeeded -->
           <map:act type="portal-login">
             <map:parameter name="portal-name" value="portal"/>
           </map:act>

           <map:redirect-to uri="{request-param:resource}"/>
         </map:act>

Anna Bikkina wrote:
> What I really want is to display all tabs for all users but depending on
> which user is logged in I want to have the right tab selected first. I
> want the order of the tabs also to remain same. Just the right tab has
> to be selected. 
> 
> When I was doing href="portal?id=tab2" it is going to tab2 but to do
> that I should be in the portal page. I want tab2 to be selected for the
> users as he gets to the portal page.
> 
> Thank your replying back.
> 
> Anna.
> 
> 
> 
> On Tue, 2004-12-07 at 17:32, Nick Goupinets wrote:
> 
>>Hi Anna,
>>
>>I am not exactly sure which features you are talking about. I have never 
>>seen switching portal tabs just based on the "id" request parameter.
>>
>>Can you provide more information?
>>
>>BTW, if you want to display different pages for different users, you can 
>>use very fine grained profiling system. Just modify the pipelines that 
>>fetch layout information.
>>
>>Sincerely,
>>Nick.
>>
>>Anna Bikkina wrote:
>>
>>>Can someone please help me get this working?
>>>
>>>On Mon, 2004-12-06 at 13:13, Anna Bikkina wrote:
>>>
>>>
>>>>Hi,
>>>>
>>>>I am using cocoon portal features. In my portal page I have tabs. When I
>>>>choose "portal" it goes to the first tab in my application. I want the
>>>>application to go to different tabs depending on which user is logged
>>>>in. so when I redirect to portal after I login . I tried
>>>>	<map:rediect-to uri="portal?id=tab2"/>
>>>>
>>>>but that didnt work. When I use hyperlinks that say <a
>>>>href="portal?id=tab2" it goes to the respective tab. Not sure why
>>>>redirect-to is not working..
>>>>
>>>>Can someone please help me how to solve this problem.
>>>>
>>>>Thanks,
>>>>Anna.
>>>>
>>>>
>>>>---------------------------------------------------------------------
>>>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>>For additional commands, e-mail: users-help@cocoon.apache.org
>>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>>For additional commands, e-mail: users-help@cocoon.apache.org
>>>
>>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>For additional commands, e-mail: users-help@cocoon.apache.org
>>
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message