Working on several projects over the last few weeks, a common problem has arisen.  How do we build site navigation to move across several site collections?  The easy answer is, use the site directory and set it up to create a site collection every time you create a new site.  But what if you’re using WSS or you don’t want every site you create in the site collection to be a new site?  This post will go over a couple ways I’ve set about to accomplish this and hopefully I’ll have even a better solution soon.

Option 1:

User a custom site map provider.  This is actually a pretty easy solution.  I’ve done this in a couple instances following the steps outline here.  The disadvantage to this solution is that the top navigation isn’t dynamically built.  Every time you want to add a new link to your navigation, you need to manually go in and edit your sitemap file.  One way this could be fixed is to write a custom feature to add into SharePoint that will automatically update your sitemap file as you add sites.  This may be a future project…

Option 2:

Use a custom link list with a list roll up web part.  This is another option to build a site directory of sorts, especially if you are using WSS.  Again, it is a manually created list, but it gives you a little more flexibility.  I create a link list and add a few columns to the list based on how I may want to sort and filter the list.  Then I use the cseg RollUp 3.5 webpart to display and format how I want the links to look.  I can filter, sort and group the links that I pull from my custom link list.  There is also an upgrade version of the web part that you can buy at SPSProfessional.  A feature that we are working on right now, is a site provisioning process that will automatically add a link to this list when the site is created.

As I continue to run into this and work on cross site collection navigation, I’ll post updates and solutions I have found to the problem.  Who knows, maybe this will even be taken care of for us in SharePoint 2009.