SlideShare a Scribd company logo
1 of 30
Episerver
Commerce
The good, the bad and the ugly
Scott Reed
Development Director
EMVP
https://www.linkedin.com/in/scottreed84/
Contoso
S u i t e s
An Overview of
Episerver
Commerce
2
Contoso
S u i t e s
Episerver Commerce is a complete digital
commerce suite that has the industry’s
highest ROI.
It has everything you need to manage
catalogues, orders, customer data and
payments across regions. The solution also
helps you easily provide better experiences.
You can seamlessly combine content and
product information, and automatically
personalize journeys using artificial
intelligence.
What is it?
3
Episerver
Total Economic Impact™ | Episerver versus the Competition
Content management effort
reduction savings:
$1.1 million
Episerver on Microsoft Azure
savings over on-premises:
$875 thousand
Incremental revenue
uplift:
$4.6 million
Subscription and
conversion costs:
$1.2 million
Forrester interviewed 6 customers and found a composite
experienced benefits of $6.5M over 3 years versus costs of
$1.2M, delivering a net present value of $5.3M and a
443% return on investment (ROI) with a payback under 6
months
Source: Forrester Consulting, August 2018
Contoso
S u i t e s
Solution
Overview
Project structure within an standard CMS and
Episerver Commerce setup.
5
CMS
Commerce
ASP.NET Project
ASP.NET Project
• Catalogue Management
• Marketing
• Customer/Orders (BETA)
• Customer Management
• Markets
• Order Management
• Admin & Configuration
Contoso
S u i t e s
Catalogue View
Gives the ability to manage categories, products and variants.
6
Good
• Familiar CMS View
• Supports Drag and
Drop
• Reordering & Filtering
• Pricing & Inventory
Bad
• Sometimes Buggy/Slow
• Direct Saving
• Poor Block Support
• Weird Asset System
Contoso
S u i t e s
Marketing View
Allows for campaign and discounts to be set up for items, orders and shipping.
7
Good
• Nice interface
• Ability to exclude combinations
• Easy to extend in code
Bad
• Exclusions in a weird place
Contoso
S u i t e s
Commerce Application – The Good
For managing customer, carts, purchase orders, markets and settings such as meta data.
8
System Features
• Markets
• Warehouses
• Payments
• Tax
• Shipping
Order Features
• Carts (Serializable)
• Customer Data
• Purchase Orders
• Delivery Options
• Admin Searching Carts/POs
Contoso
S u i t e s
Commerce Application – The Bad, and the Ugly
For managing customer, carts, purchase orders, markets and settings such as meta data.
9
• Slow
• Ugly
• Leftover Features
• Confusing Navigation
• Hard to extend
• Catalogue Manager Oddities
Contoso
S u i t e s
However…Customer Service UI (Beta)
Replacing a lot of what we had in the commerce application with shiny UI.
10
Contoso
S u i t e s
Core Features
11
Contoso
S u i t e s
Markets
Allows for grouping of countries, languages and currencies in to unique combinations. These can then be used against to
products, pricing and campaigns to show different content to different markets.
12
Contoso
S u i t e s
Warehouses
Allows for the configuration of locations that will store inventory. Can be physical, pickup points or online warehouses.
13
• Pretty Easy to Set up
• Multiple types of warehouse
Contoso
S u i t e s
Shipping
14
Jurisdiction Group
Jurisdiction
Configurate shipping providers, methods a and groups for showing correct shipping options
Provider
SingleBasketShippingProvider: IShippingPlugin, IShippingGateway
Contoso
S u i t e s
Payments
Configures payment providers allows in a cart process for each market.
15
• Allows you to create your own payment handlers
• Allows for custom parameters for config
• Allows filtering for different shipping methods
Contoso
S u i t e s
Tax
Configures tax and tax jurisdiction for cart processing.
16
Contoso
S u i t e s
Orders
Management of carts and purchase orders.
17
• Lots of views/reports
• Functionary often a little hidden /
hard to find
• Difficult to customize
• Migrating to the CSR (yay)
Developer Tips
Contoso
S u i t e s
Catalogue
Modelling the catalogue and working within the editing interface
19
• Think about the structure and the names ahead of time.
• Model the catalogue as the meta system does not sync well (OOTB).
• Try not to have multiple catalogues if requiring different routes
• Add asset images for catalogue icons
• Understand which parts instantly save and
the impact
• Remove the catalogue name using the
HierarchicalCatalogPartialRouter
Contoso
S u i t e s
Cart
Working with the inbuilt cart data structure and workflow
20
• Always write code to work of ICart to support any cart current or existing.
• Be careful when calling cart.ApplyDiscounts() as once apply to the cart for the rest of it’s life.
• When running cart validation or editing validation make sure to run them in the correct order
• Make sure you have the correct inventory Tracked value set on the Variant
• Ignore the cart searching features if using the Serialized Cart
• Make sure to use your own custom payment provider when creating the payment object
Contoso
S u i t e s
Orders
Handling orders across carts and purchase orders
21
• Be aware of the different between the ICart implementations
• Make sure you thoroughly check breaking changes on Commerce Upgrades
• Make sure to set the address ID to a unique value when creating an Order
• Specifically work with a PurchaseOrder type
• Be aware that Tax recalculates when you load and resave a PO
• Use the default WishList type for a wishlist. Be aware that cart cleaning ignores this only.
• Be careful with rounding on Tax
• Be aware that the default shipping Helper does not handle shipping discounts out of the box
Contoso
S u i t e s
Implementing Modules
Replacing default implementations with custom logic
22
• Make sure to look at the reference implementation by Decompiling the assembly
• Restart the environment to make sure the code is picked up
• Make sure to register any new modules the DI framework
• Unit test modules as much as possible
Contoso
S u i t e s
Meta Fields
Extending inbuilt types with extra data (carts, purchase orders, line items, addresses etc)
23
• Configured in Commerce Manager
• Does not have a code sync feature out of the box
• Difficult to maintain across environments
• Cart & Purchase Order types mis-matched (Money type)
• Purchase Order Conversion Issues
• It’s Hard to delete meta fields
• Use XML meta export/import
Contoso
S u i t e s
Database
The database, dynamic and powerful.
24
• Learn the structure of the database (Cart changes)
• Profile stored procedures such as the Order search
• Don’t be afraid to create your own queries
• Consider direct database work for importing bypassing APIs
• Be aware that the database generates dynamic tables when things change
• For DXC support readonly mode for failover
Contoso
S u i t e s
Importing & Syncing Data
Syncing catalogue data - considerations
25
• Consider the size of the data that you are syncing
• We aware of using scheduled jobs for large datasets
• If using scheduled jobs support cancellation and updates for admin users.
• Be aware of XML and CSV import mechanisms
• Speed up imports via code by disabling find indexing an reindexing after
• For future catalogues Azure WebJobs are coming!!
Contoso
S u i t e s
Tips
Tips from a developer who learnt the hard way
26
• Set up and refer to quicksilver always for any issues https://github.com/episerver/Quicksilver
• Make sure you thoroughly check breaking changes on Commerce Upgrades
• Upgrade to the latest wherever possible (Else Quan Mai will get angry)
• Ignore blocks where possible for Commerce or use Global shared blocks
• Logs issues everywhere & create admin tools to identify issues
• Post on Episerver world and wait for Quan Mai to get back to you (buy his book)
• Create helper libraries for accessing Commerce code
• Ignore the publish flag in Commerce manager for the catalogue
Contoso
S u i t e s
27
Latest Features (V12)
• Support personalization service 1.4 for improved GDPR support
• CSR UI Beta – Replacement
• The ability to copy discounts in the marketing section
• MarketId, MarketName, and PricesIncludeTax added to IOrderGrop (Imarket obsoleted)
• Calculators have been restructured for efficiency
• Calculators do not recalculate when order have no changes
• New rounding strategy performs all promotion calculations with full precision and rounds only once
• Ability to select multiple markets for a marketing campaign
• Multiple data collection updates for reporting.
Contoso
S u i t e s
28
Roadmap
Scott Reed
Development Director
EMVP
https://www.linkedin.com/in/scottreed84/

