SlideShare a Scribd company logo
Sitecore Commerce(XC)
Customization and extension points.
-Jitendra Soni
26th Sep 2020
WHO ISYOUR PRESENTERTODAY?
• 13 + years of IT experience.
• 7+ years Sitecore.
• 8 Sitecore projects.
• 5 Sitecore XP and XC new project.
• Search (Solr, Azure, Coveo and Fusion).
• XC – Version 8.2.1, 9.1,9.2,9.3, 10.0
• Living in Sydney with family.
• Awarded by President of India in 2000
• State level winner for Genius student
award -1996
SOFTWARE DEVELOPMENT PERSONAL
2
• Sitecore certified
• Microsoft Technology Specialist- MCPD
• Coveo Certified Platform Developer
• Google GTM and GA, ecommerce
analytics Certified
• Sitecore Stack Exchange- http://sitecore.stackexchange.com
• Sitecore Community Portal - https://community.sitecore.net/
• Community Docs - https://sitecore-community.github.io/docs/
• Sitecore User group –
• Sitecore User Group Directory
• http://sitecoreug.org/
• http://www.MeetUp.com
• https://www.reddit.com/r/sitecore/wiki/user-groups
3
SITECORE COMMUNITY HOWYOU CAN CONNECT…..
• 10+ years and Sitecore 7+ years
(Active Blogging)
• Sitecore Slack and stack exchange
4
SITECORE COMMUNITY CONNECT…..
AGENDAVIEW.
5
1. Architecture Flow
2. Setup your development environment.
3. Commerce Key Features
• Shopping Cart, Inventory, Orders, Checkout, Entitlement, Pricing, Shops,
Fulfilment, Promotions, Catalog, Payment.
4. Adding properties to Commerce entities
• Code First approach
• Composer Entity.
5. How to extend XC with plugins
• Plugin Architecture and benefits
• Plugins in XC and extension points.
• Example plugin.
ARCHITECTURE FLOW DIAGRAM.
SETUPYOUR DEVELOPMENT ENVIRONMENT
7
TROUBLESHOOTING FOR DEVELOPMENT ENV. SETUP.
1. https://horizontal.blog/2019/02/23/site
core-commerce-engine-debugging-
invalid-request-line/
2. https://www.linkedin.com/in/brijesh-
patel-52b6ab6/?originalSubdomain=in
ADDING PROPERTIESTO COMMERCE ITEMS
https://kb.sitecore.net/articles/083614
1. Adding properties to Commerce items
1. https://kb.sitecore.net/articles/083614
2. https://doc.sitecore.com/users/90/sitecore-experience-
commerce/en/adding-properties-to-commerce-items.html
1. Sitecore Expérience Commerce 9 – Entity Composer
1. https://community.sitecore.net/technical_blogs/b/technical-
marketing/posts/experience-commerce-entity-composer
Démo Time!!
ABOUT PLUG-IN ARCHITECTURES
1. Plug-in architectures are an attractive solution for developers seeking to build
applications that are modular, customizable, and easily extensible. What began as a
clever way to allow third parties to add features to an application without access to
source code has, for many developers, evolved into a full-blown methodology for
application development.
2. Structuring an application as a well-designed host framework and a set of plug-ins
gives you many benefits as an application developer:
3. You can implement and incorporate application features very quickly.
4. Because plug-ins are separate modules with well-defined interfaces, you can quickly
isolate and solve problems.
5. You can create custom versions of an application without source code modifications.
6. Third parties can develop additional features without any effort on the part of the
original application developer.
7. Plug-in interfaces can be used to wrap legacy code written in different languages.
8. End-users also benefit from using applications with a plug-in architecture:
9. They can customize feature sets to particular workflows.
10. They can disable unwanted features, potentially simplifying the application’s user
interface, reducing memory footprint, and improving performance
ABOUT PLUG-IN ARCHITECTURES – CONTINUE..
EXTENSIBILITY POINT - ENTITIES
1. Sitecore.Commerce.Core.CommerceEntity
2. Can be Extended Traditionally or add Components at Runtime
ORDER- ENTITIES
CUSTOMER- ENTITIES
EXTENSIBILITY POINT - COMPONENTS
1. Basic structure for supporting compositional extensibility
2. Only add the components you need, when you need them
3. Even add components at runtime if required.
4. Add/remove components to/from an entity as
5. required.
6. Typically used to trigger business actions
7. Only one type of component is allowed per entity.
EXTENSIBILITY POINT - PIPELINES & PIPELINE BLOCKS
1. Contain the majority of functionality for the engine
2. Bring Entities & Components together
3. Specify a contract defining arguments in & out.
4. Each Pipeline contains a series of Pipeline Blocks
5. Similar in concept to Pipelines & Processors in XP
EXTENSIBILITY POINT - POLICIES
A named, versionable and variable set of data that can be used as facts within behaviors
to influence the functionality of the Engine.
1. Centralized policy store using abstract entity storage.
2. Worker processes only need a link to the policy store to bootstrap.
3. Publish workflow without moving data.
4. Policies are heavily cached and rarely change.
5. Policies can have attached rules to deliver
6. personalized policies.
EXTENSIBILITY POINT - COMMAND
1. A Command represents a single executable Unit of Work
2. Commands are request/response oriented
3. Tokens used for status checking
4. Typically created in Controller to being pipeline execution
5. No Services/Managers in plugins, use commands instead.
EXTENSIBILITY POINT - MINIONS
Asynchronous Task Runner Processes background tasks
1. Order processing
2. Data cleanup
3. Index update
4. Index rebuild
5. Refunds processing
6. Sales Activities processing
SAMPLE PLUGIN – CUSTOM ORDER NUMBER GENERATOR
DEMO!!
SCENARIOS – A FEW SAMPLE REQUIREMENTS
.
1. Extending Sellable Entity to keep additional fields.
2. Extending Order Entity to keep additional field details.
3. Extending Cart entity to keep and track additional details.
4. Inventory extension.
5. Promotion extension
6. Search Functionality – A computed field or SXA extension.
7. Wishlist Functionality.
8. Membership based discounted price.
9. Third Party Payment Integration – Zip Pay, PayUMoney etc.
PROMOTION – CUSTOM QUALIFICATION AND BENEFIT
PROMOTION – CUSTOM QUALIFICATION AND BENEFIT
THANKYOU!
JITUSONIJK@GMAIL.COM
HTTPS://WWW.LINKEDIN.COM/IN/JITENDRA-SONI-58985317/

