Skip to main content

Create a new environment in business tool of sitecore commerce

Hello Friends,

Recently, We have been working with the project which has sitecore commerce functionalities, One of the object in sitecore commerce is it's environment, It comes up with some default environments like

"AdventureWorksAuthoring","AdventureWorksShops,"HabitatAuthoring","HabitatShops"


Now it is obvious need of a project to have its own environment, So that all e-Commerce entities can be defined for that project in its own environment, Consider you are creating e-commerce site for electronic items for one of your client, you will need your own environment here so you can have catalogs, inventory, customers separately.

By default sitecore commerce does not provide a way to create the new environment or nor have a post man API call via which we can create these new environments.

How
Let's quickly see the steps how can you have your own environment set up, These are  manual steps but can be automated using proxy APIs but lets see the manual steps below

1)  Go to wwwroot folder where commerce is installed you will see four folder for their roles like following


2)      Now go to CommerceAuthering_Sc9 folder on following path (names will be different as per your environment)
C:\inetpub\wwwroot\CommerceAuthoring_Sc9\wwwroot\data\Environments

3)      Copy
  1. "PlugIn.Habitat.CommerceAuthoring-1.0.0.json"
  2. "PlugIn.Habitat.CommerceMinions-1.0.0"
  3. "PlugIn.Habitat.CommerceShops-1.0.0.json"
And paste it in the same folder so you will have copy of these files now rename this file to the desire name for example
  1. "PlugIn.MyEnv.CommerceAuthoring-1.0.0.json"
  2. "PlugIn.MyEnv.CommerceMinions-1.0.0”
  3. "PlugIn.MyEnv.CommerceShops-1.0.0.json"

4)      Open PlugIn.MyEnv.CommerceAuthoring-1.0.0.json and change following properties
  1. ArtifactStoreId - to a new GUID - this would be the same for a given set of environments (authoring, shops and minions)
  2. Id - to a new ID (the efe49ff743d34b649fffcof293615cd9MyEnv)
  3. Id - to a new name (the Entity-CommerceEnvironment-MyEnv)
  4. Name - a new environment name like "MyEnv"
InitialArtifactSets - as follows


 NOTE: if you observe and compare our files with default habitat files, we have removed some artifact so that we can have completely blank environment.

5)  Make sure to change the GUID and id for other two files too, those two files should also have the same GUID and id but names should be different.
6)  Once the files are changed, you can copy those three files over to other three folders on wwwroot , On step-1 we showed four folders and one of them we did all above changes, so remaining three folders should also have those files which we created.
7)  Edit the global.json file situated on

C:\inetpub\wwwroot\CommerceAuthoring_Sc9\wwwroot\bootstrap\global.json
C:\inetpub\wwwroot\CommerceMinions_Sc9\wwwroot\bootstrap\global.json
C:\inetpub\wwwroot\CommerceOps_Sc9\wwwroot\bootstrap\global.json
C:\inetpub\wwwroot\CommerceShops_Sc9\wwwroot\bootstrap\global.json

Add the new environment to the list of existing environments like following




 Make the changes in all above global.json file

Making an API calls
Aafter above steps there is a need to make some calls to commerce API so that we can bootstrap, and initialize the environment, those steps are following
1)      In postman where you already configured the habitat environment, duplicate the environment and call it something else of your choice and change the global variable to match it with our new environment like following



Above values should match against what you configured in the .json file

2)      Now select this environment in postman and make following calls
  1. GetToken - under authentication
  2. Bootstrap Sitecore Commerce - under SitecoreCommerce_DevOps
  3. Initialize Environment - under SitecoreCommerce_DevOps

3)      All the calls should succeeded and should return 200 OK result, else you will need to troubleshoot the errors by looking into the logs on following folders.

You might get 500 internal errors for the calls if you are making it via postman, in that case you will need to turn “AntiForgeryEnabled=false” in “config.json” file inside wwwroot folder.

C:\inetpub\wwwroot\CommerceShops_Sc9\wwwroot\logs
C:\inetpub\wwwroot\CommerceOps_Sc9\wwwroot\logs
C:\inetpub\wwwroot\CommerceMinions_Sc9\wwwroot\logs
C:\inetpub\wwwroot\CommerceAuthoring_Sc9\wwwroot\logs

4)      If all calls are fine, you should see the new clean environment like following



You can start creating catalogs and customers specific to your environment now

Hope it help.

Comments

Popular posts from this blog

An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.

You have noticed many times that everything was working fine and suddenly the below error starts coming and you find no way to work it out An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. The reason for this is the receiving size of WCF service is smaller then the data which is coming from service It was working before because it was small,So you will have to try to increase the receiving setting in your end point,Possible settings can be following maxStringContentLength="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxArrayLength="2147483647" That would definately help you!!!

Set up leprechaun code generation with Sitecore XM Cloud Starterkit

Hi Sitecorians, It has been amazing learning year so far and with the change in technology and shift of the focus on frontend frameworks and composable products, it has been market demand to keep learning and exploring new things. Reasons behind this blog Today's topic is something that was in my draft from April-May, and I always thought that there is already a good documentation out there for  Leprechaun  and a blog post is not needed, Until I realized that there was so many of us facing same kind of issues and same kind of problems and spending same amount of time, That is where I thought, if I could write something which can reduce that repetitive troubleshooting time, That would really help the community. 1)  In a project environment, if we get into some configuration issues, we resolve them, we make sure we are not blocked and continue, but if you think same issue, same step and same scenario will come to other people, so if we can draft it online, it will help othe...

Sitecore Stream - Configure AI capabilities into Sitecore XP using Stream Platform DxP package

Hi Folks, Recently, I delivered a webinar on "Do more in era of less with AI capabilities, Ideation to execution with Sitecore Stream" and I also have a blog around the same which you can read here on  Sitecore Stream - Do more in era of less with AI capabilities, Ideation to execution The purpose of the webinar session and above blog is to first set the tone for reader and audience to understand what Sitecore Stream is and how it operates and what values it can bring in, if possible, I will share the slides too so you can go through it. That session and the blog above were more from how Sitecore Stream is solving marketer's challenges Today, I will be showing you how you can configure the power of stream and its Brand Aware AI capabilities right into your on-prem XP, Why XP is because all other SaaS based (Cloud based) DxP products like XMC, Search, CH already has the power of Stream, So I will show you the steps of configuring Stream into on-prem XP version. Prerequisit...