More Related Content

Similar to Episerver commerce 2019 developer meetup

Wall Street Derivative Risk Solutions Using Apache Geode
Wall Street Derivative Risk Solutions Using Apache GeodeWall Street Derivative Risk Solutions Using Apache Geode
Wall Street Derivative Risk Solutions Using Apache GeodeAndre Langevin
 
Wall Street Derivative Risk Solutions Using Geode
Wall Street Derivative Risk Solutions Using GeodeWall Street Derivative Risk Solutions Using Geode
Wall Street Derivative Risk Solutions Using GeodeVMware Tanzu
 
Enterprise Level Integration for the Mid-Market
Enterprise Level Integration for the Mid-Market Enterprise Level Integration for the Mid-Market
Enterprise Level Integration for the Mid-Market Zach Gardner
 
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solution
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solutionThe Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solution
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solutionAtwix
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBMongoDB
 
Connecting the odds in the brave world! Sitecore Commerce Connect
Connecting the odds in the brave world!Sitecore Commerce ConnectConnecting the odds in the brave world!Sitecore Commerce Connect
Connecting the odds in the brave world! Sitecore Commerce Connectsuneco_nl
 
Choosing the Right E-commerce Solution
Choosing the Right E-commerce SolutionChoosing the Right E-commerce Solution
Choosing the Right E-commerce SolutionDr Matt McDougall
 
Introducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformIntroducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformAdrian IORGU
 
Shop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterShop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterAmrit Timalsina
 
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...Rittman Analytics
 
Elasticsearch @ ShopWiki 2014-03-20
Elasticsearch @ ShopWiki 2014-03-20Elasticsearch @ ShopWiki 2014-03-20
Elasticsearch @ ShopWiki 2014-03-20Rob Stewart
 
Unify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceUnify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceMongoDB
 
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...Building Blocks
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseRubedo, a WebTales solution
 
AspDotNetStorefront Multi store - Making Good Architecture Decisions
AspDotNetStorefront Multi store - Making Good Architecture DecisionsAspDotNetStorefront Multi store - Making Good Architecture Decisions
AspDotNetStorefront Multi store - Making Good Architecture DecisionsMatthew Bertulli
 
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionEnterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionDmitry Anoshin
 

Similar to Episerver commerce 2019 developer meetup (20)

Wall Street Derivative Risk Solutions Using Apache Geode
Wall Street Derivative Risk Solutions Using Apache GeodeWall Street Derivative Risk Solutions Using Apache Geode
Wall Street Derivative Risk Solutions Using Apache Geode
 
Wall Street Derivative Risk Solutions Using Geode
Wall Street Derivative Risk Solutions Using GeodeWall Street Derivative Risk Solutions Using Geode
Wall Street Derivative Risk Solutions Using Geode
 
snu-FedNXT.pptx
snu-FedNXT.pptxsnu-FedNXT.pptx
snu-FedNXT.pptx
 
Enterprise Level Integration for the Mid-Market
Enterprise Level Integration for the Mid-Market Enterprise Level Integration for the Mid-Market
Enterprise Level Integration for the Mid-Market
 
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solution
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solutionThe Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solution
The Сonsumerization of Сorporate Сommerce | Imagine 2013 Business solution
 
Prepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDBPrepare for Peak Holiday Season with MongoDB
Prepare for Peak Holiday Season with MongoDB
 
Connecting the odds in the brave world! Sitecore Commerce Connect
Connecting the odds in the brave world!Sitecore Commerce ConnectConnecting the odds in the brave world!Sitecore Commerce Connect
Connecting the odds in the brave world! Sitecore Commerce Connect
 
Ecommerce Solutions (China & West)
Ecommerce Solutions (China & West)Ecommerce Solutions (China & West)
Ecommerce Solutions (China & West)
 
Choosing the Right E-commerce Solution
Choosing the Right E-commerce SolutionChoosing the Right E-commerce Solution
Choosing the Right E-commerce Solution
 
Introducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience PlatformIntroducing Sitecore - The Experience Platform
Introducing Sitecore - The Experience Platform
 
Shop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semesterShop24 Presentation Slide sixth semester
Shop24 Presentation Slide sixth semester
 
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
Budapest Data Forum 2017 - BigQuery, Looker And Big Data Analytics At Petabyt...
 
Elasticsearch @ ShopWiki 2014-03-20
Elasticsearch @ ShopWiki 2014-03-20Elasticsearch @ ShopWiki 2014-03-20
Elasticsearch @ ShopWiki 2014-03-20
 
