muso31 / Helixbase

A Sitecore Helix based solution for Greenfield projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


A Sitecore Helix based solution which can be used for Greenfield projects. Tackles some common problems when working with the platform.

ASP.NET CI Helix Check GitHub Stars

Features include:

  • Headless version available
  • Glass Mapper v5 - with fluent configuration and automated mapping registration
  • Sitecore Content Serialization (SCS)
  • Automatic C# generation scripts
  • Sitecore 10.3.0 ready
  • Pre compiled Razor views
  • Bootstrap v4
  • Native dependency injection with auto controller registration
  • A sample hero banner feature and sample site project for demonstration
  • Generic content repositories (by Rendering, Item Context, or Glass Content)
  • Version trimming rules engine - Items limited to 10 versions by default
  • Search Templates computed index field - find all items from an index by any templates they implement
  • Non admin Item Unlock
  • Auto unlocks items when a user is deleted
  • Integration with helix-publishing-pipeline
  • Fast (see benchmark) publish-on-build (when building inside Visual Studio)
  • Show Title When Blank patch, the forgotten Sitecore feature!
  • Helix Check GitHub Action
  • Central Package Management

Setup Instructions

*Please Install Visual Studio 2022 17.2 and later as this project uses Central Package Management

  1. Install Sitecore Experience Platform 10.3.0
  2. Install Sitecore PowerShell Extensions found in the SXA download page (SXA not required)
  3. Install Sitecore Management Services Sitecore package
  4. Clone the repo and update the 'publishUrl' property in Local.pubxml to the target IIS folder
  5. Use the 'Local' publish profile in the Helixbase.Website project to publish the solution
  6. Install Sitecore CLI and push Sitecore items dotnet sitecore ser push - installation documentation

Using Helix Base:

Refer to the Hero Feature as an example.

  • View HeroService.cs for examples of retrieving Sitecore items using the content API and the search API.
  • View Register routes for an example of how to register a route.

To change the item version limit edit the rule on the /sitecore/system/Settings/Rules/Item Saved/Rules/Delete Old Versions item. You can also change the rule to recycle or archive old versions.

In the security editor you can assign non admin Item Unlock permissions.

If you do not require a feature you can easily delete it.

Renaming Solution / Projects

To rename the Visual Studio Solution, Helix Module Projects and Project references from 'Helixbase' to a new project name, run rename.ps1 -ProjectName [NewProjectName]'.

Automatic C# generation

SPE scripts exist to automatically generate C#, read more about source generation.

Build

Helix Base uses helix-publishing-pipeline and pre-configures a number of features.

  • Content files from all modules are included in the publish
  • Sitecore assemblies are excluded from publish, reducing the package filesize

Local publishing:

  • Fast publish-on-build of the Local publish profile. This only adds a few seconds and won't recycle your app pool unless you change code. It even runs your debug Web.config transform!
  • Old assemblies (Helixbase.*.dll) are automatically removed

CI/CD publishing:

  • Serialization files are automatically included into App_Data\serialization using the 'package' publish profile.

Azure DevOps:

  • If you push this repository to Azure DevOps, then in Build Pipelines choose New build pipeline, it will automatically pick up the included azure-pipelines.yml file and create an example build pipeline that uses the Package publish profile.

AppVeyor:

  • An example appveyor.xml is included which builds, tests, and packages the solution.

Legacy Versions

Legacy versions of Helix Base which are no longer updated or maintained can be found below:

Helix Base 10.2.0 (updated until 01/12/2022)
Helix Base 10.1.1 (updated until 11/12/2021)
Helix Base 10.1.0 (updated until 05/07/2021)
Helix Base 10.0.1 (updated until 26/02/2021)
Helix Base 10.0.0 (updated until 11/01/2021)
Helix Base 10.0.0 None SDK project format (updated until 11/01/2021)
Helix Base 9.3.0 (updated until 30/08/2020)
Helix Base 9.3.0 None SDK project format (updated until 30/08/2020)
Helix Base 9.2.0 (updated until 29/11/2019)
Helix Base 9.1.0 (updated until 08/08/2019)
Helix Base 9.0.2 (updated until 21/12/2018)

Extensions

A repository now exists for Helix Base compatible modules:

Helix Base modules

About

A Sitecore Helix based solution for Greenfield projects

License:MIT License


Languages

Language:JavaScript 74.5%Language:C# 22.8%Language:HTML 1.6%Language:PowerShell 1.1%