Application Pages BreadCrumb and how world is connected


Hi,


Sometimes I wonder how different people get the same results with no communication between them. History has many examples: calculus, radio, …so seems it is the other way round: we usually work at the same time trying to solved the same problems.


Working on my Search Extensions project, I saw that I should include a breadcrumb to my custom application pages, in order to optimize the navigation. As application.master includes a SPXmlContentMapProvider for those breadcrumb, I searched it in the web.config.


<asp:SiteMapPath SiteMapProvider=”SPXmlContentMapProvider” id=”ContentMap” SkipLinkText=”” NodeStyle-CssClass=”ms-sitemapdirectional” runat=”server”/>


If you look there, you will find it (and many others):


    <siteMap defaultProvider=”CurrentNavSiteMapProvider” enabled=”true”>
      <providers>
        <add name=”SPXmlContentMapProvider” siteMapFile=”_app_bin/layouts.sitemap” type=”Microsoft.SharePoint.Navigation.SPXmlContentMapProvider, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />
      </providers>
    </siteMap>
 


As you can see it is loading the XML from _app_bin folder. This is created when the webapplication is provisioned. So, after my CSSAdapter problem, I expected those files to be at


%programfiles%\Common Files\Microsoft Shared\web server extensions\12\CONFIG


As webconfig, browsers,commands and resources provisioning; sitemaps are no different. So if you add a new file named layouts.<whatever>.sitemap it will be included in any new web application.


For created web applications, there is a stsadm command that do the trick: stsadm -o copyappbincontent


But I wanted something more automated, and I found for it! and included in the OpenSearch Feature: ApplyApplicationContentToLocalServer is your friend


It is interesting that Jan Tielens blogged about it just 2 weeks ago!!


Cheers!


By the way, I didn’t want to compare calculus and sharepoint 🙂 and if you follow the links in common