Unify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog ServiceUnify Your Selling Channels in One Product Catalog Service
Unify Your Selling Channels in One Product Catalog Service
 
Oracle APEX
Oracle APEXOracle APEX
Oracle APEX
 
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...
Tackling 8 Digital Challenges of the Agrochemical, Industrial & Specialty Che...
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entreprise
 
Inforln.com Baan 4 to LN Differences Training - Multisite & Common Data
Inforln.com Baan 4 to LN Differences Training - Multisite & Common DataInforln.com Baan 4 to LN Differences Training - Multisite & Common Data
Inforln.com Baan 4 to LN Differences Training - Multisite & Common Data
 
AspDotNetStorefront Multi store - Making Good Architecture Decisions
AspDotNetStorefront Multi store - Making Good Architecture DecisionsAspDotNetStorefront Multi store - Making Good Architecture Decisions
AspDotNetStorefront Multi store - Making Good Architecture Decisions
 
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical SolutionEnterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
Enterprise Data World 2018 - Building Cloud Self-Service Analytical Solution
 

Recently uploaded

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Episerver commerce 2019 developer meetup

  • 1. Episerver Commerce The good, the bad and the ugly Scott Reed Development Director EMVP https://www.linkedin.com/in/scottreed84/
  • 2. Contoso S u i t e s An Overview of Episerver Commerce 2
  • 3. Contoso S u i t e s Episerver Commerce is a complete digital commerce suite that has the industry’s highest ROI. It has everything you need to manage catalogues, orders, customer data and payments across regions. The solution also helps you easily provide better experiences. You can seamlessly combine content and product information, and automatically personalize journeys using artificial intelligence. What is it? 3
  • 4. Episerver Total Economic Impact™ | Episerver versus the Competition Content management effort reduction savings: $1.1 million Episerver on Microsoft Azure savings over on-premises: $875 thousand Incremental revenue uplift: $4.6 million Subscription and conversion costs: $1.2 million Forrester interviewed 6 customers and found a composite experienced benefits of $6.5M over 3 years versus costs of $1.2M, delivering a net present value of $5.3M and a 443% return on investment (ROI) with a payback under 6 months Source: Forrester Consulting, August 2018
  • 5. Contoso S u i t e s Solution Overview Project structure within an standard CMS and Episerver Commerce setup. 5 CMS Commerce ASP.NET Project ASP.NET Project • Catalogue Management • Marketing • Customer/Orders (BETA) • Customer Management • Markets • Order Management • Admin & Configuration
  • 6. Contoso S u i t e s Catalogue View Gives the ability to manage categories, products and variants. 6 Good • Familiar CMS View • Supports Drag and Drop • Reordering & Filtering • Pricing & Inventory Bad • Sometimes Buggy/Slow • Direct Saving • Poor Block Support • Weird Asset System
  • 7. Contoso S u i t e s Marketing View Allows for campaign and discounts to be set up for items, orders and shipping. 7 Good • Nice interface • Ability to exclude combinations • Easy to extend in code Bad • Exclusions in a weird place
  • 8. Contoso S u i t e s Commerce Application – The Good For managing customer, carts, purchase orders, markets and settings such as meta data. 8 System Features • Markets • Warehouses • Payments • Tax • Shipping Order Features • Carts (Serializable) • Customer Data • Purchase Orders • Delivery Options • Admin Searching Carts/POs
  • 9. Contoso S u i t e s Commerce Application – The Bad, and the Ugly For managing customer, carts, purchase orders, markets and settings such as meta data. 9 • Slow • Ugly • Leftover Features • Confusing Navigation • Hard to extend • Catalogue Manager Oddities
  • 10. Contoso S u i t e s However…Customer Service UI (Beta) Replacing a lot of what we had in the commerce application with shiny UI. 10
  • 11. Contoso S u i t e s Core Features 11
  • 12. Contoso S u i t e s Markets Allows for grouping of countries, languages and currencies in to unique combinations. These can then be used against to products, pricing and campaigns to show different content to different markets. 12
  • 13. Contoso S u i t e s Warehouses Allows for the configuration of locations that will store inventory. Can be physical, pickup points or online warehouses. 13 • Pretty Easy to Set up • Multiple types of warehouse
  • 14. Contoso S u i t e s Shipping 14 Jurisdiction Group Jurisdiction Configurate shipping providers, methods a and groups for showing correct shipping options Provider SingleBasketShippingProvider: IShippingPlugin, IShippingGateway
  • 15. Contoso S u i t e s Payments Configures payment providers allows in a cart process for each market. 15 • Allows you to create your own payment handlers • Allows for custom parameters for config • Allows filtering for different shipping methods
  • 16. Contoso S u i t e s Tax Configures tax and tax jurisdiction for cart processing. 16
  • 17. Contoso S u i t e s Orders Management of carts and purchase orders. 17 • Lots of views/reports • Functionary often a little hidden / hard to find • Difficult to customize • Migrating to the CSR (yay)
  • 19. Contoso S u i t e s Catalogue Modelling the catalogue and working within the editing interface 19 • Think about the structure and the names ahead of time. • Model the catalogue as the meta system does not sync well (OOTB). • Try not to have multiple catalogues if requiring different routes • Add asset images for catalogue icons • Understand which parts instantly save and the impact • Remove the catalogue name using the HierarchicalCatalogPartialRouter
  • 20. Contoso S u i t e s Cart Working with the inbuilt cart data structure and workflow 20 • Always write code to work of ICart to support any cart current or existing. • Be careful when calling cart.ApplyDiscounts() as once apply to the cart for the rest of it’s life. • When running cart validation or editing validation make sure to run them in the correct order • Make sure you have the correct inventory Tracked value set on the Variant • Ignore the cart searching features if using the Serialized Cart • Make sure to use your own custom payment provider when creating the payment object
  • 21. Contoso S u i t e s Orders Handling orders across carts and purchase orders 21 • Be aware of the different between the ICart implementations • Make sure you thoroughly check breaking changes on Commerce Upgrades • Make sure to set the address ID to a unique value when creating an Order • Specifically work with a PurchaseOrder type • Be aware that Tax recalculates when you load and resave a PO • Use the default WishList type for a wishlist. Be aware that cart cleaning ignores this only. • Be careful with rounding on Tax • Be aware that the default shipping Helper does not handle shipping discounts out of the box
  • 22. Contoso S u i t e s Implementing Modules Replacing default implementations with custom logic 22 • Make sure to look at the reference implementation by Decompiling the assembly • Restart the environment to make sure the code is picked up • Make sure to register any new modules the DI framework • Unit test modules as much as possible
  • 23. Contoso S u i t e s Meta Fields Extending inbuilt types with extra data (carts, purchase orders, line items, addresses etc) 23 • Configured in Commerce Manager • Does not have a code sync feature out of the box • Difficult to maintain across environments • Cart & Purchase Order types mis-matched (Money type) • Purchase Order Conversion Issues • It’s Hard to delete meta fields • Use XML meta export/import
  • 24. Contoso S u i t e s Database The database, dynamic and powerful. 24 • Learn the structure of the database (Cart changes) • Profile stored procedures such as the Order search • Don’t be afraid to create your own queries • Consider direct database work for importing bypassing APIs • Be aware that the database generates dynamic tables when things change • For DXC support readonly mode for failover
  • 25. Contoso S u i t e s Importing & Syncing Data Syncing catalogue data - considerations 25 • Consider the size of the data that you are syncing • We aware of using scheduled jobs for large datasets • If using scheduled jobs support cancellation and updates for admin users. • Be aware of XML and CSV import mechanisms • Speed up imports via code by disabling find indexing an reindexing after • For future catalogues Azure WebJobs are coming!!
  • 26. Contoso S u i t e s Tips Tips from a developer who learnt the hard way 26 • Set up and refer to quicksilver always for any issues https://github.com/episerver/Quicksilver • Make sure you thoroughly check breaking changes on Commerce Upgrades • Upgrade to the latest wherever possible (Else Quan Mai will get angry) • Ignore blocks where possible for Commerce or use Global shared blocks • Logs issues everywhere & create admin tools to identify issues • Post on Episerver world and wait for Quan Mai to get back to you (buy his book) • Create helper libraries for accessing Commerce code • Ignore the publish flag in Commerce manager for the catalogue
  • 27. Contoso S u i t e s 27 Latest Features (V12) • Support personalization service 1.4 for improved GDPR support • CSR UI Beta – Replacement • The ability to copy discounts in the marketing section • MarketId, MarketName, and PricesIncludeTax added to IOrderGrop (Imarket obsoleted) • Calculators have been restructured for efficiency • Calculators do not recalculate when order have no changes • New rounding strategy performs all promotion calculations with full precision and rounds only once • Ability to select multiple markets for a marketing campaign • Multiple data collection updates for reporting.
  • 28. Contoso S u i t e s 28 Roadmap
  • 29.

