Project Lifecycle

Multi Site Rich Text Editor Stylesheet in Sitecore 6.4

April 29, 2011
Tags: Sitecore, Wysiwyg

So while doing a dry run of an upgrade from Sitecore 6.2 to Sitecore 6.4, I noticed something that stopped working in my rich text editor: dynamic stylesheets. I have a large multi-site platform and it's using code from the dynamic stylesheets SDN Article to set a unique stylesheet in the wysiwyg editor for each site. The Telerik codebase has changed a bit and the rich text editor has also. So I'll go through what I did to get it working so you can shortcut the hassle. The first thing you'll need to know is that the file loading the rich text editor is now located at EditorPage.aspx instead of Default.aspx. The class supporting this page (Sitecore.Shell.Controls.RichTextEditor.EditorPage) is also different from it's predecessor (Sitecore.Shell.Controls.RADEditor.RADEditor). I've stubbed out the page directive you'll need to update below:

Sitecore Sublayout Parameters and Datasources

April 27, 2011
Tags: Sitecore

Some of the most useful features in Sitecore are also some of the least well known. The longer you work with anything, the more you begin to understand it. With something as complex as Sitecore you really have to spend a lot of time learning what it can do before you start to really see how well it's suited to solving a lot of different problems.

Site Releases with SVN

April 21, 2011
Tags: SVN, Website

So I've recently spoken to some old colleagues about how they use SVN to release their site code and realized that there is still not a lot of common use of a release process. They suffer due to their time constraints since they've had little time to review and it can be daunting to take on the task of redefining a new aproach to this technology if you're really crunched for time. On the other hand, it can also be very nerve wracking when you're pushing code by updating a folder because if there's an issue a code roll-back is manual. I've been shown a solution to this challenge myself so I thought it would be good to put up an article giving an easy straight forward way for you to upgrade your approach without too much difficulty. If you can't retrofit your project in the way I'll show, you should be able to at least find another way once you understand the principles behind it.

Cache Manager

March 22, 2011
Tags: JQuery, Sitecore

So if you've ever setup caching on a Sitecore site you'd be familiar with the admin cache page. I recently had to set it up on a fairly large existing site and though there were a lot of other issues, one was that I was overwhelmed by the length of the list I had to view to get the information I needed. So I spent a little time and built a new admin cache page so that I could search just for what I wanted and clear out the excess noise. I built it to be a drop in place setup so that there are no external libraries or files. You can literally just copy these files into the same folder the original is in and you should be able to start working with it. You can get the files on the Cache Manager UI or checkout the source on Github.

Using Brightcove in Sitecore

March 16, 2011

update on 9.13.2011 - Sukiyoshi's open source license has changed to the MIT open source license.

update on 3.8.2012 - Sukiyoshi has been updated to work on Sitecore 6.4 and up and has a specific release for it you can jump over to the Sukiyoshi open source repository for the specifics.

Over the past few years I've been fortunate enough to have had the opportunity to work with Brightcove and was given a development account for their platform that I could work against. In that time I went and took the existing .NET SDK Tanaris that had implemented the video read methods and blew out the rest of the read and write methods for the videos and playlists. I ended up learning a lot and had started my own branch of the code. I named it Sukiyoshi, after my wife. I did a lot of work on Sitecore sites at the same time and after having built More Interop with Douglas Couto, which used a lot of video, I realized that being able to outsource the video management aspect of a Sitecore website could have greatly simplified our task.

Rich Text Editor Profiles

March 15, 2011
Tags: Sitecore, Wysiwyg

This article was updated on 2014.5.16 to cover how to set the profile for Sitecore 7.

While doing research for another article I came across an article on Stack Overflow asking about Rich Text Editor Profiles. The author noted that nothing had been written on the topic so I thought I might go ahead and fill in the blank. So to start from the top for anyone new to Sitecore, when you're creating fields on a template you select a Rich Text Editor as a field type. This will allow content editors to use the Telerik wysiwyg editor when they click to edit that field. If you use the stock Rich Text Editor field you'll notice that there are very few buttons to use and might wonder why it's so very bare. Sitecore does provide for a more robust toolbar but this is just one of may settings that you will have to configure to get the most use out of it. Let's walk through how you might go about doing that.

Inspecting Sitecore Packages Before You Install Them

March 14, 2011
Tags: Sitecore

So if you've worked with Sitecore for any length of time you've probably created your own data packages to move to a remote server or installed a module from Sitecore shared source. You may have wondered what you were installing out of curiosity or fear of blowing up your installation. It's also good to know all the files created or items that you'll need to publish. One way to go about  inspecting a package is to open it first in the package designer. First open the package designer:

.NET Website and Web Applications

March 03, 2011

When it comes to working with .NET on the web you have a lot of flexibility on how you approach a project. One particular aspect which seems to be a constant point of contention is the differences between Visual Studio's Website (WS) and Visual Studio's Web Application project (WAP). I had to work with both and over a long time and lot of arguments I learned quite a bit about the differences. Almost anyone who has written an article about this will tell you that you can accomplish pretty much any task with either approach and that choosing one over the other really comes down to your preference and situation. I started working on the WS model and have found that it is suitable for some tasks but the longer I develop the more I find myself using the WAP model because the environment and tools it offers tends to help me accomplish my goals faster and with more precision. It should also be noted that both project types are still reliant on IIS and the model type you choose really only changes the way you work with the project, not how IIS views the files. It's more a difference in the paradigm the two offer. 

Clean your XPath

March 01, 2011
Tags: SDN, Sitecore, XPath

While developing with Sitecore you'll probably end up using XPath query to return some results. Since a lot of people will be requiring you to create content items with dashes in the name, for SEO purposes, you're going to need to escape the dashes with "#" (pound) signs as detailed in this SDN Sitecore Query Syntax article. This means you'll need a method to clean your XPath queries. Having done this a few times and integrated mine with other developers versions, here's what I've come up with:

Sitecore Util Classes

February 28, 2011
Tags: Sitecore

If you've ever done a lot of Sitecore development you may have built a lot of tools only to find out that Sitecore itself has a utility that already does what you wanted. After a friend, Mark Ursino, joked about how ridiculous the Sitecore.MainUtil.True() method was I looked around and remarked how many times I bumped into a new found util class. I then asked myself just how many util classes Sitecore had so I popped open the object browser and did a quick search. The number: a staggering 31 utility classes. That's a ton of good code that you don't have to write. Some real nuggets too like the reflector utility. Here's what I found with some method highlights: