Customized Top Level Navigation iView

Hello to all
We are using a customized TLN iview. Its source code was modified to admit different URLs, and do the filtering depending of the default framework page which is using the TNL iview,
I mean, the TLN would be copied inside a proyect folder on the Portal Content, where would be a DFPage that contains a copy of TNL iview, and this copy would have a different roleFilter attribute.
Then, the TLN was modified again in order to merge roles that had the same name.
Those changes doesn't seem really important, they have just declared some vars, and each of them added one code line. The first one extended the first part of an IF condition, and the second one extended it with another condition, using OR.
The problem is that after the modifications, our TLN doesn't highlight correctly the first node when accessing or refreshing the Portal, instead of it shows a default start page that doesn't belong to any of our roles
The TLN iview has a procedure named PrintNavNodes, which is called on the event OnClick (I assume), and when we accessrefresh the page too.
The iview works well when clicking its buttons, it's just the first time it is used when the wrong page is shown, that's the problem we need to correct.
This procedure (PrintNavNodes) lodges the code changes. The only var modified is String prefix, so maybe anyone could tell me a default value to it, o a way to catch that mistake in order to show another page when the default page is to appear.
Also, I would appreciate if anyone knows about an API, andor a How to... manual, or any kind of documentation about this subject.
We have no possibility of reject the changes, so we need to find an alternative solution. Here is the code...
Thanks in advance, and regards
    private void PrintNavNodes(IPortalComponentRequest request, IPortalComponentResponse response)
     ILogger loggerArquitectura = request.getLogger(portal_logger);
         String strDataToPrint=;
     NavigationEventsHelperService navHelperService = (NavigationEventsHelperService)PortalRuntime.getRuntimeResources().getService(com.sap.portal.navigation.helperservice.navigation_events_helper);
     NavigationNodes initialNodes = navHelperService.getRealInitialNodes(request);       
!-- Change Heiko Broker for SiteNavigation          
          IPortalComponentContext componentContext = request.getComponentContext();
          IPortalComponentProfile profile = componentContext.getProfile();
          String roleFilter = profile.getProperty(RoleFilter);
        if(initialNodes != null)
     INavigationNode firstChild = null;
     INavigationNode firstContent = null;          
     String prefix=ROLESportal_content;
!-- Change Marta Alberto
     PROBLEM In the new TLN, when using the merge roles feature, the
     url of the merge roles is different (start with the word merge.....).
     This is a wrong implementation because it filters all the nodes that do
     not start with ROLES.
     SOLUTION Compare with the other prefix too.
     String newPrefixThatFixesTheProblem=MERGESportal_content;          
     String newPrefixThatFixesTheProblem=merge(;
            if(initialNodes.size()  0)      
            for(Iterator it = initialNodes.iterator(); it.hasNext();)
                INavigationNode initialNode = (INavigationNode)it.next();
                    strDataToPrint=initialNode.getName(),;
!-- Change Heiko Broker for SiteNavigation          
     if (initialNode.getName().startsWith(prefix+roleFilter)
!-- Change Marta Alberto
     PROBLEM In the new TLN, when using the merge roles feature, the
     url of the merge roles is different (start with the word merge.....).
     This is a wrong implementation because it filters all the nodes that do
     not start with ROLES.
     SOLUTION Compare with the other prefix too.
      initialNode.getName().startsWith(newPrefixThatFixesTheProblem + prefix + roleFilter))                    
                     firstContent = PrintNode(initialNode, request, response, 0);
                     if(firstChild == initialNode)
                         if(firstChild.getLaunchURL() != null && !firstChild.getLaunchURL().equals())
                             firstContent = firstChild;
                         else
                         if(firstContent == null)
                             try
               firstContent = firstChild.getFirstChild();
                             catch(NamingException e)
               ILogger logger = request.getLogger(navigation_logger);
               if(logger != null && logger.isActive())
                    logger.severe(this, e, Exception in Top Level Navigation);
                         HttpSession httpSession = request.getServletRequest().getSession();
                         httpSession.setAttribute(NavFirstContentNode, firstContent);
            }  end FOR
        response.write(););

Hi,
Check authentication related properties of iView. Make sure all of them are set to lowest level or none
Regards,
Ganga

