I upgraded the version of WordPress I’m running recently and I enabled statistics on the blog. It’s been a bit of an eye-opener. My posts on ‘What the heck is going on with SharePoint Breadcrumbs‘ and ‘More SharePoint Breadcrumbs WTF‘ have together more hits that any of my other articles, and both are visited about evenly.
This is pretty interesting. Breadcrumbs should be pretty simple. I mean, we all use them on the web, probably every day, and often without noticing. So how come people are clearly looking up information about SharePoint breadcrumbs? Clearly something is wrong with them.
So this set me thinking – what’s wrong with them? And here’s what I could think of:
- There are two breadcrumbs. You’ve got the Global breadcrumb, and then the PlaceholderTitle breadcrumb. Seriously, how many websites do you come across that have two?
- ‘Site’ levels of the hierarchy can appear in one or the other breadcrumb. Depending on whether or not your navigation inherits it’s navigation from it’s parent site, the ‘Site’ links can appear in the global or title breadcrumbs. Thus, there’s no consistency as to where a site appears – if it appears at all! I can see why it’s been built this way – essentially it allows us to ‘skip’ levels in the site hierarchy as shown on the global breadcrumb, and it shortens the title breadcrumb. I wonder if this wouldn’t be better facilitated by a ‘show in Global breadcrumb’ site setting. Or just show all sites in the path to the site?
- Why is what is shown in the breadcrumbs tied to what is shown in the site’s top navigation? That’s just confusing.
- Having some breadcrumbs in the Page Layout (i.e. in the main content area) and others coming from the master page is just plain confusing.
I don’t quite know what the answer to this is; after all, we need a way to navigate back up the site hierarchy, though we might not always want to allow that. And breadcrumbs could get very long, so yes, maybe we want to skip levels. But I think I’d be tempted by showing all sites in the Global navigation. This would also divorce the breadcrumb from the top navigation settings, and I think would be easier.
And if the Global navigation gets too long? Well, that seems quite possible. In that case, how about a setting on each site to ‘Display in Menu in the Breadcrumb’ to give something like this:
This way you can still have your ‘Main’ sites in the hierarchy, but all levels are still available. Of course, you might want to make it that all the subsites of last ‘Main’ site are always visible irrespective of that setting. I think that would work, and would require less getting used to.
It’s a bit like the Vista breadcrumb in Windows Explorer – but a bit different, which might count against it…
That said, I’m open to thoughts from others! Comment if you’ve got an idea of how breadcrumbs should work!
Just a question: The breadcrumb concept you’ve got above that has the Vista-like drop down menu, is that something you’ve got already built? I ask because that is actually something I was going to build and blog about but if you’ve already built it I don’t want to duplicate content.
Nope, I’d love to get the time to build it, but I don’t think that there is much chance of that!
I just thought that it would be a much better way of doing the breadcrumbs than having the two different ones as SharePoint has at the moment.
If you’re going to build it, please keep me updated with progress – I’d love to be able to provide solutions for our customers using just the one breadcrumb.
Yeah, I agree. That is one of the features MS got right with Vista and I thought to myself, it makes perfect sense to build that for SharePoint. Glad someone else thinks that as well 🙂
So I finally got a chance to finish this up (and blog about it). Here’s the link:
http://www.deviantpoint.com/post/2009/02/03/Creating-a-SharePoint-breadcrumb-control-with-drop-down-menus.aspx
Neat! Slightly different to what I was thinking of though (your navigation is much closer to how Vista behaves).
When you break from inheriting a parent site’s top nav, it adds a new link to the ‘Global’ breadcrumb, and sort of resets the path in the ‘Site’ breadcrumb. This means that if you have a full path to where you are like:
Site A1 (root) >
Site A2 (inherits nav from A1) >
Site A3 (inherits nav from A2, and therefore A1) >
Site B1 (breaks nav inheritance) >
Site B2(inherits from B1) >
Site C1 (breaks nav inheritance) >
Site C2 (inherits from C1)
Then in normal sharepoint you get a Global Nav something like:
Site A1 > Site B1
And a site nav like:
Site C1 > Site C2 > List > Folders
I was thinking of trying to expose the intermediate levels (A2, A3, B2) as the ‘drop down’ levels, rather than the siblings for a level. In other words, 1 breadcrumb showing:
Site A1 [+] > Site B1 [+] > Site C1 > Site C2 > List > Folders
I know it’s a bit longer still, but it’s one breadcrumb, and you can navigate back up to any level.
Still, what you’ve shown gives most of how to achieve that! I’m sure I can manage the rest!