More Related Content

PPTX
Maintainable Sitecore Solutions
PPTX
SharePoint 2010 farm architecture design infrastructure
PPSX
Introduction to SharePoint 2010
PDF
How the WSO2 App factory can help Manage your Applications
PPTX
Firefox OS intro by Mahir
PPTX
Partying with PHP on Microsoft Internet Information Services 7
PDF
Introducing the WSO2 User Engagement Server
Maintainable Sitecore Solutions
SharePoint 2010 farm architecture design infrastructure
Introduction to SharePoint 2010
How the WSO2 App factory can help Manage your Applications
Firefox OS intro by Mahir
Partying with PHP on Microsoft Internet Information Services 7
Introducing the WSO2 User Engagement Server

Similar to Sitecore user group mumbai sitecore commerce extension (20)

PPT
Sitecore user group chennai
PPTX
Journey to Forge Mastery: Part 1 - Webinar on building a Forge component usi...
PDF
Optimus XPages: An Explosion of Techniques and Best Practices
PPTX
Insights and Monitoring of SharePoint Applications
PDF
Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...
DOC
Sachin Kumar Resume
DOC
PDF
OneWeb: Unifying multi-brand experience management and digital operations wit...
PPTX
Innovations in Sencha Tooling and Framework
DOC
Chinnasamy Manickam
PPTX
SharePoint 2013 Dev Features
PPTX
Developing with Sitecore Personalize SDK.pptx
PDF
OCTO On-Site Off-Site Update on D8 Roadmap
PDF
Oshyn - Best Practices For Sitecore CMS
PDF
Oshyn Best Practices For Sitecore CMS
PPTX
Mule ESB Intro
PDF
Architecting for Hyper Growth and Great Engineering Culture
PDF
Architecting for Huper Growth and Great Engineering Culture
PPTX
final_Copy_of Googles Tech_winter_break.pptx
PDF
Presenting Data – An Alternative to the View Control
Sitecore user group chennai
Journey to Forge Mastery: Part 1 - Webinar on building a Forge component usi...
Optimus XPages: An Explosion of Techniques and Best Practices
Insights and Monitoring of SharePoint Applications
Sitecore 9.2 new features for SUGMEA - Presented by Naresh Geepalem of Horizo...
Sachin Kumar Resume
OneWeb: Unifying multi-brand experience management and digital operations wit...
Innovations in Sencha Tooling and Framework
Chinnasamy Manickam
SharePoint 2013 Dev Features
Developing with Sitecore Personalize SDK.pptx
OCTO On-Site Off-Site Update on D8 Roadmap
Oshyn - Best Practices For Sitecore CMS
Oshyn Best Practices For Sitecore CMS
Mule ESB Intro
Architecting for Hyper Growth and Great Engineering Culture
Architecting for Huper Growth and Great Engineering Culture
final_Copy_of Googles Tech_winter_break.pptx
Presenting Data – An Alternative to the View Control
Ad