Similar Messages

  • IViews are not updated in customized top level navigation

    Hi experts,
    I am working on External Facing Portal. I developed customized top level navigation. The problem is that the content area of External Facing portal is not refreshed. Although, i can see different navigationURLs but content area iView remains same. For testing purpose, i assigned role (which i created for anonymous access) to a new portal user. All pages/ivews/ for that role are working fine and content area is also updated when i click on different navigation. Remember that is standard portal not anonymous. It means through myserver:50100/irj/protal?NavigationTarget=navurl://cb0c473832f39033f88904647de63252 all navigation is working fine including content area but when i access External Facing Portal through  myserver:50100/irj/protal/anonymous?NavigationTarget=navurl://cb0c473832f39033f88904647de63252 navigationURLs is updated but the content area remains same. Content area contains 1 page and page itself contains 1 iVew. I assigned that light page to Light Framework page.
    Do i need to implement navigation connectors for that issue or i miss something?
    waiting for your response.
    regards
    Abbas

    Have you tried disabling the iView caching (check the iView and page properties). Your browser and proxy server (as you mention it is external facing) may also be caching the content, hence the reason when you use your user ID and the Java restart occurs everything is reset correctly.
    I know when doing Visual Composer developments that SAP EP caches the Function Module interfaces and that in the development environment I needed to change parameters in Visual Admin for the VC component lifetime to handle these. It could well be that you are referencing components that have lifetime keep alive set for them in the environment too. Refer to the API / SDK documentation if you suspect this could be the case for you too.
    What exactly is the iView in the content area doing? Is it just a transactional iView or is it a custom iview?
    If you can perhaps try putting on an http trace or monitor the NWA logs to determine if any issues exist. You Java VM may also require some more fine tuning in the external facing scenario - the GC may not be collecting items efficiently.

  • Customizing Top level navigation

    Hi,
    I have requirement where in i have to customize the top level navigation. Insted of hyper links display i have to show them like buttons, not exactly buttons but the hyperlinks shown for the navigation should be removed.
    Is it possible to show with out links and once click on the respective workset should be able to navigate that workset.
    Is it possible to place image for each workset navigation in top level navigation.
    Regards,
    Ravi.

    Hi Darrell,
    I checked that code and it is using the navHelperServer.getQuickLink method where it gets the Quick Link Value of the pages i guess.
    I could not find the method details and the declaration of this method in the help. Is it the custom method written of that class.
    I am using the below standard code of the LightTopLevelNavigation.
    I guess i need to put the custom code between the navNodeAnchor Tags of Selected and non selected Nodes.
    <TABLE border="0" cellspacing="0" cellpadding="0" class="mainTable" align="center">
      <TR>
    <!--     <TD nowrap class="notch"> </TD> -->
        <TD>
          <TABLE border="0" cellspacing="0" cellpadding="0" class="table1">
            <TR>
              <nav:iterateInitialNavNodes>
                <nav:ifNavNodeInSelectedPath>
                  <TD nowrap class="chosenTDLevel1">
                    <% if(previewMode) { %>
                      <A class="chosenOnLevel1"><nav:navNodeTitle/></A>
                    <% } else if(levels==1) { %>
                      <nav:navNodeAnchor navigationMethod="byURL" anchorAttributes="class='chosenOnLevel1'">
                      </nav:navNodeAnchor>
                    <% } else if(levels==2) { %>
                      <nav:navNodeAnchor navigationMethod="byURL" anchorAttributes="class='chosenOnLevel1'" urlParameters="InitialNodeFirstLevel=true"/>
                    <% } %>
                  </TD>
                  <% if(levels==2) { %>
                    <nav:storeNavNode/>
                  <% } %>
                </nav:ifNavNodeInSelectedPath>
                <nav:ifNotNavNodeInSelectedPath>
                  <TD nowrap class="unChosenTDLevel1">
                    <% if(previewMode) { %>
                      <A class="chosenOnLevel1"><nav:navNodeTitle/></A>
                    <% } else if(levels==1) { %>
                      <nav:navNodeAnchor navigationMethod="byURL" anchorAttributes="class='unChosenOnLevel1'"/>
                    <% } else if(levels==2) { %>
                      <nav:navNodeAnchor navigationMethod="byURL" anchorAttributes="class='unChosenOnLevel1'" urlParameters="InitialNodeFirstLevel=true"/>
                    <% } %>
                  </TD>
                </nav:ifNotNavNodeInSelectedPath>
                   <nav:ifHasMoreIterations>
                     <TD nowrap class="spacingTDPipeLevel2" valign="center"> | </TD>
                   </nav:ifHasMoreIterations>
              </nav:iterateInitialNavNodes>
              <TD nowrap class="spacingTDLevel1"> </TD>
            </TR>
          </TABLE>
    Thanks
    Sumanth

  • Customizing the top level navigation

    When you logon to the portal we usually have the top level navigation and second level navigation, I need the navigation in a different manner, that the navigation that they are looking for is more like a drop down (menu with the drop down items )
    I am at the client's place.It is very urgent.please help me
    Thanks
    Bala

    You have to write your own Top Level Navigation iVIew.
    You can do this by using Navigation Tag Libraries.
    Check the Help documetation
    http://help.sap.com/saphelp_nw04/helpdata/en/42/f35146a7203255e10000000a1553f7/frameset.htm
    Check the weblog
    EFP: Navigation and Framework Tag Libraries
    Regards,
    Prasanna Krishnamurthy

  • Top Level Navigation - Design bar borders

    SAP EP 6.0 SP9 on NW04
    We're using the top level navigation iview (TLN) out-of-the box and have configured the look and feel of TLN using the Theme Editor so that it follows the customer's corporate identity.
    However, we cannot remove the two white vertical borders around the design bar in top level navigation or change the color to the same color as the top level navigation. It is only possible for us to change the background color of the design bar but not the color of the design bar border. The marketing department thinks this is a huge issue, which must be fixed.
    We're almost certain that the problem cannot be solved by configuring the Theme Editor.
    Does anybody know whether it is easy to modify the code or css files to change the white borders of the design bar? Any idea of what is the best approach?
    Best regards
    Peter
    Can

    Hi,
    I have similar problem but there is no "Display of Design Bar Container" option in the Top Level Navigation section of the Theme editor.
    Thanks,
    MM

  • Levels in "top level navigation"

    Hi All,
    As of now our portal consists of 2 levels in "top level navigation"
    Now, I am trying to increase the no of levels to 3
    I tried this by performing the bleow navigations
    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 3 and choose save
    Restarted the Server
    Still I see the 2 levels only
    Can anyone help me out...
    Thanks in advance

    Hi,
    You can have more than two levels of navigation in TLN. But This is not possible without custom implementation.
    http://help.sap.com/saphelp_nw04/helpdata/en/5a/33befa45ca7f459b24d0c5d51d0749/frameset.htm
    In I-4 says:
    "In the Navigation property category, scroll to the Number of Display Levels property and enter the value 0, 1, or 2, depending on how many navigation levels, if any, you want for top-level navigation".
    From the third level role, is displayed in the DLN.
    regards,
    Pradeep

  • Changing the Height of Top Level Navigation

    How do I change the height of the Top Level Navigation?  I went into the framework page I am using, and then opened the Top Level Navigation iView, and changed the Fixed Height to "100" pixels while leaving the Height Type as "Fixed", but this had no affect.
    I am using just one level of TLN, and trying to increase the height of that one level so it is easier to see in the page.
    Thanks,
    Owen

    I have already downloaded the PAR file and customized it, and am using it in my custom portal framework.  Which part of the code do you recommend I modify?  There is the portalapp.xml file, which specifies the height as 45 pixels, but this is just the default size, which should be overridden by the value I specify in the iview, right?
    As far as the theme editor, that doesn't help me.  I have to increase the size of the top level navigation, not just change the font.
    Thanks,
    Owen

  • Display Icon/Image instead of Role name in top level navigation

    Hi,
    I want to display a image / icon instead of role name for a particular role. Can you please tell me how to achieve this ?
    Thanks,
    VP

    Hi,
    the thread is just for the background image (for all elements).
    if you want to display icons instead of role names, you have to create your custom top level navigation using the
    navigation taglib from SAP. There are lots of examples. make a blog search for Mr "Kannengiesser" from SAP.
    In case you are using already an EHPx in your EP 7.0 the AJAX framework might have this feature.
    Regards,
    Kai

  • 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 advance

    undo 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

  • How to display image in top level navigation

    Hi,
    how can i display an image in the top level navigation?
    (looks like the top level navigation of the SDN)
    Thanks,
    Norman

    Hello Norman,
    Please read through these forum links which also deal with customization of Portal 'Top Level Navigation'.
    Basically you need to download the required masthead.par and make the necessary changes as mentioned in the forum messages as belwo:
    [Customizing Top Level Navigation|https://forums.sdn.sap.com/thread.jspa?threadID=511530]
    [Customize Portal TLN|https://forums.sdn.sap.com/thread.jspa?threadID=1145007]
    Hope this helps.
    Regards,
    Shailesh

  • Top level navigation to be re organized to come in one page

    Dear SDN,
    I have one requirement. I want to change the Portal Theme in such a way that Top level navigation to be re organized to come in one page istead of scrolling left or right. Suppose the user having more than 20 roles then he shouldnt be scrolling more times to left or right for the roles, thats why we want that in one page.
    Can anybody please help me to solve this. Is there any way where we can set all roles visible in one page??
    Thanks & Regards,
    Nikesh Shah.

    Nukesh
    I have given you the link above.
    You should read it
    There is a step wise procedure for how can you set Navigation Level to 0.
    I. Configure Top-Level Navigation
           1.      In the Portal Catalog choose Portal Users-> Standard Portal Users. This folder contains the Default Framework Page.
           2.      Right-click Default Framework Page and choose Open ->Object.
           3.      From the Page Content List, select the Top-Level Navigation iView and click Properties.
           4.      In the Navigation property category, scroll to the Number of Display Levels property and enter the value 0, 1, or 2, depending on how many navigation levels, if any, you want for top-level navigation.
    Choosing 0 removes top-level navigation and displays your navigation structure in the Detailed Navigation iView.
           5.      Click Save.
    II. Configure Detailed Navigation
           1.      From the Page Content List of the Default Framework Page, select Desktop Innerpage and click Open.
           2.      From the Page Content List of the Desktop Innerpage select the Detailed Navigation iView and click Properties.
           3.      In the Navigation property category, scroll to the Start at Level property and assign a value that is one higherthan the value of the Number of Display Levels property in procedure l. Configure Top-Level Navigation. For example, if top-level navigation is configured for one level, the detailed navigation begins on the second level, that is with the value 2.
    Detailed navigation is not automatically synchronized with top-level navigation; the values that you enter for top-level and detailed navigation must agree. For example, if you enter the value 1 for top-level navigation, while detailed navigation still has the value 3, one level is left out, creating a gap.
           4.      Click Save.
    III. Configure the Content Area
           1.      From the Page Content List of the Desktop Innerpage, select the Content Area iView and click Properties.
           2.      In the Navigation property category, scroll to the Number of Display Levels in TLN property and enter the same value as that of the Number of Display Levels property in procedure I. Configure Top-Level Navigation.
           3.      Click Save.
    Thanks...
    Edited by: Chetna  Verma on Aug 21, 2008 7:19 AM

  • 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 Kerpel

    Hi,
    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

  • 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

  • How to merge top level navigation into detail navigation panel.

    Hi All,
    I want to add all the contents of top level navigation into detail navigation panel and  remove top level navigation.I am looking for the code with which i can shift the top level navigation to detail level navigation.

    You could edit the top-level navigation iview and set the <b>Number of Display levels</b> property's value to 0.
    you can reach the Top-level navigation iview by going through the following path
    1) <b>Content Administration --> Portal Content --> Content Provided by SAP --> Admin Interfaces --> Top-level navigation</b>
    However, note that once you do this the whatever menus that are available in the top level will not be available anymore.
    Maybe, you could copy the standard Top-level navigation into a framework page that you have created and then make the change. After doing so, you can assign it to groups/roles you want. This will ensure that the CONTENT/SYSTEM/USER administrators see the normal portal framework and specific user groups alone dont see the Top level navigation..
    Pradeep.

  • 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,
    Sanjo

    Hi
    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

Maybe you are looking for

  • Sometimes Mail doesn't send right away

    I'm trying to trouble shoot why sometimes when I send an email, I get the spinning gear for a fairly long time, 20+ seconds and other times the mail goes out instantly upon clicking Send. Is it an app issue, ISP problem? Other?

  • Connecting iPhone to Wifi

    I have an old iPhone 3G and I reset the entire phone. Now every time I try to connect to wifi it says it is unable to join the network. Why is this?

  • Combine PDFs with a script

    I want to create a script, either AppleScript or JavaScript, that automatically combines all PDFs that are open in Acrobat Pro, then saves and closes the new binder. I'd also like to specify location of the saved binder. If that is possible, it may b

  • Canon EOS rebel T3i. Zoom lens

    My partner has a new camera. She Is a beginner she wants. Zoom lens. What do you. Suggest.?

  • Your request could not be completed (downloading apps)

    I was trying to download an app I saw while browsing Safari with the link ( 메론 (MelOn) ) Yes, it's Korean and I am in America. I heard that you couldn't download apps sometimes because the copyright wasn't allowed in some countries yet. I tried fakin