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

Error in Sitecore 10.3 XM with CDs - Could not find configuration node: database/database[@id='master']

Hi Team, Recently we came across two distinct scenarios with same error message.  1) We started getting below error when we try to hit our layout service API endpoint. If we hit end point of CM, it was working fine and when we try to hit end point of CD it was giving this error, It was clear there is something in backend expecting master DB instead of WEB DB In first scenario my colleague  Jatin  also got same issue while setting up docker instance for 10.3, and my friend  Akshay Barve  and I had the same observation. 2) Second scenario I was having the same exception, It was another project on 10.3 XM with CD, It was one of the migration project so we were migrating from 10.2 to 10.3, Older site was not giving any error but new site the moment we hit, it was giving same exception in the log Issue in second scenario was in site grouping there was only site and both CM and CD URLs were given in host name and had WEB db as database, so basically there was no previ...

Solved !!! - Integrate lotus notes to third parties APP using interop.domino.dll COM API using C#

First of all before writing anything about this integration, i would like to say, i tried...tried..tried...so many times using the COM but couldn't succeeded and there were lot of things which needed to be understood just to make it work, Also the question i had was there is no documentation on IBM for C# COM API, but a good documentation on JAVA and C , so i was also not sure if this DLL would work? or we need some other way like ODBC or xPages or Webservice etc? But i think "In IT, you should read your intuitions, that is where answer lies, because they are shouting from your experience.", Because i noticed that DLL has all the required classes and properties etc. and it has same methods as shown in JAVA docs on IBM, so i was sos sure this is the DLL that would 200% work (i went into this thought process because i tried for 3 days without any luck, and later i found domino also has a web service which can be generated from domino designer etc., if i would have gone o...