Skip to content

Sitecore-Hackathon/2020-KATSU

Repository files navigation


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

Features include:

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

Setup Instructions

*Please Install Visual Studio 2017 Version 15.7 or higher as this project uses PackageReference

  1. Install Sitecore Experience Platform 9.3 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. Build the project from inside Visual Studio (which triggers HPP auto publish), or use the 'Local' publish profile in the Helixbase.Website project
  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.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