Skip to main content

Posts

Helix Smells - Habitat Cargo Cult

This post describes how to spot a Sitecore solution has become a victim of the  Habitat Cargo Cult , as well as tips to prevent it from occurring. It's part of  a series documenting Helix Smells  - some of the common pitfalls of Sitecore development when following the Helix architecture.

Helix Smells - Fat Project

This post describes the  Fat Project  Helix Smell. It's part of a series documenting some of the common pitfalls of Sitecore development when following the Helix architecture.

Helix Smells - Unearned Foundation Status

This post describes how to spot and improve a Helix module that exhibits  Unearned Foundation Status . It's part of a  series documenting Helix Smells - some of the common pitfalls of Sitecore development when following the Helix architecture.

Fat Foundation

This post describes how to spot and resolve a Fat Foundation module. It's part of a series documenting Helix Smells - some of the common pitfalls of Sitecore development when following the Helix architecture.

Helix Smells

"Helix Smell" is the term I use for a sign that there might be a problem within a Sitecore Helix implementation. Each Helix smell has a name and definition. I hope this will provide Sitecore developers with a common vocabulary for discussing issues in their Helix solutions.

Sitecore Helix Distilled

It seems like a lot of Sitecore developers struggle with Helix, finding it more of a hindrance than a benefit. Perhaps Sitecore have been too prescriptive in their documentation. Maybe the Habitat example site overwhelms people. Whatever the reasons, I don't think it needs to be that way. If you distill Helix down to its essence, you'll find a collection of 6 architectural principles that were originally codified by Robert C Martin. They're known as the ' Principles of Package and Component Design ' and they're not too difficult to grasp. That said, the language he uses can get pretty complex. So here's my attempt to translate the principles for new Helix developers. Coupling The first 3 principles focus on managing dependencies within your system. Broadly speaking, they help you decide which Helix layer your code should be added to. Stable Foundation / Volatile Project Every Foundation module will probably have lots of dependent Feature/Project...

Sitecore Helix and Bounded Contexts

This is the second in a series of posts looking at the similarities between Sitecore Helix and Domain Driven Design. This time I'll focus on the DDD concept of Bounded Contexts and how understanding them can deepen your appreciation of Helix.

Sitecore Helix and Ubiquitous Language

This is the first in a series of posts in which I explore the parallels between the Sitecore Helix architecture and Domain Driven Design (DDD). I think Helix has been heavily influenced by DDD, and a good place to start is to introduce its concept of 'Ubiquitous Language'.

Where Should Sitecore Page Content Live?

I recently started a thread in the Sitecore MVP forum concerning the best place store page content. I was overwhelmed by the responses. Around 25 MVP's contributed to the thread and I'd like to thank everyone who got involved. In this post I'll summarise the key discussion points.

Introduction to Sitecore Insert Options

Once you've created your first Sitecore site, you'll need a way to keep the content under control. This post explains how to use Insert Options to improve you site's information architecture.

The Endlessly Rebuilding Sitecore Index

This quick post provides information about the sitecore_suggested_test_index, which I have found to be problematic in some large Sitecore 8.x implementations.

Sitecore Experience Analytics - Graph Cannot Be Displayed

I am an idiot. I'm writing this post in case you're an idiot too. It concerns a nasty looking, but ultimately harmless error in Sitecore 8's Experience Analytics screen that caught me out more than once.