Publishing a new store
To publish a new store, download the store data generator and then publish a full store model.
Download Store Data Generator bundle
To download the store data generator bundle:
- Login to the My HCL Software (MHS).
- From the Downloads, go to .
- Select Year and click the Version. For example, select 2025 and click 25.03.19.0.
- Find HCL_Commerce_Cloud_Enterprise_Store_Data_Generator_.bundle below Bundles and click direct download to download the file.
- Follow the instructions provided in the README.md file in the git bundle to install dependencies for the application.
Publishing a full-store model
The site administrator must first publish the store data model using the Ruby storefront provided in the HCL_Commerce_Store_Data_Generator git bundle.
Adding a new eSite to the existing store model
You can add an eSite store to an already published CAS or SAS by specifying the
following parameters inside the config.json5 file:
- For e-site
createESiteStore: 'yes'eSiteStoreIdentifier: '[name]' // specify the name of the e-siteeSiteStoreDirName: '' // leave this empty to derive it from eSiteStoreIdentifiereSiteStoreOrganizationDN: '' // leave this empty to derive it from eSiteStoreIdentifier
- For SAS:
createStoreFrontAssetStore: 'no'frontAssetStoreIdentifier: '[SAS-identifier]' // required when createStoreFrontAssetStore is set to nofrontAssetStoreDirName: '[SAS-dir-name]' // required when createStoreFrontAssetStore is set to no
- For CAS:
createCatalogAssetStore: 'no'catalogStoreIdentifier: '[CAS-name]' // required when createCatalogAssetStore is set to nocatalogStoreDirName: '[CAS-dir-name]' // required when createCatalogAssetStore is set to no
You can also add an e-site to already published CAS and SAS by using the Extended Site Stores tool in the Commerce Lab, clicking New, and filling out all the relevant information.
Updating the web server to rewrite rule
For the default deployment, in the Ruby storefront web server container, add
a file named Y{{YourStoreName}}.conf to the
/SETUP/config/directories folder with the following
content:
# NextJs server hosting store directory rewrite
# The directory also contains static asset of the store, e.g. images, logo
<Directory "/SETUP/app/{{YourStoreName Pascal case}}">
Options +FollowSymLinks -MultiViews -Indexes
DirectorySlash Off
RewriteEngine On
RewriteOptions AllowNoSlash
RewriteCond %{QUERY_STRING} !.*WCPreviewToken=.+
RewriteCond %{DOCUMENT_ROOT}/assets/{{YourStoreName Pascal case}}/$1 -f
RewriteRule ^(.+) /assets/{{YourStoreName Pascal case}}/$1 [L]
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
RewriteRule ^ - [L]
RewriteCond %{REQUEST_URI} !^/{{YourStoreName Pascal case}}/?index.htm(.*)
RewriteCond %{HTTP_REFERER} (.*)WCPreviewToken=(.+)
RewriteRule ^(.+\..+) https://app:5443/webapp/wcs/preview/{{YourStoreName Pascal case}}/$1?previewToken=%2&managedFile=true [QSA,P]
# request with path /Ruby and query parameters.
RewriteCond %{REQUEST_URI} ^/?{{YourStoreName Pascal case}}$
RewriteRule ^ https://nextjs-store:3343/{{YourStoreName}} [L,P,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) https://nextjs-store:3343/{{YourStoreName}}/$1 [L,P,QSA]
</Directory>Enabling the Inventory
When you create a Next.js store, choose the non-ATP inventory model and set the inventoryPBC option to true. This enables the store to use the Inventory.