SharePoint 2007 navigation dissected – part 1
One of the areas SharePoint 2003 was suboptimal was site navigation. SPS 2003 has some quite restrictive navigation functionality to navigate through the portal areas. When you end up in a team site you only have your quick links bar at the left side to navigate to lists and libraries within your site, but there is no way to navigate to your sub sites.
As always the next version will solve all our problems… so let’s have a look at the new and improved, but still beta 2, SharePoint 2007 standard navigation options. I’m working with an out-of-the-box SharePoint installation that includes the portal.
First thing I did was creating a set of sites and sub sites under the site Sites of type Site Directory with the following structure:
site1
site1sub1
site1sub1subA
site1sub1subB
site1sub2
site1sub2subA
site1sub2subB
site2
site2sub1
site2sub1subA
site2sub1subB
site2sub2
site2sub2subA
site2sub2subB
This results in the following homepage navigation:
As you can see, two levels of navigation are displayed.
Navigation Inheritance
When a site is created you are prompted with the following option:
The default setting for this option is Yes. I created site1 and site2 using the Yes setting, and a site3 using the No setting. The results are as follows:
For site2 (use the top link bar from the parent site):
For site3 (don’t use the top link bar from the parent site):
I can see no difference between the two options, both shows their complete path in the breadcrumb bar:
Home > Sites > site2 > Pages > Home
Home > Sites > site3 > Pages > Home
For site3 I actually expected to see:
Site3 > Pages > Home
Another strange thing is that I didn’t find an option in the UI with the same phrasing to modify this setting after initial creation of the site. This option can be set in a working way however, keep on reading!
Site navigation
If you navigate to Sites you get the following navigation:
So all sub sites are displayed, with one level of the sub-sub sites.
If you navigate from here to site2 you get the following navigation:
This is a different navigation. The current site (site2) is displayed with one level of children (site2sub1, site2sub2), and sites at the same level (site1, site2).
The question now is: what configures the navigation? If you go to Site Actions >Site Settings >Modify Navigation you get to the Site Navigation Settings.
The Site Navigation Settings screen looks as follows:
This screen asks for some experiments!
Site Navigation Settings
The Site Navigation Settings screen gives us some configuration options on how navigation works on a site. Lets start with the following options:
Global Navigation: Use global navigation of the parent site or of this site.
Current Navigation: Use navigation items of the parent site or of this site. If this site is selected, you can enable to show siblings of this site in the current navigation.
For the site site1sub1 we go through the different possibilities.
Global navigation: global navigation of parent
We see three elements on the above screenshot:
1. At the top the path of the root site who’s navigation is used is displayed (empty, the root site)
2. The complete parent navigation bar is displayed
3. The complete path to the parent sites is displayed
Global navigation: global navigation of this site
We see three elements on the above screenshot:
1. At the top the path of the root site who’s navigation is used is displayed: site1sub1
2. The navigation bar of the current site + it’s sub sites is displayed
3. The complete breadcrumb path to the parent sites is displayed
I created two additional sub sites under site1sub1subA: site1sub1subAsubX and site1sub1subAsubY. Note that these sites become available in a drop down box in the global navigation bar (2):
But what happens if we have set global navigation of the parent site on a site, but a site somewhere up the path has set its global navigation to this site.
In the above example site site1sub1 has set its global navigation to this site, while site1sub1subA and site1sub1subAsubX have set their global navigation of the parent site. If we now go to the site site1sub1subAsubX we see the following navigation:
The result is that a site goes up to the hierarchy to the first parent site, and displays its navigation with respect to this parent site!
Current navigation: use navigation items from the parent site
We are at site site1sub1. This site is highlighted in the left hand navigation structure. We see the parent site, and all sites at the same level as the parent site. Under the parent site we see the current site (highlighted), and all sites at the same level.
Current navigation: use navigation items from this site
We are at site site1sub1. This site is not visible in the left hand navigation structure, the current location can be determined from the site title, the global navigation, and the breadcrumb path as shown in the picture below. We see all sub sites with their sub-sub sites (2 levels).
Current navigation: use navigation items from this site, show siblings
We are at site site1sub1. This site is visible in the left hand navigation structure (but not highlighted), We see the sub sites of the current site, and all sibling sites (sites at the same level as the current site), but without their sub sites.
Showing pages in the navigation
Besides sub sites a site can contain pages. It is possible to display these pages in the left hand navigation:
The pages of site1sub1 are displayed in the left hand navigation. Note that the “Home” page is not displayed in this navigation. If we navigate to a page available in the navigation this page gets highlighted in the left hand navigation:
I did not find a way to make the “Home” page (Pages/default.aspx) part of the left hand navigation.
Note that the pages are always displayed in the breadcrumb trail.
Conclusion
SharePoint 2007 contains a very powerful navigation system that allows you to completely configure the way your site navigation is presented. I did only scratch the surface however. In a upcoming posts I will dive into the following topics:
Navigation Editing and Sorting – this functionality allows you to add custom additional navigation items and to show or hide sites and pages in the navigation (but not the default page in the Pages library!)
Navigation under the hood – which navigation controls are used by SharePoint, what are their possibilities and how can you for example change the current depth of 2 that is currently shown in the hierarchy.
Custom navigation providers – how can you utilize the SharePoint navigation controls with custom navigation information?
Any feedback is highly appreciated!