Catalog Synchronization From Microsoft Dynamics Update1 version

In my previous blog post, I mentioned the update1 release has some changes. So this post is a summary on what's new/different in the update1 release.

Below are the highlight of difference between initial release and update1:

  1. The Sitecore webAPI is not being used for routing code to access Sitecore items. Instead it is using Sitecore services client API in update1. Due to the security requirement/limitation of this API, the routing service (or console app) has to be run on the same machine as Sitecore is installed.
  2. The routing service supports incremental export of catalog from AX in update1. In initial release, all the catalog exports are full sync. By default, it is configured to use incremental sync (“Routes” for /sitecore/Commerce/Commerce Synchronization/Commerce Routes/Route Requests/Contoso Commerce Route Request is selected with /sitecore/Commerce/Commerce Synchronization/Commerce Routes/Route_SyncSitecoreCommerceChannel). If you want switch to full sync (for every execution), you can select  /sitecore/Commerce/Commerce Synchronization/Commerce Routes/Route_FullSyncSitecoreCommerceChannel instead. Or if you just want trigger one time full sync while still stay with incremental for most of the time, you can leave the default setting and  clean the “Synchronization Token” under /sitecore/Commerce/Dynamics Routing Extensions/Commerce Endpoints/Azure Contoso Commerce Endpoint - Dynamics Retail Crt
  3. The routing related Sitecore items have been cleaned up and re-organized a bit. So the paths exist in initial release might not in the same places in update1. Some important paths are:
  4. /sitecore/Commerce/Dynamics Routing Extensions/Commerce Endpoints/Azure Contoso Commerce Endpoint - Dynamics Retail Crt: This is the place you specify the AX channel info (SQL server, DB name, Port , Auth account, ChannelID etc.)
  5. /sitecore/Commerce/Commerce Synchronization/Commerce Routes/Route Requests/Contoso Commerce Route Request: This is the starting point of routing service/task. Each time it runs, it sets the “Requested At” timestamp and once it finishes, it sets “Last Run”. Also the log items are written under its “Request History” sub-node.
  6. /sitecore/Commerce/Dynamics Routing Extensions/Commerce Endpoints/Endpoint_FileSystem_Contoso_Dev_Working: This is the place you define where the generated catalog XML will be saved. And what is the name of your commerce server site – explained in the next point.
  7. After routing service gets catalog from AX and generates the XML file, it uses In Proc mode to import the file now in update1. In the initial release, it uses web service mode. Therefore the web service URL insdie the app.config, although still there, is not being used anymore. Instead, you need specify your CS site name in the “Commerce Site” filed under /sitecore/Commerce/Commerce Synchronization/Commerce Endpoints/Endpoint_SitecoreCommerceAgent_Sample

The CURRENT official deployment guide is inside the “Sitecore Commerce powered by Microsoft Dynamics and Sitecore Commerce powered by Commerce Server Sitecore Commerce Deployment Guide”. I recommend follow below order:

  • First section of “6.5 Building a Single Server SCpbMD deployment”
  • Then section “7.2 SCpbMD Reference Storefront”.
  • After the deployment of the packages mentioned in previous sections, follow “5.4 Sitecore Commerce powered by Microsoft Dynamics (SCpbMD)” to configure the related Sitecore items in the content editor.

It is a bit confusing though as you may get different merge files (to merge needed settings into web.config of your Sitecore install) following the deployment steps:

  1. Merge.CommerceServer.config after deploy SCpbCS (inside Sitecore Commerce Server Connect 8.0 rev. which is pre-req for SCpbMD
  2. Merge.DynamicsRetail.Connect.config after deploy SCpbMD (inside Sitecore.Commerce.DynamicsIntegration.Connect.
  3. Merge.Commerce.Storefront.config after deploy Reference Storefront Site (RefSF). Since we have RefSF for SCpbCS and SCpbMD, the merge files inside different version are also different

Even you are not planning to use the RefSF, I highly recommend you still deploy its update package and uses its merge file. Most of the product tests were based on RefSF and assumes all the files/settings from it are present. Indeed,  there are files/settings required by routing service are only included inside RefSF package. If you are using the merge file from RefSF, you don’t need to use the ones from SCpbCS and SCpbMD.

Besides, if you have other resources than catalog deployed under your Commerce Server site, the cache refresh step (after import catalog) might fail for authentication. You can delete the other resources, only catalog resource is being used by the OOB integration of SCpbMD , or manually refresh the cache after the error.

Ok, good luck and enjoy your deployment ;-)