Building a Custom Global
Navigation Solution
In SharePoint, every site collection has its own unique navigation structure. This can be desir-
able when each site collection is a distinct entity, but many times, it can be desirable to share
navigation across site collections. This chapter uses a ctional company, ACME Corp, to help
illustrate reasons why a global navigation solution might be implemented and to provide a set
of requirements that the solution must deliver.
ACME Corp is a large, ctitious, multinational company that utilizes SharePoint 2010 for its
intranet. Like many large companies, ACMEs intranet is split into a number of different site
collections. As is typical for many information architectures, the site collections have been cre-
ated less because the content is truly meant to be separated and more to keep content database
sizes manageable. ACME wants to share a standardized navigation menu across multiple site
collections. The rest of this chapter is devoted to implementing such a solution.
The code for the solution created in this chapter is available for download
at the book’s companion Web site,
Any navigation menu solution is expected to support certain basic functionality, such as the capa-
bility to display a hierarchal list of ordered links that supports an unlimited depth. In addition to
standard menu functionality, ACME management has identied these additional requirements.
Requirement #1: Scalability ACME has approximately 10,000 employees, and if pro-
jections hold true, it expects to add another 5,000 employees within the next three years.
As such, any solution implemented must be scalable and handle anticipated growth.
105054c11.indd 343 1/10/12 3:34 PM
CHAPTER 11 Building a Custom gloBal navigation solution
Requirement #2: Security trimming ACME management is extremely security conscious
and likes the security trimming that SharePoint does with its out-of-the-box (OOTB) naviga-
tion. As such, any solution delivered must also support security trimming.
Requirement #3: Delegation of Administration Another aspect ACME management likes
with the OOTB SharePoint navigation is that site collection administrators or site owners can
manage their own navigation menus. This functionality doesn’t translate 100% to a global
navigation solution, but management would like to allow site owners to enable/disable the
global navigation, and it would also like to delegate administration of subsections of the menu
to particular users.
Requirement #4: Support for multiple types of menu items The global navigation will
primarily be made up of links to different sites within the corporate intranet, but some
additional types of links have been identied as needing to be supported:
External URLs
Links to Document Libraries/Lists
Links to individual documents or list items
Requirement #5: Maintain the look and feel of the OOTB SharePoint Navigation Menu
Management likes the way the OOTB SharePoint navigation menu appears and, if possible,
would like to maintain its existing look and feel.
Requirement #6: Support auto-population of menu items based on subsite or list content
ACME also likes the capability the OOTB menu has to automatically generating submenus
and pages from a page library and would like the retain this capability.
Requirement #7: Support multiple top-level menus and to specify menus used on a per-site
collection basis. Although there is currently only the need for a single shared global naviga-
tion menu, it is anticipated that there will be a need for multiple global navigation menus,
which can be shared across any number of site collections.
That’s quite a list of requirements, and the road to get there is long and a little complicated. The
solution will touch upon a large number of different aspects of SharePoint development from list
denitions to timer jobs to custom actions. You might curse this ctitious ACME Corp, Microsoft,
or Wrox once or twice before it’s all over, but if you can ght through to the end, you’ll have a solid
navigation solution and hopefully will have picked up a thing or two that will be useful when devel-
oping future solutions.
The following section provides an overview of the architecture that will be used to implement
the previous requirements. First, you need to understand how the OOTB navigation works in
SharePoint to understand how you can plug a custom solution into the SharePoint model.
105054c11.indd 344 1/10/12 3:34 PM

Get Professional SharePoint® 2010 Field Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.