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

High CPU to completely normal CPU - SXA issue, SXA pages not loading in mobile device

  Hi Team, Today i am going to share one of the nightmarish issue with you all, We are having Sitecore 9.1.1 hosted in azure PaaS environment Our site was working just fine and no noise, but we have been working on a feature release where 7-8 months of development needed to be released to production, Big GO LIVE event right?  Also to make the development smoother we also introduced BLUE/GREEN deployment slots in the same release, so we can easily SWAP slots and go live Everything went well, we went live, we even did load and performance testing on our staging and pre-prod and we were confident enough of results Very next day we started getting "SITE DOWN" alerts, and also product owners and clients mentioned that site is very slow for them in US time and in our morning when we were accessing it, it was working lighting fast so we were clue less at start, but we started digging  1) First thing caught our eyes were HIGH CPU spikes, in US time, also without any traffic CPU u...

One or more exceptions occurred while processing the subscribers to the 'item:creating' event

I was recently installing the packages from one of the QA environment to my local Sitecore instance, "Media library package" to be precise, And it started giving me this below error One or more exceptions occurred while processing the subscribers to the 'item:creating' event Looking at the sitecore logs, it gave me more info on the context and the actual inner exception was following Solution: 'Name' should consist only of letters, digits, dashes or underscore Now it was evident that some of my file names were violating the naming rule, I could see in the log just before exception from where the installer stopped creating items, and that file name had round braces "(" and ")" at the end of it, with my surprise I was able to create the item with those name in the content tree, but below was the solution for it, Solution I am using SC 9.0.1 and in that Go to Sitecore.Marketing.config file residing in "App_Config\Sitecore\Mar...

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!!!