locked
Migrated from MOSS 2007 to Sharepoint 2010 . Breadcrumb Navigation not working in Pages/default.aspx. It is working in all the other application pages and forms pages. RRS feed

  • Question

  • Hi,

        Migration has been done from MOSS 2007 to sharpoint 2010. Previously had many bugs fixed them.

    The final bug is that the breadcrumb navigation is not working correctly for the existing sites/sitecollections. The breadcrumb navigation is correctly wrking for the application pages like /_layouts/settings.aspx and it is alo working fine for the forms/allitems.aspx or similar pages.

    Now I have done branding changes to my master page but have not touched the navigation at all. All I did is added a table to show some pictures.

    What I tried is:

    Used IE 8 Developer tools to debug the script of the page. And when I debug the page /pages/default.aspx  it runs a javascript and I kept a breakpoint in Core.js at CoreInvoke("call Open BreadCrumb Menu", event, 'Global Breadcrumb NavPopout, anchor')

    I stepped in and it shows the result as false. So, I cannot see anything in the default.aspx breadcrumb navigation up ....it just says.."This Page Location is:"  

    Any Ideas. Trying since a week to figure out why the navigation is calling javascript and not using the SiteMapProviders.

    Karthik G

     

     

    Wednesday, November 17, 2010 5:08 PM

Answers

  • We had the same issue after 2010 migration from 2007. We just fixed it two weeks ago after working with Microsoft. Several pople as k me to post this and you could find details from my blog http://sharepointconnoisseur.blogspot.com/2011/02/sharepoint-2010-upgrade-site-navigation.html.

     

    Let me know how it goes.

     

    Harry Chen

    Thursday, March 3, 2011 3:47 AM

