Sitecore Helix Solution Setup Guide - ysolution-it/sitecore-wiki GitHub Wiki

This guide outlines the steps to create a new Sitecore solution using the Helix architecture pattern, focusing on structure, naming conventions, and configuration tips.


✅ Prerequisites

  • Visual Studio (any version supporting .NET Framework as per your Sitecore version)
  • Sitecore installed (locally or on a shared dev instance)
  • Git or preferred source control (optional)

🛠 Steps to Create the Solution

1. Create the Blank Solution

  • Open Visual Studio.

  • Select Create a new project → choose Blank Solution.

  • Name the solution using your company's naming convention:

    YSolution.Portal.sln
    

    💡 Use YSolution as the company prefix to maintain consistency across all projects.


2. Create a New Project

  • Add a new project to the solution:
    • Type: Empty ASP.NET Web Application (not MVC).
    • Name it according to Helix conventions:
      YSolution.Portal
      └── src
          └── Project
              └── Website
      

🧱 Project Structure (Helix-Based)

Follow the standard Helix folder hierarchy:

Root
│
└── src
    ├── Foundation
    │   └── (Modules here)
    ├── Feature
    │   └── (Modules here)
    └── Project
        └── Website

📌 Tip: The layers (Foundation, Feature, Project) should reflect business concerns and technical boundaries.


📝 Naming Conventions

  • Prefix all solutions and projects with your company name or abbreviation: YSolution.
  • Use PascalCase for all solution, project, and folder names.
  • Do not include technology references (like "SiteCore") in naming.
  • Follow a logical structure:
    YSolution.Portal.[Layer].[Module]
    Example: YSolution.Portal.Feature.Navigation
    

⚙️ Configuration

Web.config Setting

After adding the web.config file:

  • Set Build Action to None:
    • Right-click web.config → Properties → Build ActionNone

This prevents unnecessary compilation or deployment issues.


📂 Example Project Path

ysolution-portal-backend\
└── YSolution.Portal\
    └── src\
        └── Project\
            └── Website\

📚 Next Steps

  • Add Feature, Foundation, and additional Project layer modules.
  • Implement Sitecore serialization (e.g., using Sitecore CLI).
  • Define roles for templates, item structure, and deployment.
  • Maintain clear boundaries and decoupling between modules.