How to create menus linking to portal pages in user Navigation.xml
opic Apr 3, 2012 8:01 AMGatein supports customizing the
portal/WEB-INF/conf/portal/user/template/user/navigation.xml
file to create default nodes any user can use when he goes to the dashboard page. In this navigation.xml we add nodes in the following syntax
<node-navigation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.gatein.org/xml/ns/gatein_objects_1_2 http://www.gatein.org/xml/ns/gatein_objects_1_2"
xmlns="http://www.gatein.org/xml/ns/gatein_objects_1_2">
<priority>3</priority>
<page-nodes>
<!-- The default dashboard tab -->
<node>
<name>MySpace</name>
<label>MySpace</label>
<page-reference>user::@owner@::Tab_Default</page-reference>
</node>
<node>
<uri>Contracts</uri>
<name>Contracts</name>
<label>Contracts</label>
<page-reference>portal::MyPortal::Contracts</page-reference>
</node>
</page-nodes>
</node-navigation>
As you see we add a dashboard TAB with a page reference to user:@owner@::Tab_Default
And an aother node pointing to page-reference portal::MyPortal::Contracts
We also add navigation portlet to the portal/WEB-INF/conf/portal/user/template/user/user.xml
As is :
<portlet-application>
<portlet>
<application-ref>web</application-ref>
<portlet-ref>NavigationPortlet</portlet-ref>
</portlet>
<access-permissions>Everyone</access-permissions>
<show-info-bar>false</show-info-bar>
</portlet-application>
When the user goes to the dashboard page, evrything seems to work ok, the dashboard is displayed with a NavigationPortlet with a 'MySpace' and a 'Contract' menu. But, when the users clicks on the menu, the link is computed to
http://<server>/portal/u/<username>/<nodename> instead of http://<server>/portal/<MyPortal>/<NodeName>
preventing the user to link to the standard portal pages.
Any ideas ?