Migrate POS Extension
Migrate POS Extension
Migrate POS Extension
Extension to the
Commerce SDK
Luke Graham
Mugunthan Mani
1
Dynamics 365 Product
guidance
Implementation Guide General Case
guidance studies
Collective experience gained through
thousands of Dynamics 365 implementations
Highlights Recommended
deliverables
Conceptual
graphic
support
3
Migrate to Commerce SDK
4
Why?
Benefits
❑ Seamless update experience.
5
Timeline
❑ Extension can continue to use Retail SDK and deploy the extension package generated in Retail SDK till Oct
2022.
❑ After Oct 2022, only Commerce SDK will be published and supported for extension deployment.
6
Prerequisites
❑ POS - https://docs.microsoft.com/en-us/dynamics365/commerce/dev-itpro/pos-extension/pos-extension-getting-started#set-up-the-pos-
development-environment
Commerce SDK
❑ Packages – Public feed
https://pkgs.dev.azure.com/commerce-partner/Registry/_packaging/dynamics365-commerce/nuget/v3/index.json
❑ Samples - GitHub
microsoft/Dynamics365Commerce.ScaleUnit: Repository for hosting the Dynamics 365 Commerce ScaleUnit Samples (github.com)
microsoft/Dynamics365Commerce.InStore: Repository for hosting the Dynamics 365 Commerce in store Samples (github.com)
7
Sealed Installers
Published in LCS
https://lcs.dynamics.com/V2/SharedAssetLibrary
Prerequisites
❑ Uninstall the legacy installers.
❑ Deploy the new installer and Activate the app.
8
Migrate to the Commerce SDK
https://docs.microsoft.com/en-us/dynamics365/commerce/dev-itpro/retail-sdk/migrate-commerce-sdk
Samples Samples are published on GitHub. Samples are published in the \Sample extension folder in
the Retail SDK.
Packages or reference Packages are published to the public feed and can be Reference libraries and packages that are required for
libraries consumed via NuGet. Commerce development are available in the /Pkgs folder in
the Retail SDK.
Deployable packages Cloud Scale unit package and separate installers for Combined Retail deployable package.
extensions.
Updates To update the extensions, consume the latest package Updates must be done from LCS. The LCS update process
that is available in the public feed must be followed.
9
Migrate to the Commerce SDK
Channel Database:
❑ No changes required but packaged part of the Cloud Scale unit extensions and installers.
Hardware Station:
❑ Extend from IController
10
Migrate to the Commerce SDK
POS SDK
Component Commerce SDK
POS app and Extension project No POS app or extension project, samples templates available in GitHub to create
extension
POS API Removed reference to knockout.js, Pos.UI.Sdk library is obsolete. Instead use
POSApi/Consume/Controls.
Deployable packages Separate extension installer for MPOS and CPOS is packaged part of Cloud Scale
unit and Scale unit installer.
11
Migrate to the Commerce SDK
POS Operations
Triggers
Request handlers
Consume APIs
Custom controls
12
Migrate to the Commerce SDK
Knockout.js Removed reference to knockout.js, there is no global ko object, use your own third-
party library.
Custom view Extend from CustomViewControllerBase instead of ExtensionViewControllerBase,
Header and Navigation bar are visible by default.
Load Extension using the CRT trigger Instead of extension.json, implement the CRT
GetExtensionPackageDefinitionsRequest trigger.
13
Migrate to the Commerce SDK
POS Extensions csproj Sample project contains all the POS extensions.
Scale unit csproj Sample project to generate the Cloud POS deployment
package for Cloud Scale unit.
14
Sample Extension Code Migration Walkthrough.
15
Migrate to
Commerce Sdk with
continued Retail Sdk
support
• Why?
• Not all customers will switch to
Commerce SDK at once
• ~6 month period ISV solutions may
need to support both models
• Enable customers to migrate CSU
extensions first & MPOS second
• Enable continued updates through
the Retail SDK while migration is in
progress
16
One Approach
Create a Commerce Sdk folder/solution in the
same repo as the Retail Sdk solution
Retail Sdk & Commerce Sdk solutions have
separate folder structure
No references from the Commerce Sdk to the
How to Retail Sdk
support Source files are moved to the Commerce Sdk
solution/folders
Commerce & Retail Sdk solution links to the new location in the
Commerce Sdk folder
Retail Sdks Benefits
No code duplication between Retail Sdk &
Commerce Sdk
Migrating components in order
Enable easy deletion of Retail SDK in the future
17
Migrating the Store Hours Sample
1 2 3 4
Update the Store Hours Move the Commerce Move the POS Create Installer &
Repo to add the Runtime, Retail Server & Extensions to the Packaging Projects in
folder/project structure Channel Database Commerce Sdk Commerce Sdk
for the Commerce Sdk Extensions to the
solution Commerce Sdk
18
Troubleshoot Extensions
19
Troubleshoot Extensions
❑ Use JavaScript Console.
20
Key Takeaways
❑ Retail SDK is getting deprecated in Oct 2022.
❑ Code sharing between Retail SDK and Commerce SDK.
❑ Sealed installers.
❑ GitHub issues.
21
Upcoming Tech talks
Tech talk title Date Persona
Deep dive on Commerce Extension packaging and Dec 14th, 2021 Learn how to package Commerce extension using Developer, Technical
Azure DevOps Build pipeline setup. the Commerce SDK and setup Azure DevOps build consultant and Architect.
pipeline to build and generate packages for the
Commerce extensions.
Hardware Station Extension deep dive with the Jan 12th or 13th Deep dive on how to customize the Hardware Developer, Technical
Commerce SDK TBD station (HWS) to integrate with Payment terminal or consultant and Architect.
hardware device with Commerce SDK.
Migrate Commerce Runtime and Headless Jan 26th or 27th Learn how to migrate the Commerce runtime and Developer, Technical
Commerce (Retail Server) extension to the TBD Headless Commerce extension to the Commerce consultant and Architect.
Commerce SDK SDK.
22
Q&A
23