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.
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…
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.