Thursday, February 18, 2010

Enterprise CMS in the Hands of Masters

When I think of Enterprise CMS implementation – particularly the most complex implementations out there – Revere Group always sits at the top of my list. You might think that – as a billion-dollar company – they would be slow-moving, bureaucratic and lacking spark. I can promise you that nothing could be further from the truth. It’s no coincidence that within a month Sitecore recognized this organization three times – for the Best Legal Site of the Year, as a Sitecore MVP and as a Sitecore Outstanding Solution recognized partner. They are that good.

As part of their Outstanding Solution submission, they showed me something I literally didn’t even know existed. It’s so cool, I can’t believe no one has thought of it before. But it’s true. I’ve trained hundreds of Sitecore developers and seen at least as many support cases; but I’ve never seen one tackle an implementation challenge with this particular trick.

Here’s the challenge: If you’ve been working with Sitecore for awhile you know that one of the tricks for content sharing is the idea of having a pointer item. A pointer item has a drop-list that points to another item in the content tree. It may also have fields that resemble the referenced item. For example, an item may have the following fields:

  • Title
  • Description
  • Image
  • Reference Item

The Reference Item field is a drop-list that points to another item (typically containing similar fields). In your presentation components, you can use the following logic:

  1. Retrieve the Reference Item.
  2. If Title is null in the context item, use the Title field from the Reference Item
  3. If Description is null in the context item, use the Description field from the Reference Item.
  4. If Image is null in the context item, use the Image field of the Reference Item.

I’ve also described this approach in my Content Tree blog. The idea is cool, but it does require a little bit of coding in your presentation components to figure out whether to get the data from the current item or from the reference item.

Revere and, in particular, Sitecore MVP Matt Hovany, came up with an ingenious simplification of the problem. Looking in the Sitecore web.config, Matt found that Sitecore defines a Standard Values provider (see below).

StandardValuesProvider

Matt decided to extend this provider to incorporate the concept of a reference item. In the example above, the Reference Item is treated as the current item’s Standard Values. By using a Standard Values provider, Matt got all of the logic he needed built-in.

Think about the above example again. Instead of having to use presentation logic to figure out whether to use the field values from the current item or the reference item, Matt coded a Standard Values provider that did all of the work in one place. Because the referenced item is treated like the current item’s standard values, there is no longer any need to place this logic in your presentation components. It works automatically, just like normal Standard Values in Sitecore.

This qualified as an Outstanding Solution in my mind because I heretofore had not encountered such an elegant solution to a common implementation challenge in Sitecore. You’ll be hearing more about Revere Group’s innovations in later Outstanding Solution blog posts.

Friday, February 5, 2010

The Best .NET CMS for Application Integration

Sitecore is the best .NET CMS for application integration hands-down. You will be hard pressed to find another web content management system that has been so thoughtfully designed to support integration scenarios. I have discussed this topic at length in my “Integrating External Data with Sitecore 6” whitepaper and, suffice it to say, there is so much to say. If you are interested in gaining access to this whitepaper, sign up for the Sitecore newsletter or ask your Regional Manager for a copy.

One of Sitecore’s oldest partners in North America is Roundedcube and they have done some outstanding work in integrating Sitecore with 3rd-party applications. Their facility in taking advantage of Sitecore’s openness and many integration points was what caught our attention in their Outstanding Solution application. I strongly encourage you to learn more about the work they have done with Sitecore.

One of Roundedcube’s clients was a national association that wanted to build a communications hub for their members. In their best-of-breed approach, they chose Sitecore for their CMS and Telligent Community Server for their community platform. The client also used TIMMS for their association management solution. Roundedcube faced the challenge of how to get these systems talking without causing undue pain to their end users, i.e. forcing users to log in repeatedly as they bounce from system to system. Their solution was two-fold:

  • Create a single sign-on process that allowed for centralized authentication between the three systems.
  • Create a web services layer to facilitate data communication between the disparate systems

With these connections in place, they were able to create a visitor experience that leveraged the power of these three systems:

  • Blogs, forums, photo galleries, shared files and social networking from Community Server
  • Newsletter subscription, event registration and e-commerce functionality from TIMSS
  • Dynamic presentation and content security from Sitecore

Thanks to the Roundedcube team for sharing with us about their Outstanding Solution! You can learn more about Roundedcube in the following articles on the Sitecore web site.

Ogden City, UT – Extreme Website Makeover

Second Baptist Church, Houston, TX – This membership-based organization improves their site to increase page views by more than 380%