Editor's Notes

  1. Episerver Commerce was originally a product called Mediachase which Episerver acquired in March 2012 In that the last 7 years Episerver have continually improving commerce, bring legacy mediachase features in to the native CMS Canvas experience Today it has a powerful set of features and a complex ability to customize features Integration with tracking features for Episerver insight, campaign for machine learning driven personalization
  2. And that time to value has been borne out by independent analyst firms like Forrester. Through customer interviews, data collection and the subsequent financial analysis, Forrester concluded that Episerver provides customers a 443% return on investment over 3 years with a break-even point of less than 6 months – and leads the industry for rapid time to value. What the Forrester TEI affords is a meticulous process to clearly and unbiasedly prove the results the average Digital Experience Cloud customer is generating in both the short and long term. These findings unequivocally verify that Episerver makes your company incredibly more valuable and your staff decidedly more productive.
  3. CMS View looks like the Episerver CMS we all know and love with the DOJO features Commerce manager is a legacy product that works quite different to the CMS. It’s slow clunky, metafields are a mess, doesn’t always work great
  4. Catalogue design is important, try to reduce the number of items as Products and Variants by rearranging the category structure Direct saving with items such as inventory and pricing means you don’t get the familiar editing prompts which can be confusing Commerce items are essentially pages yet the block support is fundamentally broken for the standard “For this page” blocks. This forces everything in to being shared. Weird asset system for adding media with a random string group key. However this
  5. A lot of out of the box discounts Easily extendible in code
  6. Lost of great features out of the box Extendibility of overriding these features is mega powerful
  7. Still in Beta Been in Beta quite a while Already UI a little tricky to use in places
  8. - Markets allow you to segment these configurations for location allowing complex global scenarios
  9. - Allow you to set up multiple warehouses with different location. These for example allow you to show the distance of a pickup location so customers can see the location that’s closest
  10. Jurisdiction groups contain jurisdictions Providers out of the box come with a set of shipping providers but you can create your own by inheriting :IShippingPlugin, IShippingGateway. Often needs a restart to pick up the class file, can be dodgy. Methods are the key, they contain the base price and the provider and the jurisdiction group. You can only assign a method to a group, so each group needs to be granular Makes sure any defaults are deleted rather than deactivated
  11. Lots of options Can create your own by implement IPaymentPlugin Often needs a restart to pick up the class file, can be dodgy. Can filter to specific markets - Make sure when setting up a payment in your basket to use Your provider
  12. Lost of great features out of the box Extendibility of overriding these features is mega powerful
  13. Lost of great features out of the box Extendibility of overriding these features is mega powerful
  14. As you see the types in the CMS on the grid views try and sensibly name everything granular Multiple catalogues do not work well in Episerver when trying to use the HierarchicalCatalogPartialRouter. Try to route all commerce through a single CMS item. Inventory/Pricing save instantly and do not events for the Variant such as the Find Indexing, be aware of this in case of any custom indexing
  15. Then serializable cart and order cart both support the ICart so working with this is beneficial Validation if in the wrong order can lead to odd results The track field on the Variant not on the Inventory
  16. Lots of options Can create your own by implement IPaymentPlugin Often needs a restart to pick up the class file, can be dodgy. Can filter to specific markets - Make sure when setting up a payment in your basket to use Your provider
  17. Often meta fields do not sync properly and require restarts to delete fields Sometimes the fields don’t show in the field view but do in the meta class view
  18. Editing meta fields dynamically edits the schema of database tables to add columns dynamically. Can be flaky, check tables and delete/re-add DXC has failover out of the box. In a failover scenarios a database might go in to failover mode.
  19. Blog post on speeding import auto heal & timeouts in DXC can affect scheduled jobs
  20. Logging on importing very important
  21. CSR – Already partially released. Require the beta feature enabled