<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SPSherm.MyBlog &#187; Navigation</title>
	<atom:link href="http://spsherm.uptempoconsulting.com/tag/navigation/feed/" rel="self" type="application/rss+xml" />
	<link>http://spsherm.uptempoconsulting.com</link>
	<description>SharePoint, of course.</description>
	<lastBuildDate>Mon, 03 Oct 2011 03:01:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>PortalSiteMapProvider Properties: IncludePages, DynamicChildLimit</title>
		<link>http://spsherm.uptempoconsulting.com/2007/10/portalsitemapprovider-properties-includepages-dynamicchildlimit/</link>
		<comments>http://spsherm.uptempoconsulting.com/2007/10/portalsitemapprovider-properties-includepages-dynamicchildlimit/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 02:51:32 +0000</pubDate>
		<dc:creator>Sherman</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SP2007]]></category>
		<category><![CDATA[Navigation]]></category>

		<guid isPermaLink="false">http://spsherm.uptempoconsulting.com/?p=127</guid>
		<description><![CDATA[The PortalSiteMapProvider class is the base provider used by the four default &#8220;CMS&#8221; SiteMapProviders: GlobalNavSiteMapProvider CombinedNavSiteMapProvider CurrentNavSiteMapProvider CurrentNavSiteMapProviderNoEncode That is, all of these SiteMapProviders use the same base code to generate a data source, but their &#8220;output&#8221; differs slightly due to the different attributes that are applied. Recently, we wanted to filter out the pages [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://msdn2.microsoft.com/en-us/library/ms582344.aspx" target="_blank">PortalSiteMapProvider</a> class is the base provider used by the four default &#8220;CMS&#8221; SiteMapProviders:</p>
<ul>
<li>GlobalNavSiteMapProvider</li>
<li>CombinedNavSiteMapProvider</li>
<li>CurrentNavSiteMapProvider</li>
<li>CurrentNavSiteMapProviderNoEncode</li>
</ul>
<p>That is, all of these SiteMapProviders use the same base code to generate a data source, but their &#8220;output&#8221; differs slightly due to the different attributes that are applied.</p>
<p>Recently, we wanted to filter out the pages from showing up in our left-navigation. You can do this at the rendering stage, but since the PortalSiteMapProvder gives us an <a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.portalsitemapprovider.includepages.aspx" target="_blank">IncludePages</a> property, we can simply create a new entry in <code>web.config</code> for our &#8220;custom&#8221; provider, like this:</p>
<pre class="brush: xml; title: ; notranslate">&lt;add name=&quot;CurrentNavNoPagesSiteMapProvider&quot; description=&quot;CMS provider for Current navigation&quot; type=&quot;Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; NavigationType=&quot;Current&quot; EncodeOutput=&quot;true&quot; IncludePages=&quot;Never&quot; /&gt;</pre>
<p>By default, there is also a 50 returned-items limit; we can set the <a href="http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.publishing.navigation.portalsitemapprovider.dynamicchildlimit.aspx" target="_blank">DynamicChildLimit</a> to &#8220;0&#8243; to override this.</p>
<pre class="brush: xml; title: ; notranslate">&lt;add name=&quot;CurrentNavNoLimitSiteMapProvider&quot; description=&quot;CMS provider for Current navigation&quot; type=&quot;Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot; NavigationType=&quot;Current&quot; EncodeOutput=&quot;true&quot; DynamicChildLimit=&quot;0&quot; /&gt;</pre>
<p>Of course, you can combine the different properties to come up with a combination you need. The next thing we would need to do is reference these new providers, and voila!</p>
<p>And if you haven&#8217;t read Chris Richard&#8217;s series of articles about <a href="http://blogs.msdn.com/ecm/archive/2007/02/10/moss-navigation-deep-dive-part-1.aspx" target="_blank">MOSS Navigation</a> and <a href="http://blogs.msdn.com/ecm/archive/2007/05/23/increased-performance-for-moss-apps-using-the-portalsitemapprovider.aspx" target="_blank">how to get better performance using the PortalSiteMapProvider</a>, you really should&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://spsherm.uptempoconsulting.com/2007/10/portalsitemapprovider-properties-includepages-dynamicchildlimit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

