Contact Us

Sitecore Helix comprises a set of architecture conventions and guidelines that describe the application of recommended technical design principles to a Sitecore project. Learn more about this in blog!

 

What is Sitecore Helix?

Sitecore Helix is nothing but a set of official guidelines and recommended practices for Sitecore development. The significance of Helix is to primarily to secure implementations in a way by structuring them as maintainable and extensible business-centric modules. That’s not all - it also comprises development process recommendations, which helps to build, test, extend and maintain Sitecore implementation.

What Helix essentially does is describe the overall architecture of your Sitecore solution and accordingly communicates guidelines that are durable and flexible to be applied to any Sitecore project. In fact, this pattern described by Helix is also referred to as Component-based Architecture or Modular Architecture.

What Modular architecture does is that it provides a framework which makes it simpler to optimize and increase productivity by describing how to isolate domain logic and this makes the implementation way more manageable. It is a way of making sure that the resulting solution is flexible enough even if there are changes.
Need Help?

The Layer Concept in Helix

This concept supports the architecture by making the dependency flow completely clear everywhere in the solution - be it Sitecore, Visual Studio or even file system. In fact, the layers also provide a structure that is favourable for creating and maintaining solutions of any size and also helps both new and experienced developers to produce a clear code.

Even though layers are a conceptual construct, they are generally described through folders in the filesystem, Visual Studio and Sitecore along with namespaces in code. Layers also define in which direction modules can depend on other modules.

Layers also reply on the Stable Dependencies Principle, which is crucial in Modular Architecture. This speaks of how a module must depend on another module that is more stable than itself. The reason is primarily because if dependencies are not controlled, you can end up in an unstable code base and it will be difficult to maintain the solution over a long period.

There are three layers under Sitecore Architecture Conventions:

  • Project Layer
  • Feature Layer
  • Foundation Layer
Three layers under Sitecore Helix Architecture

Project Layer

This is the layer that provides the context of the solution - primarily the actual website or other outlets, including page types, layout and graphic design. It is this layer where all the features of a solution are built together and turned into a cohesive solution. This layer is small and contains only a few modules.

Feature Layer

This is the layer that contains concrete features of the solution, such as news, articles, promotions, website search etc. What is important to remember here is that features are expressed as seen in the business domain of the solution and not by technology. This means that the module’s responsibility and naming should not be governed by specific technologies but by a module’s business value.

Besides, this layer has to adhere to the Common Closure Principle, which means that changes in one feature do not cause changes anywhere else and that these can be added, modified and removed without impacting other features.

Foundation Layer

The lowest level in Helix is the foundation layer, which forms the foundation of your solution. When a change occurs in one of these modules, it can make an impact on other modules. This is why these modules need to be the most stable as mentioned in the Stable Dependencies Principle. In a nutshell, all kinds of frameworks and software can be termed foundational modules. These modules are either business-logic specific extensions on the technology frameworks or shared functionality between feature modules.

What are modules?

Modules in Helix are derived from components in Component-based Architecture.In Helix, modules are essentially business-centric, which means that they must be co-related to business objectives. The biggest challenge is the breakdown and naming of modules in Helix. Sometimes, developers get confused by the type-centric nature of development tools and pay less attention to the business of feature-centric nature of modular architecture. Do not fall in this trap!

Modules can be grouped together to improve maintainability, readability or even structure.

Benefits of Helix

Here’s a lowdown on the benefits of Helix:
  • Extensibility: Helix principles help in defining project boundaries and helps in establishing dependencies. You can easily extend one feature without impacting any other part or feature of the application. Let us take the example of Sitecore and the Indexing Foundation module. This allows content types from different Feature modules to be indexed by implementing the interface in Foundation module. This Foundation does not need to know about the new module in advance or depend on any of Feature module.

  • Reusability + Development Cost: As we have divided the features in the module and based on dependencies, they are more easily available for reusability (e.g. Sitecore.Foundation.Indexing Foundation module) and hence can reduce the cost.

  • Technical Debt - Project based on Helix principle also leads to less technical debt, since Helix allows modules to be independent and so can be updated/deleted over time without impacting other features.

At Altudo (formerly eDynamic), we help our clients deliver exceptional customer experiences through 1:1 personalization & enhanced engagement, to grow revenue streams.

As Sitecore Platinum implementation partners, our deep understanding of the Sitecore ecosystem goes beyond the basics of CMS, to unleash the true potential of a seamless, personalized website experiences & curating engagement analytics throughout the customer journey.

You Might Find These Useful

EBOOK
Sitecore CMS for Multi-Site Implementation
An overview of the reasons that compel leading organizations to consider opting for Sitecore CMS, to build and run multiple websites.
26-SitecoreCMSforMultisiteimplementation-640x318px
Publication
Sitecore XM Cloud Overview: Architecture and Features
If you’re looking for a powerful, cloud-based SaaS CMS then look no further. This article walks you through Sitecore XM Cloud’s architecture, features, benefits and more.
sitecore headless cms
Publication
Sitecore XM Cloud Vs Sitecore XM/XP Vs Content Hub One: The Right CMS for You
This blog chalks out the various important aspects and features of Sitecore XM Cloud, XM, XP, and Content Hub to help you choose the one that suits your business goals and vision.
cmsnewthumbnail