All replies

  • Hi Karthik,

    Are you talking about the breadcrumb control displayed as folder icon in the ribbon? If yes the reason behind the bread crumb not displaying correctly on clicking is, in your page you have breadcrumb control some where else also.

    To fix the issue you just need to remove the duplicate breadcrumb control present outside the ribbon (on the page).

    Hope this helps.

    Thanks,


    Sharepoint Consultant from NY, USA
    Wednesday, November 17, 2010 5:16 PM
  • Yes, I am talking about the breadcrumb control displayed as folder icon in the ribbon. Here is the ContentPlaceholder in the masterpage. And it is being used only once. I've searched for the id's globalnavigation or breadcrumb and did not find the breadcrumb control else where.

    Any Ideas?

    Here is the control for the breadcrumb navigation.

        <asp:ContentPlaceHolder id="PlaceHolderGlobalNavigation" runat="server">
    <SharePoint:PopoutMenu
    runat="server"
    ID="GlobalBreadCrumbNavPopout"
    IconUrl="/_layouts/images/fgimg.png"
    IconAlt="<%$Resources:wss,master_breadcrumbIconAlt%>"
    IconOffsetX=0
    IconOffsetY=112
    IconWidth=16
    IconHeight=16
    AnchorCss="s4-breadcrumb-anchor"
    AnchorOpenCss="s4-breadcrumb-anchor-open"
    MenuCss="s4-breadcrumb-menu">
    <div class="s4-breadcrumb-top">
    <asp:Label runat="server" CssClass="s4-breadcrumb-header" Text="<%$Resources:wss,master_breadcrumbHeader%>" />
    </div>
    <asp:ContentPlaceHolder id="PlaceHolderTitleBreadcrumb" runat="server">
    <SharePoint:ListSiteMapPath
    runat="server"
    SiteMapProviders="SPSiteMapProvider,SPContentMapProvider"
    RenderCurrentNodeAsLink="false"
    PathSeparator=""
    CssClass="s4-breadcrumb"
    NodeStyle-CssClass="s4-breadcrumbNode"
    CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode"
    RootNodeStyle-CssClass="s4-breadcrumbRootNode"
    NodeImageOffsetX=0
    NodeImageOffsetY=353
    NodeImageWidth=16
    NodeImageHeight=16
    NodeImageUrl="/_layouts/images/fgimg.png"
    RTLNodeImageOffsetX=0
    RTLNodeImageOffsetY=376
    RTLNodeImageWidth=16
    RTLNodeImageHeight=16
    RTLNodeImageUrl="/_layouts/images/fgimg.png"
    HideInteriorRootNodes="true"
    SkipLinkText="" />
    </asp:ContentPlaceHolder>
    </SharePoint:PopoutMenu>
    <div class="s4-die">
    <asp:ContentPlaceHolder id="PlaceHolderGlobalNavigationSiteMap" runat="server" Visible="false">
    </asp:ContentPlaceHolder>
    </div>
    </asp:ContentPlaceHolder>

    Wednesday, November 17, 2010 9:59 PM
  • Hi Karthik:

    Please follow the below mentioned steps for determining duplicate breadcrum control:

    1. Apply the master page to some site
    2. Open site page where you are getting the empty breadcrumb
    3. Search for existence of any one of the following Id in the source of the page (not in master page):
    • ms-pagebreadcrumb
    • site map
    • breadcrumb

    I am pretty sure that breadcrumb control is present in the page elsewhere.

    Thanks,


    Sharepoint Consultant from NY, USA
    Thursday, November 18, 2010 3:15 PM
  • Sp Blogger,

    I found the source of the problem but did not get it fixed.

    They migrated page layout did not have reference to the control <SharepointWebControls:ListMapPath> So added the control below and found that I cannot add the control named "sharepointwebcontrols" as the intellisense does not give these controls. I tried to add the register references but failed.

     <asp:Content ContentPlaceHolderId="PlaceHolderTitleBreadcrumb" runat="server">

     <SharePointWebControls:VersionedPlaceHolder UIVersion="3" runat="server"> <ContentTemplate>

    <asp:SiteMapPath ID="siteMapPath" runat="server" SiteMapProvider="CurrentNavigation" RenderCurrentNodeAsLink="false" SkipLinkText="" CurrentNodeStyle-CssClass="current" NodeStyle-CssClass="ms-sitemapdirectional"/>

    </ContentTemplate> </SharePointWebControls:VersionedPlaceHolder>

    <SharePointWebControls:UIVersionedContent UIVersion="4" runat="server"> <ContentTemplate>

    <SharePointWebControls:ListSiteMapPath runat="server" SiteMapProviders="SPSiteMapProvider" RenderCurrentNodeAsLink="false" PathSeparator="" CssClass="s4-breadcrumb" NodeStyle-CssClass="s4-breadcrumbNode" CurrentNodeStyle-CssClass="s4-breadcrumbCurrentNode" RootNodeStyle-CssClass="s4-breadcrumbRootNode" NodeImageOffsetX=0 NodeImageOffsetY=353 NodeImageWidth=16 NodeImageHeight=16 NodeImageUrl="/_layouts/images/fgimg.png" HideInteriorRootNodes="true" SkipLinkText="" />

    </ContentTemplate> </SharePointWebControls:UIVersionedContent> </asp:Content>

     

    I dont know if it a problem with the migration because the defaultlayout.aspx was the layout they used and that doesn't have these controls after migration. 

    Need Help !!

    Do I have to answer this Issue before migration or after Migration is done. If this can be answered before migration that would be great as there are many sites/Site collections that have the same problem.

    What are the steps that involved into this Process. Please give any suggestions.

     

    Thanks

    Karthik G

     

    • Marked as answer by Neverontime Friday, November 19, 2010 5:52 PM
    • Unmarked as answer by Neverontime Tuesday, November 23, 2010 11:14 PM
    Friday, November 19, 2010 5:52 PM
  • Since there were just few site collections.  I changed the layout of each site collection to the webpart page layout.

    And changed the look and feel of what I wanted.

    This is the workaround I've got.

    But couldn't figure out why the page layouts did not migrate with the new sharepoint controls i.e., SharepointWebControls:ListMapPath.

    Wednesday, February 2, 2011 5:15 PM
  • We had the same issue after 2010 migration from 2007. We just fixed it two weeks ago after working with Microsoft. Several pople as k me to post this and you could find details from my blog http://sharepointconnoisseur.blogspot.com/2011/02/sharepoint-2010-upgrade-site-navigation.html.

     

    Let me know how it goes.

     

    Harry Chen

    Thursday, March 3, 2011 3:47 AM
  • Thanx a lot, Harry! Fixed!

    In short, you must remove all PlaceHolderTitleBreadcrum elements in all of layout pages because it already migrated to master page in SharePoint 2010. Described incorrect behavior occurs when PlaceHolderTitleBreadcrum elements from layouts page and master page is located on one resulting page that user loads in browser.

    There is the line in layout pages that should be removed:

     <asp:Content ContentPlaceHolderId="PlaceHolderTitleBreadcrum" runat="server" />


    Решаю проблемы...
    Thursday, March 17, 2011 10:10 AM
  • SPBlogger's approach above worked for me. Open the page in SPD, search for and remove lines containing <asp:Content ContentPlaceHolderId="PlaceHolderTitleBreadcrumb" runat="server"/>.

    Also remove any instances of <td class="ms-pagebreadcrumb" style="height: 13px">&nbsp;</td> or similar tags. Replace the tag with <td>&nbsp;</td> to retain the proper spacing on the page.


    Wirefox
    Tuesday, March 22, 2011 2:05 PM
  • Hey harry,

    I do think you have the right answer but unfortunately you cannot propose your own reply as the answer.  If you unpropose your reply I will propose it as the answer.

    Thanks!

    Tom


    Tom Molskow - SharePoint Architect - Microsoft Community Contributor 2011 Award - Linked-In - SharePoint Gypsy
    Monday, June 27, 2011 9:47 PM
  • Hi,

    This issue is news to me but this thread is very informative nonetheless. Harry: Has the blog post been archived or something? Can't open the page.

    Best,

    -Samir

    Thursday, February 16, 2012 7:58 PM