Thursday, April 1, 2010

.NET CMS Implementations that Succeed Every Time

One of the biggest determining factors of whether or not a .NET CMS implementation with Sitecore (or any CMS for that matter) succeeds has nothing to do with technology. CMS history is littered with countless of CMS projects that have been delivered roughly on time and roughly within budget but have still failed. Why would an otherwise successful project be quickly declared a failure? The simple, non-technical answer is this: end-user rejection. It’s a classic case of a system being implemented perhaps with the right technology, but without a clear understanding of what end users want, what their level of technical proficiency is and how they expect to use the system. Nothing can kill a CMS project like end users who rebel against the system, sticking to their old practices, complaining loudly to upper management and starting rogue projects to address perceived deficiencies in the new CMS.

Non~Linear Creations (NLC) has orchestrated many impressive implementations of Sitecore that demonstrate the best in ASP.NET CMS technology practice and system usability. What stood out to me so powerfully in their Outstanding Solution application was not simply their technical prowess – this was something I have long been well aware of – but the fact that they applied their technical dexterity directly to the problem of usability for content authors. Non~Linear impressed me with the fact that in numerous cases they had gone the extra mile to really understand the audience for the CMS and to make sure that this audience had the tools they needed to succeed.

Now, why did NLC need to focus so much on usability? Isn’t Sitecore already an extremely usable system? If you look at tools like Page Editor and Page Designer, it’s really hard to imagine a web content management system that’s easier to use. But here’s the catch: I’ve conducted an unscientific survey and have found that many Sitecore implementations don’t make use of these extremely valuable (and cool) user interfaces. Instead, a great number of implementations stick with Content Editor as the preferred authoring interface.

Sometimes there is good reason for that. If most of the content authors are fairly sophisticated system users or if they feel more comfortable in an interface that provides a global view of the content repository, Content Editor is a good fit. But what about the many less-technical users who would love to be able to just browse the web site and start typing on the page? It’s these less technical users that really need the CMS implementation to speak directly to them.

Why doesn’t every project implement Page Editor and Page Designer? Here’s why: Many CMS projects have a division of labor between HTML developers and .NET developers. The HTML developers create their beautiful, cross-browser compatible artistry in XHTML and then throw it over the fence to the .NET developers who make it work with the CMS. But remember, all of Sitecore’s interfaces are 100% browser based. There is never anything to download in order to start editing content in Sitecore. (This, by the way, is a system administrators dream come true.) But, because Sitecore is rendering its interfaces  using HTML and CSS, there are sometimes collisions between the coding practice of the HTML developer and Sitecore’s own approach to coding its UI. It might seem like Page Editor or Page Designer are not dialed in properly because Sitecore’s HTML is conflicting with the HTML designer’s code. This is always something that can be addressed by minor CSS tweaks. But, in reality, this division of labor means that the HTML developers don’t really understand the CMS – they may never have even been trained in Sitecore so they don’t know that they are writing code that will impact the Sitecore UIs.

Here is where NLC’s usability magic comes into play. Their analysts know Sitecore, their HTML developers know Sitecore and their .NET developers know Sitecore. It is like an orchestra where all members are playing together perfectly and the resulting harmonies just blow you away. At NLC, you work with developers who are trained to think like content editors. This means that the team that is working on your site’s HTML is making sure that they aren’t defeating the incredible usability of Sitecore’s UIs. It means that developers aren’t designing solutions that are technically elegant, but not directly responsive to business users needs. And it means that NLC is always on the lookout for new ways to tweak the standard Sitecore UIs to make them fit perfectly into a new business context. While this blog has focused on Page Editor and Page Designer, NLC shared with me numerous other examples where they have gone the extra mile to make the CMS user interfaces beautifully harmonize with the needs and technical level of the system’s end users.

All of this is just the tip of the iceberg of what NLC offers. In fact, it’s just the tip of the tip of the iceberg. I encourage you to check out their web site if your are looking for an implementation partner or need help in selecting your content management system.

Non~Linear Creations: http://www.nonlinearcreations.com

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%

Wednesday, January 27, 2010

Content Management Alchemy with Import Frameworks

Over the next several blog posts, I will be revealing some incredible secrets our partners have shared with us as part of the Outstanding Solution program. As I mentioned before, I am utterly impressed with the work our partners do and the creative solutions they are devising in addressing client requirements. But rather than go through a laundry list of our Outstanding Partner accomplishments, I want to share with you an essential piece of CMS implementation practice that comes up over and over again in my discussions with partners: content import frameworks.

What is a content import framework? Most CMS projects require a strategy for moving content from a legacy system (such as a legacy CMS, a home-grown administrative tool or just static HTML pages) to Sitecore’s content repository. If you are familiar with the Sitecore API, you know that importing content into Sitecore is a piece of cake – literally, 5-10 lines of code can do most of the heavy lifting for you. But there are certain challenges that partners must address in every implementation: How do you migrate links from the existing site to the new site? How do you import media into the CMS and preserve links to media? How do you account for obsolete content or content that will have a new home in the information architecture? These can be tricky problems to solve, and that is where a content import framework comes in.

Two partners with outstanding import frameworks are Revere Group and Non-Linear Creations. Let’s consider a few issues that both of these partners shared with me:

  1. Hold on to your SEO. When sites are migrated from a legacy system to Sitecore, customers often want changes to their information architecture. This may be to address historic usability issues or because it is required for a major site redesign. The challenge here is that it is essential to let Google know that those old URLs have moved, not gone away.
  2. Update your links. As you may know, Sitecore has an incredible link generation technology that allows for multi-lingual, multi-site and multi-extension URLs. As your content gets imported into Sitecore, you need to parse the HTML content to ensure that the old links are pointing to the right location in the new information architecture and that they comply to the standards for Sitecore’s LinkManager.
  3. Load and link your media. As the content import takes place, media must be imported into Sitecore’s Media Library and links to this media must be updated.
  4. Know your sources. As part of the import process, partners need a good understanding of how to handle content from a variety of sources. Importing from HTML documents, for example, requires recognition of tag patterns; importing from databases requires an understanding of the database structure.

Sounds tricky, doesn’t it? That’s why it’s important to have a content import framework that packages many years’ of CMS implementation experience into tools, APIs and best practices that can be re-used on each project.

Now, we all would love a magic button that imports content. Unfortunately, no one is quite there yet. An import framework is not necessarily a cure-all for the inevitable pains of content migration. Both Revere Group and Non-Linear Creations shared with me that these frameworks are reusable tool sets, but they must always be modified for each individual client. Sometimes, even copy-and-paste is the best way to go. No two implementations are completely alike – an import framework creates efficiencies, but the migration process still requires careful analysis, configuration and coding.

If you want to learn more about these outstanding partners, each of whom has worked on many Sitecore projects over the years, I encourage you to check out their web sites.

Revere Group: http://www.reveregroup.com

Non-Linear Creations: http://www.nonlinearcreations.com

Thursday, December 17, 2009

Will Sitecore CMS Astound You?

Every day, we talk to Sitecore CMS partners around the world about CMS architecture and the successes and challenges they experience in their projects. Recently, we asked our partners “What makes a truly outstanding enterprise CMS implementation?” While we were expecting some interesting answers…

…the responses we received blew us away.

Simply put, our partners were dying to share with us all they have been up to and the incredible areas of expertise they have developed over the years in working with our software. Our original interest was simply making sure that we had our ear to the ground in terms of what was going on in the field. But the wealth of information we received about web content management projects leveraging Sitecore was more than we could keep under wraps.

We simply had to share what we’ve discovered about the solutions our partners are developing.

We’ve turned this burning desire to share behind-the-scenes implementation stories into the Sitecore Outstanding Solution program. Every quarter, you will be hearing from Sitecore about outstanding implementations from our North American partners. We’re going to dig deep and let you know what customers are asking for and how our partners are responding to the most complex architecture, development and deployment challenges. We’ll recognize our first round of Outstanding Solutions in January on www.sitecore.net and in this blog. When you learn about what our partners are up to, it’s easy to see that Sitecore CMS is truly the dream system for web CMS. Stay tuned…