One of the most obvious changes to SharePoint 2010 is, of course, the Ribbon. The Ribbon (also known as the Fluent UI) was introduced in Microsoft Office 2007 and is now common in many Microsoft and third-party applications.
Although the initial transition to the Ribbon is indeed a transition, I think that few people would argue against the fact that the Ribbon is a very productive way to organize and make “discoverable” the features of an application. With the Ribbon coming to SharePoint, users and administrators will have easier access to the commands they need and will likely discover new features that would otherwise go unnoticed.
I’d like to share a story of how I decided that, yes, the Ribbon is a great addition to SharePoint. Along the way, I’ll point out some new features of SharePoint 2010: in-browser form customization and easy creation of forms for related lists.
And I’ll lament an all-too-common problem with Microsoft: painfully close but still off-the-mark new features. Because, unfortunately, Microsoft stopped one important step short of perfect in its implementation of these new features.
As you have probably heard, SharePoint 2010 provides capabilities that let you create relationships between lists. In the classic example, a list of customers can be related to a list of orders. And, in fact, referential integrity can be configured so that if a customer is deleted, for example, the customer’s orders can also be deleted.
This relational capability is fantastic, on its own. In Microsoft Office SharePoint Server (MOSS) 2007, you had to do quite a lot of SharePoint Designer and Visual Studio (VS) work to do the same things.
After you complete relating the lists, you typically want to show the list items and their related data. So, for example, I would want to be able to view a customer and see all of his or her orders. This also required a bit of work in previous versions of SharePoint, and I would pull out SharePoint Designer to do the job.
Enter the Ribbon. As I was creating an application for a client involving related lists, I noticed that on the List tab of the Ribbon, there was a Form Web Parts button that exposed a command: Default Display Form.
The beauty of the Ribbon is that this command would have been buried down a submenu in a legacy, menu-drive UI. Here, it jumped out at me as something I could do to the list.
As soon as I chose the Default Display Form command, I noticed that the Ribbon exposed a Related Lists button on the Page Tools Insert tab, which would clearly “insert a related list.” Wow… now that is discoverable when someone can naturally stumble upon a great new feature.
Let’s use the example of a customer and his or her orders. Here is a summary of the steps to create a “parent-child” view of a one-to-many (one customer to many orders) relationship:
1) Add the lookup column to the “many” side of the list. In this case, add the customer as a lookup column in the Orders list, so that when you create an order, you can specify the customer who placed the order.
2) Go to the “parent” (one) list: Customers.
3) Click the List tab on the Ribbon.
4) Click the Form Web Parts button, then click Default Display From. The View Item page appears in Edit mode.
5) Click the Page Tools/Insert tab.
6) Click the Related Lists button and choose the related (many) list: Orders. The Related Items in Orders web part appears. Customize the web part to your heart’s content. For example, I would certainly change the title of the web part to, simply, Orders.
7) Click the Page tab.
8) Click Stop Editing.
When I view a customer, now, I see their orders. Unfortunately, when you customize the default form, it no longer appears as a popup dialog box—it appears as a full page. That’s too bad, though understandable in order to maximize real estate for a customized page.
I was thrilled to go from being unaware that I could customize the default pages in the web browser—no SharePoint Designer needed—to having a customized page in a matter of minutes, thanks to the discoverability of the Ribbon UI.
What I was not thrilled to discover was that Microsoft stopped one very important step short on its implementation of the “related lists” views.
If I am looking at a customer, with a view of his or her orders below, and the Orders list has an Add New Item command, why would I click that? Of course, to create a new order for that customer, right? I’d want the new order form to already be “linked” to the customer.
In MOSS 2007, you had to do some work—usually by passing parameters in the URL—to tell the new item how to prepopulate a field like “customer.”
Looks like you’ll have to do that, somehow, in SharePoint 2010 as well. Unfortunately, the Add New Item command opens the new Order form without prepopulating the Customer ID… leaving the user to populate that field.
That seems like a small gap in functionality, but my experience has been that it’s just those kind of “obvious” usability gaps that reduce the perceived value of all the goodness that Microsoft does integrate into its products. I would hope that a Microsoft developer could code a good “pass the parameter to the form” solution for us, so that every customer wouldn’t have to figure out how to do it on their own. Pity.
On a related note, the Ribbon is not pervasive yet in the public beta of SharePoint 2010. In Central Administration for example, the Ribbon gives beautiful access to commands for web applications, but not for site collections—a glaring gap, in my opinion. Site collections still are managed using the same clumsy “don’t forget to change the site collection to the desired one” pages. Maybe this will get corrected before SharePoint is released.
What features have you “stumbled across” thanks to the Ribbon? What have you done with related lists? I’m interested in your experiences! Drop me a line at DanH at intelliem dot top-level commercial domain.