This repository is used to share Sitecore demo assets with external contributors and partners
Clone or download
Latest commit 5361186 Oct 19, 2018


HabitatHome Commerce Demo and the tools and processes in it is a Sitecore® solution example built using Sitecore Experience Accelerator™ (SXA) on Sitecore Experience Platform™ (XP) and Sitecore Experience Commerce™ (XC) following the Helix architecture principles.

Important Notice


Please read the LICENSE carefully prior to using the code in this repository


The code, samples and/or solutions provided in this repository are unsupported by Sitecore PSS. Support is provided on a best-effort basis via GitHub issues or Slack #habitathome (see end of README for additional information).

It is assumed that you already have a working instance of Sitecore XP and Sitecore XC and all prerequisites prior to installing the demo. Support for product installation issues should be directed to relevant Community channels or through regular Sitecore support channels.


The code, samples and/or solutions provided in this repository are for example purposes only and without warranty (expressed or implied). The code has not been extensively tested and is not guaranteed to be bug free.

Getting Started

This guide assumes you've cloned and deployed Sitecore.HabitatHome.Platform. See the file in the Sitecore.HabitatHome.Platform repository.


Sitecore Version

Prior to attempting the demo installation, ensure you have a working Sitecore XC 9.0.2 instance. Detailed installation instructions can be found at

You do not need to install the Storefront Theme

IMPORTANT: Publish site after installation

Clone this repository

Custom Install - before you start

If you do not want to use the default settings, you need to adjust the appropriate values in the /cake-config.json file.

Note: If you've already deployed the HabitatHome Platform demo, and you wish to run the HabitatHome Commerce demo in a new instance by customizing these sttings, you would need to also customize the settings in the HabitatHome Platform demo and deploy it to the new instance before deploying HabitatHome Commerce. See in Sitecore.HabitatHome.Platform for custom settings.


All installation instructions assume using PowerShell 5.1 in administrative mode.

1 Clone the Repository

Clone the Sitecore.HabitatHome.Commerce repository locally - default settings assume C:\Projects\Sitecore.HabitatHome.Commerce.

git clone or git clone

2 Deploy Solution

Note: If you have not yet done so, deploy the base HabitatHome.Platform solution. See in Sitecore.HabitatHome.Platform You can run the Quick-Deploy gulp task from the root of the HabitatHome.Platform solution for a quicker deploy that excludes post deploy actions or Unicorn synchronization.

To deploy the HabitatHome.Commerce solution, from the root of the solution

.\build.ps1 -Target Initial


  • Build target Initial only needs to be executed successfully during the initial deployment. Subsequent deployments can be made by running the Default Cake build target: .\build.ps1 (without target specification).

3 Deploy Engine

The next step will deploy Habitat Home's custom Commerce Engine with its relevant plugin and load the catalog, inventory and promotions.


  • If you want to use your own engine suffix rather than habitathome, you need to update it in deploy-commerce-engine.ps1
  • If you want to use your own databases rather than habitathome_Global, you need to update it in \src\Project\HabitatHome\engine\wwwroot\bootstrap\Global.json
  • If you want to use your own databases rather than habitathome_SharedEnvironments, you need to update it in \src\Project\HabitatHome\engine\wwwroot\data\Environments\Plugin.SQL.PolicySet-1.0.0.json The script is provided as an example and should be reviewed to understand its behavior prior to its execution. In summary, the script:
  • Compiles and publishes the engine to a temporary location (default .\publishTemp)
  • Makes changes to the configuration files to correctly set the certificate thumbprint, hostnames, etc)
  • Stops IIS
  • Creates a backup of the engine folders
  • Copies the published and modified engine files to the webroot
  • Starts IIS
  • Bootstraps the environment
  • Cleans the environment (** erases all Commerce-related data)
  • Initializes Environment (imports demo catalog, promotions, inventory, etc)

Assuming you have the default installation settings:

.\deploy-commerce-engine.ps1 -Bootstrap -Initialize

if you have made any changes to your settings, review the deploy-engine-commerce.ps1 script and override / modify the parameters as required.

Contribute or Issues

Please post any issues on Slack Community #habitathome channel or create an issue on GitHub. Contributions are always welcome!