/Helixbase

A Sitecore Helix based solution for Greenfield projects

Primary LanguageJavaScriptMIT LicenseMIT


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:

  • Glass Mapper v5 - with fluent configuration and automated mapping registration
  • Unicorn - including user and role sync
  • Sitecore 10 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

Setup Instructions

*Helix Base uses the new csproj sdk format which can cause issues with intellisense, if you would like to use the older format please see the 10.0 feature branch
*Please Install Visual Studio 2017 Version 15.7 or higher as this project uses PackageReference

  1. Install Sitecore Experience Platform 10 Initial Release
  2. Clone project to 'C:\Projects\Helixbase'
    1. If you use another path, update the z.Project.Common.DevSettings.config
  3. Update the 'publishUrl' property in Local.pubxml to the target IIS folder
  4. Use the 'Local' publish profile in the Helixbase.Website project to publish the solution
  5. Run Unicorn and sync all configurations

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]'.

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:

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 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

Collaborators

Special mention to those who collaborate on the project:

Richard Szalay
Steve McGill