Welcome! This is my personal blog about Web technologies, software development, open source and other related topics
The ideas and opinions expressed here are solely mine and don't represent those of others, either individuals or companies.The code snippets or references to software products or analogous are to be used without any warranty of any kind. If you enjoy the content, feel free to share it and re-use it as long as you provide a link to the original post.
Voluntarily contributing your time, energy and skills to the community and help customers succeed and be a part of their growth is all that matters. I believe going above and beyond to achieve expertise in whatever you are doing and giving back to community however small it may be is the key to grow together and when these efforts are recognized it inspires the community to continue their good work.
Happy to share that I have been recognized as 2021 Sitecore MVP.
Sitecore recognizes professionals who deliver outstanding customer experiences through shared expertise on Sitecore’s products, the 2021 MVP program draws from a community of 12,000 certified developers and over 20,000 active participants. This year’s 284 MVPs contributed invaluable knowledge to the community in 2020 and demonstrated true mastery of the Sitecore platform to support partners, customers and prospects.
Sitecore Commerce supports integration to the third-part system and customization and extension to the OOTB entities. This can be achieved by custom plugins.
If you are migrating your code from XC 9.x version to XC 10 you will have to update the code to newest API’s provided with XC. Following is the list of breaking changes if migrating from older versions or good to know if you are starting with the new XC 10 solution.
Wrappers to PipelineBlock
Commerce Engine uses pipeline framework to support extensibility. Pipelines act as a containers for business logic. Commerce pipeline consists of a block which has a detailed business logic.
With Sitecore 10 PipelineBlock are now wrapped with AsyncPipeline and SyncPipeline. So if you have your code using PipelineBlock it should be using Run method to execute the block you may have injected to pipeline.
AsyncPipelineBlock
If block needs to be executed Asynchronously use AsyncPipelineBlock. Also the method name changes to RunAsync()
SyncPipelineBlock
If block needs to be executed Synchronously use SyncPipelineBlock. The method name used to execute block is Run()
ConfigureServiceApiBlock also now uses SyncPipelineBlock
2. IPipeline RunAsync() method
IPipeline interface method is changed from Run to RunAsync() which now makes sense as the method is asynchronous operation.
So where are the changes you might need to make, some of the pipelines that is used frequently and need change are listed below-
IFindEntityPipeline
IFindEntitiesInListPipeline
IFindEntitiesPipeline
IPersistEntityPipeline
Any custom pipeline and list goes on…
Api Controller
Commerce api controller exposes the endpoint to communicate from FE or Commerce Connect to Commerce Engine. You can create custom endpoint and the api controller inherited from class CommerceController.
With XC 10.x the class file to inherit for same is CommerceODataController