Exploring the Sitecore Helix, Helixbase and Habitat

@isaadansari

@isaadansari

@isaadansari

Saad Ansari

Full Stack & Sitecore Developer

isaadansari.com

Today's Agenda

  1. Sitecore Helix
  2. Definitions in Sitecore Helix
  3. Architecture Principle
    • Dependencies
    • Inheritance
    • Template Types
    • Modules
    • Layers
  4. Sitecore Habitat
  5. Sitecore Helixbase
    • Helix vs Habitat vs Helixbase
  6. Demo

SITECORE Helix

01

WHAT IS HELIX

Helix is a set of overall design principles for Sitecore Development. It is a set of official guidelines and best practices for implementing Sitecore

  1. Fuelling fast paced Sitecore development
  2. Organize features and components in folders
  3. Loosly Coupled Dependencies between modules
  4. Sitecore support availibility
  5. Future development standard

DEFINITIONS IN SITECORE HELIX

02

DEFINITIONS IN SITECORE HELIX

  • Module
  • Solution
  • Project
  • Serialization
  • Assets
  • Dictionary
  • Tenant
  • Site
  • Website
  • Implementation

ARCHITECTURE PRINCIPLES

03

DEPENDENCIES

Uncontrolled Dependencies,

Tight Coupling

Controlled Dependencies,

Loose Coupling

A solution where dependencies are not controlled and with high coupling between the various parts

Inheritance

Template types

  • Interface template (interface for solution logic)
  • Page type template (pages of the website)
  • Datasource template (renderings as a datasource)
  • Settings template (configuration or business logic)
  • Folder templates (scaffolding the content structure)

Define a number of different logical template types, to separate the purposes of the templates in the solution

MODULES

  • Agile Software Development by Robert C. Martin
  • N-Layered Architecture
  • Business-centric modules
  • Principle against traditional software conventions
  • Component-based Architecture
  • Common Closure Principle
  • Grouped modules in layers

The concept of modules in Helix is derived from the concept of components in Component-based Architecture

LAyers

  • Project Layer
  • Feature Layer
  • Foundation Layer
  • Dependency flow
  • Modular Architecture
  • Physically implementation in filesystem

Foundation Layer

  • Most stable layer in the solution
  • Interactions with third party libraries.  
  • Solution-specific business logic available to multiple features
  • No solution-specific presentation elements. (no Views)
  • One foundation module can depend on another foundation module. 

FEATURE Layer

  • Contains concrete features of the solution as understood by the business owners  

      Ex: banners, articles, website search

  • Expressed as seen in the business domain of the solution and not by technology
  • Independent of changes, the changes in one feature do not cause changes anywhere else.
  • One Feature module must never rely on another Feature module 

PROJECT Layer

  • The Project layer provides the context of the solution
  • Stitches together all of the features into a solution
  • Brings together the concrete graphical design
  • Multiple websites can be added in the solution
  • Reusable JavaScripts can be included
  • Layouts, Sub-layouts and Partials can be added
  • Scripts and Styles can be put as a partials renderings

What is Habitat

04

WHAT IS Habitat

Helix provide a set of guidelines for your Sitecore projects. It is a Sitecore project implemented on the Sitecore Experience Platform using Helix.  

It is an example that allows developers to see how Helix is applied and lets developers experience a project based on these principles.

  1. Provides pre-built and tested set of common modules
  2. Improve the efficiency of your projects
  3. Reduce costs and time to market
  4. Future Sitecore standard for development
  5. Easy to work on convention-based projects with minimal training

What is HelixBASE

05

HELIXBASE

Helixbase is a solution base set up following the design principles for Sitecore Development. It is using the set of official guidelines and best practices for implementing Sitecore.

  1. Unicorn
  2. Glass Mapper
  3. Bootstrap
  4. Native dependency injection
  5. Generic content repositories
  6. 301 redirects
  7. Version trimming rules engine
  8. Search Templates computed index field
  9. Non admin Item Unlock
  10. Auto unlocks items when a user is deleted
  11. Integration with helix-publishing-pipeline
  12. Publish-on-build

Structure

VISUAL STUDIO STRUCTURE

SITECORE STRUCTURE

Difference Between Helix, Habitat and Helixbase

VS

VS

Helix is a set of overall design principles

Habitat is the implemention of Sitecore solution based on Helix design principles

Helix is a base solution that can be used for starting a new project

06

DEMO

THANK YOU

Saad Ansari

Full Stack & Sitecore Developer

@isaadansari

@isaadansari

@isaadansari

isaadansari.com

Made with Slides.com