More from Jitendra Soni (9)

PPTX
SUGCON ANZ 2022 Sitecore Personalize Technical.pptx
PPTX
Sitecore MC best practices for DR and HA.pptx
PPTX
Sitecore sxa best practices and secrets 29th june 2021
PPTX
Sitecore 10 - ASP.NET Core Rendering with Docker and Sitecore 10
PPTX
Sitecore 10 asp.net core rendering with docker - 21st Nov 2020
PPT
Siteocre Sxa and Solr - Sitecore User Group UAE Dubai- Jitendra Soni
PPT
Siteocre Sxa and Solr - Sitecore User Group Bangalore -
PPTX
Solid principle 1-single responsibility principle (srp)
PPTX
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
SUGCON ANZ 2022 Sitecore Personalize Technical.pptx
Sitecore MC best practices for DR and HA.pptx
Sitecore sxa best practices and secrets 29th june 2021
Sitecore 10 - ASP.NET Core Rendering with Docker and Sitecore 10
Sitecore 10 asp.net core rendering with docker - 21st Nov 2020
Siteocre Sxa and Solr - Sitecore User Group UAE Dubai- Jitendra Soni
Siteocre Sxa and Solr - Sitecore User Group Bangalore -
Solid principle 1-single responsibility principle (srp)
Sitecore9 key features by jitendra soni - Presented in Sitecore User Group UK
Ad

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
Machine learning based COVID-19 study performance prediction
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Approach and Philosophy of On baking technology
PDF
KodekX | Application Modernization Development
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation theory and applications.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
20250228 LYD VKU AI Blended-Learning.pptx
Spectral efficient network and resource selection model in 5G networks
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Machine learning based COVID-19 study performance prediction
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
Building Integrated photovoltaic BIPV_UPV.pdf
Approach and Philosophy of On baking technology
KodekX | Application Modernization Development
“AI and Expert System Decision Support & Business Intelligence Systems”
Understanding_Digital_Forensics_Presentation.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Dropbox Q2 2025 Financial Results & Investor Presentation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
Mobile App Security Testing_ A Comprehensive Guide.pdf

