Portal Navigation Properties Feature
Posted by lzandman
Today my colleague Harmjan Greving pointed me to the Portal Navigation Properties Feature. I had never encountered this one before and as it turns out it is surprisingly undocumented by Microsoft.
So what does it do? Well, it’s a feature that comes with MOSS 2007 (unfortunately it isn’t included with WSS 3.0) that enables you to define per-site navigation settings in a declarative way. Until now I always used to write custom API code for this, that I executed from a feature receiver or a custom site provisioning provider.
The Portal Navigation Properties Feature itself is actually very simple. It contains no elements, but is only used to trigger the Microsoft.SharePoint.Publishing.NavigationFeatureHandler feature receiver, which does the real work, based on properties you specify. It is typically used from within a site definition file (ONET.XML), like this:
...
<WebFeatures>
<Feature ID="541F5F57-C847-4e16-B59A-B31E90E6F9EA">
<!-- Portal Navigation Properties Feature -->
<Properties xmlns="http://schemas.microsoft.com/sharepoint/">
<Property Key="InheritGlobalNavigation" Value="True"/>
<Property Key="InheritCurrentNavigation" Value="True"/>
<Property Key="IncludeSubSites" Value="True" />
<Property Key="IncludePages" Value="False" />
<Property Key="OrderingMethod" Value="Automatic"/>
<Property Key="AutomaticSortingMathod" Value="CreatedDate"/>
</Properties>
</Feature>
</WebFeatures>
...
Using Reflector I found out the following properties can be used with this feature:
Property | Valid Values |
IncludeInCurrentNavigation | True / False |
InheritGlobalNavigation | True / False |
InheritCurrentNavigation | True / False |
ShowSiblings | True / False |
IncludeSubSites | True / False |
IncludePages | True / False |
OrderingMethod | Automatic ManualWithAutomaticPageSorting Manual |
AutomaticSortingMathod 1 | Title CreatedDate LastModifiedDate |
SortAscending | True / False |
1 Please note the awful spelling error in “AutomaticSortingMathod”. Ofcourse this should have been “AutomaticSortingMethod”, but apparently someone at Microsoft forgot to run the spell checker over his/her code 😉
Posted on August 26, 2008, in sharepoint and tagged feature, navigation, sharepoint. Bookmark the permalink. 4 Comments.
I wonder why Micro$oft didn’t fix the spelling error in SP1 or the recent infrastructure updates?
@Jeffrey: Probably to maintain backwards compatibility. Although they could have fixed it so it accepted both the wrongly spelled word and the correctly spelled word.
Thanks! These helps me a lot!
Thanks for documenting this!