In the last post, I covered how to install the core components of Sitecore Commerce 8.2.1. This post will cover the installation of the reference storefront.
Install storefront files and items
If you are installing the reference storefront, install the following modules and packages:
- Sitecore.Commerce.Habitat.Images-10.x.xxx.zip
- Adventure Works Images.zip
-
Sitecore.Reference.Storefront.Common.10.x.xxx.update
- Sitecore.Reference.Storefront.Powered.by.SitecoreCommerce.10.x.xxx.update
You will most likely get an error after installing the last package. This is expected. After the initialization process, the error should go away.
Initializing the site
As in the previous post the user that runs the following commands must be a local administrator and a sysadmin on the database server
- Open a PowerShell console. You must have PowerShell 4.0 or greater
- Run
Set-ExecutionPolicy Unrestricted
and selectY
- Change the directory to your website root with the command. For example:
cd c:\inetpub\sc82u3\Website
- Run
Initialize-CSSite
. You will see ouput indicating that databases are being created, resources are being added to the commerce site, and the runtime user is being added to various database roles - Run the following two commands to create the web services for the legacy Commerce Server components. The
CSServices
website and app pool should have been created in the previous post. TheIdentity
andPassword
should be for the runtime user created in the previous post.New-CSWebService -Name "CFSolutionStorefrontsite" -Resource Catalog -IISSite "CSServices" -AppPool "CSServices" -Identity 'RuntimeUser' -Password 'YourPassword'
New-CSWebService -Name "CFSolutionStorefrontsite" -Resource Profiles -IISSite "CSServices" -AppPool "CSServices" -Identity 'RuntimeUser' -Password 'YourPassword'
- Run the following commands to assign the runtime user to catalog and profile administrator roles in the associated authorization store xml files. You could also do this manually with Authorization Manager (AzMan). Be sure to adjust the path to the xml files according to the location where you created the CSServices site.
Grant-CSCatalogWebServicePermissions –File "C:\inetpub\csservices\CFSolutionStorefrontsite_CatalogWebService\CatalogAuthorizationStore.xml" -Identity "RuntimeUser" -Role "Administrator"
Grant-CSProfilesWebServicePermissions –File "C:\inetpub\csservices\CFSolutionStorefrontsite_ProfilesWebService\ProfilesAuthorizationStore.xml" -Identity "RuntimeUser" -Role "ProfileAdministrator"
- Optionally, run the following command to set the inventory subsystem to display out of stock SKUs
Set-CSSiteResourceProperty -Name "CFSolutionStorefrontsite" –Resource "Inventory" -PropertyName "f_display_oos_skus" -PropertyValue $true
- Open a new command prompt or type ‘cmd’ in the PowerShell colsole you have open and enter the following commands
cd "C:\Program Files (x86)\Commerce Server 11\Tools"
ProfileKeyManager.exe /kn /o "c:\profileEncryptionKeys.xml" /f
ProfileKeyManager.exe /ke /kf "c:\profileEncryptionKeys.xml" /reg HKEY_LOCAL_MACHINE\SOFTWARE\CommerceServer\Encryption\Keys\CFSolutionStorefrontSite /f
- Deploy the profile database dacpac by running the following command in a command prompt on a machine that has SQL Server Management Studio installed:
"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /Action:Publish /SourceFile:"<path to extracted installation files>\Database\Profiles\Commerce.Storefront.ProfileDatabase.dacpac" /TargetDatabaseName:<YourSiteName>_profiles /TargetServerName:"<SqlServerInstanceName>"
- Reinstall Sitecore.Reference.Storefront.Powered.by.SitecoreCommerce.10.x.xxx.update
I think this is it for the reference storefront. I say “I think” because an argument could be made that the Commerce Engine provided in the SDK is a part of the reference storefront. We’ll take a look at that in the next post.