It’s never the runtime… (Except when it is)

BugSomething I’ve learned over the course of many years working in IT is that when you hit a difficult to explain problem it’s very easy to say “it’s the runtime’s fault!” or “that’s a compiler bug” to cover for the lack of explanation for your problem. The vast majority of the time, it’s not true though. It’s just a subtler bug in your own work that you can’t see yet.

Every so often, however, it is true. And it turns out the issue I discussed the other week about Sitecore rendering a Razor error when you asked for a media item may well be an example of this. Continue reading

What went wrong with my media?

Edited to add: With help from Sitecore Support, there’s an explanation for what was going on here now.

If you spend your life working with software, you can’t help but collect a few stories of issues that defied your understanding – and I came across a great example with Sitecore recently. I haven’t managed to decide if this is an issue that can happen to others, or whether it was completely specific to the setup of this particular site. But since I got few useful results from Google when I was trying to solve this, I figure it’s worth writing about it just in case someone else sees a similar problem in the future… Continue reading

Personalising on Page Events with custom data? Take care…

A colleague of mine has been looking at some custom page events and reporting in Sitecore 8.1 recently. One thing which came to light during this work is that some of the personalisation rule code in the product didn’t appear to work as expected. In case anyone else is looking at this aspect of the software, he’s a summary of the issue we were seeing, in the hope that it can help you avoid the time we spent looking into this: Continue reading

A quirk of Sitecore Queries…

It’s nearly Christmas, and before I head off for a bit of a holiday, here’s a quick bug issue you might encounter. Despite the increasing power and sophistication of the search technologies in Sitecore, sometimes we still need to fall back to good old-fashioned Sitecore Query. A common reason for this is because the query you’re writing depends on the structure of the data, not its content. Recently a colleague of mine pointed out some issues to me with the way some queries are resolved, which I thought might be of interest to others. Continue reading

Renaming the site called “website” is a bad move…

In the past I’ve often renamed the default <site/> entry from “website” to something more meaningful when creating the configuration for a project. If your instance of Sitecore is serving multiple websites, then it seems logical to me to name your <site/> entries so they make sense against the purposes of these websites. However it seems that in the current version of Sitecore 8.0 this is a bad idea… Continue reading

My favourite confusing exception

Spending a lot of time developing websites with Sitecore means I’ve reported my fair share of bugs to support. One particular issue that I came across in 6.6 a while back stands out as my “favourite” issue I’ve reported – just because the error stops a lot of developers in their tracks thinking “how on earth can this happen?”. If you wrote this code, would you think it could crash?

private void doSomething(ShortID identifier)
    if(identifier == null)
        // handle the bad paramater

    // do things

Well it can crash. And to a less experienced developer it can be a very confusing error: Continue reading