Project Lifecycle

Sitecore Symposium Kickoff

October 23, 2012

I'm at Sitecore Symposium in sunny Las Vegas and I'm going to be writing a series of articles covering the developer track that I'm attending. I'll be trying to live blog where I can.

So far I've met a lot of great people starting with the New England Sitecore user group that filled the plane I was on to get here. There's also a lot of great partners like Oasis, where I originally cut my teeth, and Velir. There's also a lot of great tech companies in attendance like Brightcove who is obiously near and dear to my heart.

It's Sitecore's largest most energetic showing. There's also a record number of people in attendance. All in all the event should be a standout for not only the developers who already love the platform but especially for the clients who are coalescing around Sitecore to power their growing web strategies. 

Deprecated Sitecore Field Conversions

June 08, 2012

So while preparing my Sitecore system for a future upgrade to 6.5 I noticed that there were a lot of fields that were using deprecated field types. It's not a surprise since the original system was built on 5.3 but it's one of those things that's easily overlooked. It can seem daunting at first to update all the templates on a running system but the field types have more to do with how the fields are managed than whether or not the data gets removed from the database. The good news is that the deprecated fields all have an analogous field that it can be upgraded to easily. Well, except the server file field, which I have not found any matching field for but that's probably not being used by anyone but Sitecore. Here's what I've come up with as a cheatsheet that should speed up your upgrade a bit.

Adding a button to the Rich Text Editor in Sitecore 6.4

February 17, 2012

Since there were some significant changes in Sitecore's RTE when they upgraded to Telerik's new libraries from Sitecore 6.3 to 6.4. I'd written previously about adding buttons to the RTE before and was lookin for a good reason to write a supplemental article. Thankfully the new editor actually simplifies a bit of what you'll need to do from the earlier version of Sitecore.

I was recently asked by a content editor how to insert a YouTube video on a page in Sitecore and after thinking about the best approach to respond with my options were to tell the user to change to HTML mode in the Rich Text Editor (RTE) or for me to install one of the Shared Source Modules. I looked over YouTube Integration and as thoughtfully designed as it was I thought it would require too much effort for something I thought could be much simpler. I decided to extend the RTE with an additional button that opened a dialog window you could paste the IFrame embed code into.

Setting Up a Sitecore Extranet

December 26, 2011

*(updated on 5/30/2014) For those interested, I have released an Extranet Module to manage creating and removing an extranet for your site. 

I've recently needed to setup an extranet for several websites and began researching. There are several helpful articles on the topic. I found and as well as using Sitecore's Security API and Security Administrator cookbooks. Although there was enough information to get me started, what I found was disjointed and there were a few specifics that weren't detailed. After some testing I was able to create a functioning extranet and in an effort to create a more comprehensive article I have detailed my results.

Using Short IDs

August 30, 2011
Tags: Sitecore

If you've ever worked with Sitecore for any length of time you've worked with an item ID. It's in the form: {7294ECFC-0C37-44AD-B728-ABA259B18889}. There are times when you need to pass the ID around through querystring values or other visible locations but don't want to deal with all the troubles of encoding/decoding the entity characters or just because it's damn ugly. You can, however, convert the ID to just it's alpha-numeric character sequence known in Sitecore as a ShortID. When you convert the previous ID to a ShortID and print the value, the result string will look like this: 7294ECFC0C3744ADB728ABA259B18889. It's still a long value but useful in other ways. The following code sample converts a ShortID string value to an item and then back to a ShortID string.

Transform Web Controls In Sitecore Rich Text Editor

August 25, 2011

This article is a follow-up to an article written previously by John West about embedding web controls in Rich Text Editors.

I spent some good time using web controls in the Rich Text Editor to allow content editors to implement complex functionality inline without a lot of strain. It's a step up from using code snippets where you don't want a content editor to have to switch to html mode to set html attributes or other behind-the-scenes elements.

Add Css Classes to Sitecore Rich Text Editor

August 13, 2011
Tags: Sitecore, Wysiwyg

There are lots of ways to add css classes to sites and I've covered how to setup stylesheets for multi-site installations, but if you're only building a single site on Sitecore and you're looking to quickly populate the class drop down, or any of the other rich text editor settings for that matter, then this is for you.

Sitecore Data Importer

July 08, 2011

Many of the projects I've worked on over the past several years have required importing data either from SQL or from an existing Sitecore installation itself. The original application was a page form that imported data from a database and was developed by Mark Graber, Sitecore MVP and employee at Agency Oasis. Each time I've used it I improve on it and have since retooled it as an internal Sitecore application. I've recently cleaned it up to be a reusable, customizable application and am releasing it as a shared source module. You can find it on Sitecore Shared Source, or by getting the SVN repo at If you want to test it out you'll just need the package install. You'll also want to look over the documentation, which largely reiterates the information in this article.

Fix Broken User Manager

June 01, 2011

I've long given up on using the User Manager paging buttons until yesterday when looking over the known issues, I found an article describing a solution to my problem on SDN. Knowing at least one other individual that has had the same issue I thought I'd do a write up to bring attention to it so that the anyone else with the same issue can get back use of their user manager.  

Partial Html Cache Clearing

May 26, 2011
Tags: Caching, Sitecore

*the code was updated 8/2/2011 with some insight from Mrunal Brahmbhatt. Much appreciated.

 So I recently upgraded my system to Sitecore 6.4 from Sitecore 6.2 and was pumped about a lot of the new features like multi-browser support, new Rich Text Editor but mostly, the new built-in multi-target cache management system. Now I have to say that when I heard the words "partial cache clearing" I completely misunderstood what it meant. I thought it was partial html cache clearing thinking that when a single page got published, just that item was removed from cache. The truth is that when anyone publishes anything all html cache for all sites defined under the web.config's "publish:end" or "publish:end:remote" event are cleared. Sitecore manages a lot more cache than just html cache so by their thinking when just the html cache is cleared, that is just part of all the cache they're working with. In this way they're right, but this strategy is a problem for my particular system because of the large number of sites and editors working on it at any given time. The continually growing number of sites means that I rely on the html cache a lot to minimize the workload on the servers and keep sites loading quickly. I had solved this same issue working with the Stager Module but doing it with this new system is a bit different. Before I go into details about how to do this I will say that I am expecting that you have already setup your system as a mutli-target platform and have properly configured your ScalabilitySettings.config file. If you're looking for more on how to setup a multi-target platform then I'd suggest first starting by reviewing the scaling guide on SDN first which answered all my question about how to get it working.