Was recently working with a client who had a SharePoint intranet site with a huuge list of pages in the left-hand nav “quick launch”.
They kept adding pages, and the new pages weren’t being listed (had to scroll dooown) – was showing 50, but no more.
Some searching turned up an article about the DynamicChildLimit property, which is part of the SiteMapProvider – used by the quick launch nav bar (as it’s source of data).
It turns out that there’s a default value, that is automatically set to 50, if you don’t include the parameter.
This is defined within the WEB.CONFIG – not the Master Page or Page Layout (where you’d find the quick launch menu, and so forth).
Instead, need to change the settings for the different types of Site Map Providers. WEB.CONFIG for the specific website – check via IIS, etc.
<add name=”GlobalNavSiteMapProvider” description=”CMS provider for Global navigation” type=”Microsoft.SharePoint.Publishing.Navigation.PortalSiteMapProvider, Microsoft.SharePoint.Publishing, Version=184.108.40.206, Culture=neutral, PublicKeyToken=71e9bce111e9429c” NavigationType=”Global” EncodeOutput=”true” IncludePages=”PerWeb” IncludeHeadings=”true” IncludeAuthoredLinks=”true” DynamicChildLimit=”200″/>
If you specify that it’s “0”, there will be no limit – or set a specific value – ie. 200 (as above).
Remembering that this control (SiteMapProvider) may be used by other controls, and menus, etc – this change will affect all of those using the same SiteMapProvider.
There are a bunch of them listed in the WEB.CONFIG :
Best to change this setting for “all” of them – you’ll probably have to include the property – as it’s not listed there by default.
Need to do an IISRESET – and the menu will show all pages (or up to 200, if that’s the value used, for example).
Thanks to SharePoint blogs for the tip.
Also – check out more info at MSDN.