Top Level Navigation Manipulation in "Hosted Portal"
We are in a position where we have to begin hosting additional content in our portal from a portal that is being decommissioned.
The problem is we need to keep it seperate from the existing content from a user access point of view.
While users can have access to roles from the existing content and from the soon to be "hosted" content, they have not to be seen in the portal at the same time.
For example if the user accesses the portal with URL 1 they only see tabs in the top level navigation for the current content but if they access using URL 2 they only see tabs in the top level navigation for the "hosted" content.
I know we can control most of the issues such hosting raises using URL Aliases in our Desktop Rules to display different desktops, but wanted to know if anyone knows of a simple way that this can be enforced in the standard top level navigation iView via either configuration or simple code change to prevent us having to develop our own TLN to cope with this.
We are currently on EP7.0 SP13
Thanks (and of course points) for any help you can offer.
Hi Micheal,
Thanks for your suggestions.
We have managed to get halfway to our required solution with a very simple change to a copy of the standard top level navigation whereby we only process the PrintNavNodes method for iterations of the "initialNodes" which have the required node names - e.g.
private void PrintNavNodes(IPortalComponentRequest request, IPortalComponentResponse response)
for(Iterator it = initialNodes.iterator(); it.hasNext();) {
INavigationNode initialNode = (INavigationNode)it.next();
// Start of Change - Portal Share Project
String nodeName = initialNode.getName();
if ( nodeName.endsWith("ccmaint_user") || nodeName.endsWith("ccmaint_supervisor") ) {
// End of Change - Portal Share Project
firstContent = PrintNode(initialNode, request, response, 0);
try {
This effectively filters out the unwanted tabs in the desktop where this amended TLN is used.
This works fine where the tabs you want to see have sort priority putting them at the front of the list but leads to problems when used for the converse set of content as the desktop is still referring to the full "initialNodes" list and so while filtering at this level does render the TLN as required, it becomes unusable as the tab positions are still considered to be as they would be if you had not filtered any.
For example:
We have 5 tabs in total. For URL 1 we wish to show only tabs 1 & 2. For URL 2 we want tabs 3, 4 & 5.
Using this method for URL 1 we are fine as Tabs 1 & 2 are in the correct positions but for URL 2 when the tabs are rendered they appear in positions 1, 2 & 3 as required but act somewhat as though they are still in positions 3, 4 & 5 (e.g. Select the first tab and the 3rd is highlighted and a page error occurs - "'children' is null or not an object").
Not only this but the Inner Page still displays the content from the filtered tab 1 as opposed to tab 3.
Can anyone advise a way we can get round these issues?
Thanks
Ian.
P.S. Please excuse my naïvety in this area.
Edited by: I. Butcher on Mar 27, 2008 10:31 AM
Similar Messages
-
ByEPCM top level navigation in between federated portals
Hi Everyone,
we're currently having an issue where our bespoke top level navigation isn't working properly between our federated EP and CE systems. The TLN is a hover menu style navigation and uses byEPCM to navigate. The problem occurs when the user logs on to EP, navigates to an iview that is on the CE box (via federation) and then tries to navigate back to an EP iview. Instead of displaying the iview the user sees "page not found" in the content area and has to reload the whole portal framework for it to work.
The logs don't seem to suggest very much apart from it looking for the role/iview on the CE box as opposed to the EP box (??). This does not happen using the standard SAP TLN and also doesn't seem to happen when using byURL instead of byEPCM. Now, the natural suggestion would be - why not use byURL instead? This is valid approach and I will test this but I distinctly remember that there was a reason why I used byEPCM as opposed to byURL in the first place (just can't remember what it was as it was a long time ago). In any case I will test this over the next few days.
I can't help think though that this might be a config or security/permission setting somewhere on either EP or CE (probably CE). Anyone who has encountered this before and can maybe shed some light or have any suggestions on where to start looking?
Thanks,
DionHi Henrik,
you could listen to the navigation event (just as the TLN does to navigate to the next page).
Here is how it works (JS code):<pre>function myNavEventHandler(eventObj) {
var navigationTarget="";
if (typeof (eventObj.dataObject)=="string")
navigationTarget = eventObj.dataObject;
else
navigationTarget = eventObj.dataObject.target;
<i>// add code handling <b>navigationTarget</b></i>
EPCM.subscribeEvent("urn:com.sapportals:navigation", "Navigate", myNavEventHandler);
</pre>Put this code into an component/iView, then place it into the framework page.
That should be it...
Regards
Sven -
Can we control the top level navigation in portal from a java application
Hello,
I am having a scenario where User logged in to portal and assigned with 2 roles (HOME , ISA(Java application)). When user opened a form in ISA (Java application) and tried to enter the data in form and moved to another tab (e.g. HOME) in top level navigation.
When user come back to ISA (Java application) TAB , we show the page where he left earlier. I would like to know if user click any other TAB in top level navigation (Role assigned to him) while working on a page in ISA(Java application) is there any way we can catch that event before he leaves from ISA (Java application JSP page) to other TAB?
How can we control the top level navigation events in the portal from a java application .Since Top level navigation is seperate par file.
Thanks,
RNDear Rajesh,
Top Level and detailed navigation values comes with iteration in the respective par file.
Please check the par file and based on the value (i.e tab name) selected, you can write your code.
Best Regards
Arun Jaiswal -
Top level navigation repeat tab
Hi Guys,
Simple one here, just cant point my fingers to it. The top level navigation tab in my portal is repeating itsself. There are 1 additional set of tabs. HOw do i sort this out? thanks
regards,
johanFor more information on Merging Navigation Nodes and Defining the Sequence, check:
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/53/89503ede925441e10000000a114084/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/53/89503ede925441e10000000a114084/frameset.htm</a>
Kind regards, Hilco -
Missing Top Level Navigation par
Hi All,
I have mistakenly cleaned SAP standard Top Level Navigation par from my portal server using Administrator Console tool.
I am currently working on SAP EP 7.0 SP18 and I need to get the par file back along with the particular Top Level Navigation iview if possible.
Currently am managing using Light top level navigation iview.
Please let me know if there is any way to get this par file (com.sap.portal.navigation.toplevel) redeployed on the server
Thanks,
SanjoHi
Thanks for the prompt reply.
I tried downloading the par from other server & uploaded the same in my portal server, but I couldnt create an iview for the par as it was not getting listed in the iview creation wizard at all.
The problem could be that when I tried uploading the par, it got uploaded successfully but had repository or local versionas "undefined" and that could be the reason that it doesnt appear in the wizard of creating iview from a par.
Thanks
Sanjo -
How to enable "top level navigation " in portal
Hi all,
I am unable to see the "top level Navigation" once I logged on to portal
Previously I was able to see that
I performed the following steps thats the reason why I am unable to see "top level navigation"
1 Logged on to portal
2 Content administration
3 Expanded Poratl Content
4 Expanded Content Provided by SAP
5 Expanded End User Content
6 Expanded Standard Poratl Users
7 Selected "Default Frame work Page"
8 In that selected Top Level navigation Iview and the iveiw properties I changed the property "Number of Display Levels " to "0" and choose save
As I have set "Number of Display Levels" to "0" I am unable to see "top level Navigation" Now,I want to change it to 2 for that I need to see the Content Administration role in the "Top Level navigation" Can anyone help me out how to enable "Top level Navigation"
Thanks in advanceundo the changes what you have done.
after you logon to the portal try the url below...this should take you to content admin directly from there modify the framework page and reset the property of TLN
http://yourserver:port/irj/servlet/prt/portal/prtroot/com.sap.portal.pagebuilder.IviewModeProxy?iview_id=pcd%3Aportal_content%2Fadministrator%2Fsuper_admin%2Fsuper_admin_role%2Fcom.sap.portal.content_administration%2Fcom.sap.portal.content_admin_ws%2Fcom.sap.portal.portal_content&iview_mode=default
Thanks
GLM -
WPC on Portal 7.3: Area in top level navigation
Hi,
We are trying to set up a site using Web Page Composer on portal 7.3, but we are not able to display the area in the first level of the navigation.
Let's say we need following structure in the navigation:
Departments
-- HR
-- Trading & Supply
-- Finance
We want the content managers of our site to create extra departments without sending an area connection request to show the new department in the navigation.
Is it possible to create an Area Departments, link it to a role by creating a connection and use this connection as an entry point?
I've tried to edit the connection and mark "departments" as entry point, but it's not appearing in the top level navigation.
kr,
JoachimHi,
An area cannot be the first level of navigation. When you publish an area in WPC 2.0 it becomes a workset. Connecting the area to a role is similar to placing a workset under a role (the technicalities aren't the same, but that's the general idea).
Information regarding area connection can be found at:
[http://help.sap.com/saphelp_nw73/helpdata/en/e6/b19a514bbf43b28a7d15c6468b3925/frameset.htm]
[http://help.sap.com/saphelp_nw73/helpdata/en/c1/da36efd6384bb8b28b24b08f405204/frameset.htm]
Best regards,
Alex -
Portal / Sort Menupoints in the Top Level Navigation
Hi there,
just a little question.
I have a top level Navigation with 3 Menu Points.
CRM / Planning / Home
I want know that "Home" is the first Menu Point that is loading when the Portal opened.
How can i sort The Menupoints in the Top Level Navigation?
Regards
Edited by: Bjoern Bayerschmidt on Aug 17, 2009 9:04 AMBjoern,
check this link
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/92/3e703e632c7937e10000000a114084/content.htm
Please do a search in sdn before posting
Thanks
Bala Duvvuri -
Top level navigation problem anonymous portal
Hi everybody,
We have an anonymous portal with named anonymous users.
When you log on in the portal with a normal user, the top level navigation works fine and all the content is displayed.
When you log on in the portal with an anonymous user, all the content is displayed, the top level navigation works.
But when you press e.g.: the second tab in the top level navigation, you can see the right content, but the tab is not highlighted. In the normal portal the tab is highlighted. The auth scheme of my top level navigation iview is set to anonymous.
Did I forgot to set a standard sap iview to anonymous or something?
Kind regards,
David De KerpelHi,
You have the following options to solve this problem as suggested by SAP:
1. Disable the short urls feature. Go to System Administration --> Navigation --> Short URLs, set the "Use short URLs" to false, save the configuration and restart the J2EE Engine.
2. Log in as a standard user (not anonymous) and navigate to all iViews/pages that will be viewed by anonymous. Navigating to an iView/page or a navigation node means that you can see a link to it in the TLN or DTN.
3. Deploy the PAR file attached in the SAP Note 913367, which fixes the problem.
Regards,
Srinivasan T -
Show portal top level navigation in tab format to a tree fromat
hi all,
whn i assign roles to the portal they are displayed in the top level navigation in the tab format.''
Inspite of showing it in the tab format i want to show it in left croner in the tree format
>role1
>attri1
>attri2
>role2
>attri1
>attri2
Please help me in this...Awaiting for your response.Hi, you can change the Look & Feel of Portal.
See link below to create a new Portal Desktop
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/e549a890-0201-0010-3f8b-d3b852457ebd&overridelayout=true
Regards,
Edson Thomaz -
Hover Effect in Top level navigation in Portal 7.3
Hi All,
We have achieved hover effect till 3 levels in Portal 7.3
We have tried to implement 4th level,but we are facing issue
Kindly help me to implement 4 level hover effect in portal 7.3 (EHP6).
Please find the attached CSS and JSP file for 3 level hovering and 4 level hovering in which we are facing the above issue.
Regards,
Sarita AgrawalHi Sarita,
I have pretty much followed your approach. But in the drop down top level navigation works wiredly & doesn't pick up the value as desired. I have similar need where the TLN has to be extended till 4 level, could you point me right direction where is it going wrong?
For 3-levels:
<ul>
<nav:iterateInitialNavNodes>
<li id='l0'>
<nav:navNodeAnchor navigationMethod="byEPCM" />
<nav:ifNavNodeHasChildren>
<ul>
<nav:iterateNavNodeChildren>
<nav:ifNavNodeHasChildren>
<li id='l1'>
<nav:navNodeAnchor navigationMethod="byEPCM" />
<ul>
<nav:iterateNavNodeChildren>
<li id='l2'>
<nav:navNodeAnchor navigationMethod="byEPCM"/>
</li>
</nav:iterateNavNodeChildren>
</ul>.
</li>
</nav:ifNavNodeHasChildren>
<nav:ifNotNavNodeHasChildren>
<li id='l3'>
<nav:navNodeAnchor navigationMethod="byEPCM"/>
</li>
</nav:ifNotNavNodeHasChildren>
</nav:iterateNavNodeChildren>
</ul>
</nav:ifNavNodeHasChildren>
</li>
</nav:iterateInitialNavNodes>
</ul>
Thanks and Regards,
Sumanth -
Portal run time error when clicking on top level-navigation
Hi,
When I select a link from the top level-navigation I get the message <b>Portal Run Time Error</b>.
I found the log file with this entry :
<i>#1.5#001438EE39C6006F0000130F000031E800041ABD6F12C098#1155300821516#com.sap.portal.portal#sap.com/irj#com.sap.portal.portal#Guest#0####6a3f43c0293811dba664001438ee39c6#SAPEngine_Application_Thread[impl:3]_37##0#0#Error#1#/System/Server#Java###Exception ID:02:53_11/08/06_0601_18813850
[EXCEPTION]
#1#com.sapportals.portal.prt.component.PortalComponentException: Error in service call of Portal Component
User : Guest
at com.sapportals.portal.prt.core.PortalRequestManager.handlePortalComponentException(PortalRequestManager.java:969)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:343)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sapportals.portal.prt.core.PortalRequestManagerException: PortalRuntimeException
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:143)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
... 24 more
Caused by: java.lang.NullPointerException
at com.sapportals.portal.navigation.NavigationService.getNavURLPrefix(NavigationService.java:531)
at com.sapportals.portal.navigation.NavigationService.redirect(NavigationService.java:495)
at com.sapportals.portal.navigation.NavigationEventsHelperService.redirectURL(NavigationEventsHelperService.java:1735)
at com.sapportals.portal.navigation.NavigationEventsHelperService.normalizeNavigationTarget(NavigationEventsHelperService.java:1715)
at com.sapportals.portal.navigation.NavigationEventsHelperService.getNavSessionParameter(NavigationEventsHelperService.java:784)
at com.sapportals.portal.navigation.NavigationEventsHelperService.getCurrentNavNode(NavigationEventsHelperService.java:351)
at com.sapportals.portal.navigation.NavigationEventsHelperService.getCurrentLaunchNavNode(NavigationEventsHelperService.java:421)
at com.sapportals.portal.navigation.fpm.NavigationFpmListener.addToHistory(NavigationFpmListener.java:268)
at com.sapportals.portal.navigation.fpm.NavigationFpmListener.doNavigatePhase(NavigationFpmListener.java:98)
at com.sapportals.portal.navigation.fpm.NavigationFpmListener.doPhase(NavigationFpmListener.java:70)
at com.sapportals.portal.pb.fpm.FPMContainer.distributeEvent(FPMContainer.java:63)
at com.sapportals.portal.pb.fpm.FPM.doDocumentHook(FPM.java:143)
at com.sapportals.portal.prt.service.document.DocumentHookMulticaster.doDocumentHook(DocumentHookMulticaster.java:100)
at com.sapportals.portal.prt.service.document.DocumentHookService.doDocumentHook(DocumentHookService.java:119)
at com.sapportals.portal.prt.service.document.DocumentHookServiceNew.doDocumentHook(DocumentHookServiceNew.java:183)
at com.sapportals.portal.prt.connection.PortalHook.doDocumentHook(PortalHook.java:824)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:261)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
... 28 more
#</i>Hi Christophe,
Since you set this question as "Answered", did you find a solution to the problem? We are experiencing a similar problem when clicking top level navigation, but only in some rare cases.
Best regards,
Erik Eriksson -
Hi,
How can i remove the display bar on Top Level Navigation(Left side).
Thanks.Hi Shah,
Please follow the procedure:
<b>To Configure Top-Level Navigation</b>
1. In the Portal Catalog choose <i>Portal Users</i> -> <i>Standard Portal Users</i>. This folder contains the <i>Default Framework Page</i>.
2. Right-click <i>Default Framework Page</i> and choose Open -> <i>Object</i>.
3. From the Page Content List select the <i>Top-Level Navigation</i> iView and click <i>Properties</i>.
4. Scroll to the <i>Number of Display Levels</i> property and enter the <b>value 0, 1, or 2</b>, depending on how many navigation levels, if any, you want for top-level navigation.
<b> Choosing 0 removes your top-level navigation and displays your navigation structure in the Detailed Navigation iView. </b>
5.Click Save.
For more information see SAP Note <b>687485</b>.
I hope this solves your problem.
Regards
Pravesh
PS: Always consider rewarding points for helpful answer on SDN. -
How to hide name of Role from the top level navigation of the portal
Hi Experts,
In my project, I have created 2 roles Role A and Role B. These roles have been assigned to User X.
When user X logs in, he is able to see name of role that is 'A' in the top level navigation.
As per the requirement, user X should not see the 'A'.
Rather user X should see following:
Top Level Navigation: 'My Work'
When user clicks on 'My Work', he should see
'My Sub Work1' and 'My Sub Work2'.
After that under 'My Sub Work1' user should see following
All Objects of Role A
All Objects of Role B
Name of role i.e. 'A' or 'B' should not be displayed at all at any place in navigation.
Only whatever objects has been assigned to Role A and B should be displayed in detailed navigation area.
Can you please let me know how to achieve this?
Pictorial Diagram:
My Work (In top level navigation)
My Sub Work1 My Sub Work2 (In top level navigation)
_________Objects of role
A
|
|_________Objects of role
B
Please note that 'My Work' and 'My Sub Work1' and 'My Sub Work2) are not roles. They are just the name of folders.
Can you please let me know how to achieve it?
Regards,
BrianHi Brian,
Try the following steps.
1. Change the 'Entry Point' property of Roles A and B to 'No'.
2. Create a role folder called 'My Work' under A and B.
3. Set the 'Entry point' property of this folder to 'Yes'.
4. Set the 'merge id' property of the folder as "mywork" (or any other string) under both roles A and B.
5. Under 'My Work' in Role A,
a. Set the 'Merge Priority' property to 50.
b. create subfolder 'My sub work1' and create all your objects.
6. Under 'My Work' in Role B,
a. Set the 'Merge Priority' property to 100.
b. create subfolder 'My sub work2' and create all your objects.
7. Make sure the user is assigned both the roles A and B. Only then he/she can see objects of both the roles.
8. One thing to remember while merging folders is that, all the entities that are being merged should be at the same level. For eg: in our case, you cannot merge 'my subwork1' in role A, with 'my work' in role B.
Reward points if helpful.
Regards,
Priya -
Top-Level Navigation Tab Image
In the top-level navigation it allows you to assign background colors for the tab colors when selected or not selected. However, you can reference an image with a unique path in this field. So when the top-level navigation renders it displays an image, gradient for example instead of a background color. I did this a while back but cannot locate this information. If someone has done this before and can provide this information that would be great.
--KALI just tested it, and did not manage to make it work.
I am in the Portal Outer Frame > Top-Level Navigation > Unselected Tabs of First Level > Background Color of Unselected Tabs
and this is the value I use :
background:url(http://<host>:port/irj/go/km/docs/documents/SDN/my_image.png)
Am I missing something ? Do I have to create a par file for this ?
Edited by: Fabien REVOL on Aug 6, 2010 9:28 AM
Maybe you are looking for
-
Stock Posting List - Negative Value when Different Currency in PO
Hi experts, We would like your help on the following scenario. A Purchase Goods Receipt PO and a Purchase Invoice are added in SAP 9.0, on the same date, in a different currency from the system's currency; system's is Euro and Purchase documents are
-
Creating a Job to execute a .sh file
Hi, I have an important issue creating a Job to execute a .sh file, the .sh (start_execution.sh) contains a lot of random calls like this: #!/bin/bash . /home/crm/.bash_profile . /home/crm/argentina/crm/crmdw/clusters/mt/mt_pull_push/start.sh . /home
-
I upgraded to an iPad2 and recently pulled out my old iPad 1 to re-gift to a family member. I can't remember the password I originally set up - is there a way to get beyond this? Each time I try a different password (trying any that I thought I migh
-
I paid for PSE 11 Upgrade and downl;oaded the files. During the install I got error notices about a corupted Data 1.cab file (Error 1335) and Error 2350 - Server Error. I think I have those correctd and I want to download the program again. How do I
-
HT5035 How can I see how much money is left on a gift card that I have redeemed?
How can I find out how much money is left on my iTunes card?