Sitecore user group mumbai sitecore commerce extension

  • 1. Sitecore Commerce(XC) Customization and extension points. -Jitendra Soni 26th Sep 2020
  • 2. WHO ISYOUR PRESENTERTODAY? • 13 + years of IT experience. • 7+ years Sitecore. • 8 Sitecore projects. • 5 Sitecore XP and XC new project. • Search (Solr, Azure, Coveo and Fusion). • XC – Version 8.2.1, 9.1,9.2,9.3, 10.0 • Living in Sydney with family. • Awarded by President of India in 2000 • State level winner for Genius student award -1996 SOFTWARE DEVELOPMENT PERSONAL 2 • Sitecore certified • Microsoft Technology Specialist- MCPD • Coveo Certified Platform Developer • Google GTM and GA, ecommerce analytics Certified
  • 3. • Sitecore Stack Exchange- http://sitecore.stackexchange.com • Sitecore Community Portal - https://community.sitecore.net/ • Community Docs - https://sitecore-community.github.io/docs/ • Sitecore User group – • Sitecore User Group Directory • http://sitecoreug.org/ • http://www.MeetUp.com • https://www.reddit.com/r/sitecore/wiki/user-groups 3 SITECORE COMMUNITY HOWYOU CAN CONNECT…..
  • 4. • 10+ years and Sitecore 7+ years (Active Blogging) • Sitecore Slack and stack exchange 4 SITECORE COMMUNITY CONNECT…..
  • 5. AGENDAVIEW. 5 1. Architecture Flow 2. Setup your development environment. 3. Commerce Key Features • Shopping Cart, Inventory, Orders, Checkout, Entitlement, Pricing, Shops, Fulfilment, Promotions, Catalog, Payment. 4. Adding properties to Commerce entities • Code First approach • Composer Entity. 5. How to extend XC with plugins • Plugin Architecture and benefits • Plugins in XC and extension points. • Example plugin.
  • 8. TROUBLESHOOTING FOR DEVELOPMENT ENV. SETUP. 1. https://horizontal.blog/2019/02/23/site core-commerce-engine-debugging- invalid-request-line/ 2. https://www.linkedin.com/in/brijesh- patel-52b6ab6/?originalSubdomain=in
  • 9. ADDING PROPERTIESTO COMMERCE ITEMS https://kb.sitecore.net/articles/083614 1. Adding properties to Commerce items 1. https://kb.sitecore.net/articles/083614 2. https://doc.sitecore.com/users/90/sitecore-experience- commerce/en/adding-properties-to-commerce-items.html 1. Sitecore Expérience Commerce 9 – Entity Composer 1. https://community.sitecore.net/technical_blogs/b/technical- marketing/posts/experience-commerce-entity-composer Démo Time!!
  • 10. ABOUT PLUG-IN ARCHITECTURES 1. Plug-in architectures are an attractive solution for developers seeking to build applications that are modular, customizable, and easily extensible. What began as a clever way to allow third parties to add features to an application without access to source code has, for many developers, evolved into a full-blown methodology for application development. 2. Structuring an application as a well-designed host framework and a set of plug-ins gives you many benefits as an application developer: 3. You can implement and incorporate application features very quickly. 4. Because plug-ins are separate modules with well-defined interfaces, you can quickly isolate and solve problems. 5. You can create custom versions of an application without source code modifications. 6. Third parties can develop additional features without any effort on the part of the original application developer. 7. Plug-in interfaces can be used to wrap legacy code written in different languages. 8. End-users also benefit from using applications with a plug-in architecture: 9. They can customize feature sets to particular workflows. 10. They can disable unwanted features, potentially simplifying the application’s user interface, reducing memory footprint, and improving performance
  • 11. ABOUT PLUG-IN ARCHITECTURES – CONTINUE..
  • 12. EXTENSIBILITY POINT - ENTITIES 1. Sitecore.Commerce.Core.CommerceEntity 2. Can be Extended Traditionally or add Components at Runtime
  • 15. EXTENSIBILITY POINT - COMPONENTS 1. Basic structure for supporting compositional extensibility 2. Only add the components you need, when you need them 3. Even add components at runtime if required. 4. Add/remove components to/from an entity as 5. required. 6. Typically used to trigger business actions 7. Only one type of component is allowed per entity.
  • 16. EXTENSIBILITY POINT - PIPELINES & PIPELINE BLOCKS 1. Contain the majority of functionality for the engine 2. Bring Entities & Components together 3. Specify a contract defining arguments in & out. 4. Each Pipeline contains a series of Pipeline Blocks 5. Similar in concept to Pipelines & Processors in XP
  • 17. EXTENSIBILITY POINT - POLICIES A named, versionable and variable set of data that can be used as facts within behaviors to influence the functionality of the Engine. 1. Centralized policy store using abstract entity storage. 2. Worker processes only need a link to the policy store to bootstrap. 3. Publish workflow without moving data. 4. Policies are heavily cached and rarely change. 5. Policies can have attached rules to deliver 6. personalized policies.
  • 18. EXTENSIBILITY POINT - COMMAND 1. A Command represents a single executable Unit of Work 2. Commands are request/response oriented 3. Tokens used for status checking 4. Typically created in Controller to being pipeline execution 5. No Services/Managers in plugins, use commands instead.
  • 19. EXTENSIBILITY POINT - MINIONS Asynchronous Task Runner Processes background tasks 1. Order processing 2. Data cleanup 3. Index update 4. Index rebuild 5. Refunds processing 6. Sales Activities processing
  • 20. SAMPLE PLUGIN – CUSTOM ORDER NUMBER GENERATOR DEMO!!
  • 21. SCENARIOS – A FEW SAMPLE REQUIREMENTS . 1. Extending Sellable Entity to keep additional fields. 2. Extending Order Entity to keep additional field details. 3. Extending Cart entity to keep and track additional details. 4. Inventory extension. 5. Promotion extension 6. Search Functionality – A computed field or SXA extension. 7. Wishlist Functionality. 8. Membership based discounted price. 9. Third Party Payment Integration – Zip Pay, PayUMoney etc.
  • 22. PROMOTION – CUSTOM QUALIFICATION AND BENEFIT
  • 23. PROMOTION – CUSTOM QUALIFICATION AND BENEFIT