Detailed steps on how to migrate the Checkout package from Vendr to Umbraco Commerce.
Throughout the following steps, we will migrate the Checkout package from Vendr to Umbraco Commerce.
Make a backup of any custom templates and Vendr UI configuration files.
Make a note of all configuration values on the Vendr.Checkout Checkout node.
Delete Vendr.Checkout generated checkout nodes.
Checkout
Customer Information
Shipping Method
Payment Method
Review Order
Process Payment
Order Confirmation
Delete all Vendr.Checkout generated Document Types.
[Vendr Checkout] Page
[Vendr Checkout] Checkout Page
[Vendr Checkout] Checkout Step Page
Delete all Vendr.Checkout generated Data Types.
[Vendr Checkout] Step Picker
[Vendr Checkout] Theme Color Picker
Uninstall the Vendr.Checkout Nuget package:
Delete any remaining files and folders in the ~/App_Plugins/VendrCheckout directory.
Install the Umbraco.Commerce.Checkout package:
Locate the Umbraco Commerce Checkout dashboard in the Settings section
Click the "Install" button to reinstall the Checkout components in the previous location.
Copy any custom configuration files back into the solution.
Copy any custom Views into the ~/Views/UmbracoCommerceCheckout/ folder.
dotnetremovepackageVendr.Checkout
dotnetaddpackageUmbraco.Commerce.Checkout
Migrate custom Payment Providers
Follow the steps outlined below to migrate your custom payment providers to Umbraco Commerce.
Throughout the following steps, we will migrate custom payment providers used for Umbraco Commerce into Umbraco Commerce.
Remove any installed Umbraco Commerce packages
dotnetremovepackageUmbraco.Commerce.Core
Install the Umbraco.Commerce packages for the payment providers.
dotnetaddpackageUmbraco.Commerce.Core
Update any namespace references.
Update project framework to net7.0.
The final step in the migration is to update all abstract async methods exposed by the base class. It needs to be updated to accept an additional CancellationToken cancellationToken = default parameter as the final method argument. Your Integrated Development Environment (IDE) should provide feedback on all the methods that have been updated.
Migrate from Vendr to Umbraco Commerce
Learn how to migrate a Vendr solution to Umbraco Commerce.
This guide provides a step-by-step approach to migrating a default Vendr solution to Umbraco Commerce.
Upgrade to the latest version of Vendr before continuing with the migration.
You can upgrade your installation by installation the latest version on top of the existing one.
You can find details on migrating the Checkout package as well as custom Payment Providers in the Further Migrations section of this article.
Key changes
Before outlining the exact steps, there are a few key changes to be aware of.
These changes will dictate the steps to take in the process of migrating to Umbraco Commerce.
Project, Package, and Namespace changes
Vendr
Umbraco Commerce
C# Class changes
Namespace changes as documented above.
All classes containing the Vendr keyword are now updated to UmbracoCommerce.
Examples: IVendrApi is now IUmbracoCommerceApi and AddVendr() is now AddUmbracoCommerce().
JavaScript changes
All vendr modules have changed to umbraco.commerce modules.
All vendr prefixed directives, services, and resources are now prefixed with uc.
All vendr prefixed events now follow this format: Umbraco.Commerce.{target}.{action}.
UI Changes
All static UI assets are served via a Razor Compiled Library (RCL) and are no longer found in the App_Plugins folder.
The folder within App_Plugins still exists for the static assets that are user configurable.
The folder with App_Plugins has been renamed from Vendr to UmbracoCommerce.
UI Config files have changed from .js files to .json.
Step 1: Replace dependencies
In this first step, we will be replacing all existing Vendr dependencies with Umbraco Commerce dependencies.
Remove any installed Vendr packages (including Payment Providers):
dotnetremovepackageVendr
Take a backup of any Vendr-specific templates and config files you will want to reuse:
Delete the Vendr App_Plugins folder:
rmdirApp_Plugins\Vendr
Install Umbraco.Commerce:
dotnetaddpackageUmbraco.Commerce
Install Umbraco Commerce packages including any payment providers previously removed.
Reapply any backed-up config files in their new App_Plugins location.
Move any backed-up templates into the ~/Views/UmbracoCommerce/Templates/ folder.
Rename any config files with a .json file extension rather than .
Compile your project against .NET 7.0.
Step 2: Update namespaces and entity names
Based on the Key Changes outlined above update all Vendr references to the new Umbraco Commerce alternatives. Ensure you update any Views/Partials that also reference these.
Step 3: Update the database
In this step, we will cover updating the database for Umbraco Commerce.
ALTERTABLE vendrCurrency RENAME TO umbracoCommerceCurrency;ALTERTABLE vendrTaxClass RENAME TO umbracoCommerceTaxClass;ALTERTABLE vendrStock RENAME TO umbracoCommerceStock;ALTERTABLE vendrOrderStatus RENAME TO umbracoCommerceOrderStatus;ALTERTABLE vendrEmailTemplate RENAME TO umbracoCommerceEmailTemplate;ALTERTABLE vendrPaymentMethod RENAME TO umbracoCommercePaymentMethod;ALTERTABLE vendrShippingMethod RENAME TO umbracoCommerceShippingMethod;ALTERTABLE vendrCountry RENAME TO umbracoCommerceCountry;ALTERTABLE vendrRegion RENAME TO umbracoCommerceRegion;ALTERTABLE vendrCurrencyAllowedCountry RENAME TO umbracoCommerceCurrencyAllowedCountry;ALTERTABLE vendrPaymentMethodAllowedCountryRegion RENAME TO umbracoCommercePaymentMethodAllowedCountryRegion;ALTERTABLE vendrPaymentMethodCountryRegionPrice RENAME TO umbracoCommercePaymentMethodCountryRegionPrice;ALTERTABLE vendrPaymentMethodPaymentProviderSetting RENAME TO umbracoCommercePaymentMethodPaymentProviderSetting;ALTERTABLE vendrShippingMethodAllowedCountryRegion RENAME TO umbracoCommerceShippingMethodAllowedCountryRegion;ALTERTABLE vendrShippingMethodCountryRegionPrice RENAME TO umbracoCommerceShippingMethodCountryRegionPrice;ALTERTABLE vendrTaxClassCountryRegionTaxRate RENAME TO umbracoCommerceTaxClassCountryRegionTaxRate;ALTERTABLE vendrDiscount RENAME TO umbracoCommerceDiscount;ALTERTABLE vendrDiscountCode RENAME TO umbracoCommerceDiscountCode;ALTERTABLE vendrOrder RENAME TO umbracoCommerceOrder;ALTERTABLE vendrOrderProperty RENAME TO umbracoCommerceOrderProperty;ALTERTABLE vendrOrderLine RENAME TO umbracoCommerceOrderLine;ALTERTABLE vendrOrderLineProperty RENAME TO umbracoCommerceOrderLineProperty;ALTERTABLE vendrGiftCard RENAME TO umbracoCommerceGiftCard;ALTERTABLE vendrOrderAppliedDiscountCode RENAME TO umbracoCommerceOrderAppliedDiscountCode;ALTERTABLE vendrOrderAppliedGiftCard RENAME TO umbracoCommerceOrderAppliedGiftCard;ALTERTABLE vendrStoreAllowedUserRole RENAME TO umbracoCommerceStoreAllowedUserRole;ALTERTABLE vendrStoreAllowedUser RENAME TO umbracoCommerceStoreAllowedUser;ALTERTABLE vendrFrozenPrice RENAME TO umbracoCommerceFrozenPrice;ALTERTABLE vendrGiftCardProperty RENAME TO umbracoCommerceGiftCardProperty;ALTERTABLE vendrActivityLog RENAME TO umbracoCommerceActivityLog;ALTERTABLE vendrOrderPriceAdjustment RENAME TO umbracoCommerceOrderPriceAdjustment;ALTERTABLE vendrOrderAmountAdjustment RENAME TO umbracoCommerceOrderAmountAdjustment;ALTERTABLE vendrProductAttribute RENAME TO umbracoCommerceProductAttribute;ALTERTABLE vendrProductAttributeValue RENAME TO umbracoCommerceProductAttributeValue;ALTERTABLE vendrTranslatedValue RENAME TO umbracoCommerceTranslatedValue;ALTERTABLE vendrProductAttributePreset RENAME TO umbracoCommerceProductAttributePreset;ALTER TABLE vendrProductAttributePresetAllowedAttribute RENAME TO umbracoCommerceProductAttributePresetAllowedAttribute;
ALTERTABLE vendrOrderLineAttribute RENAME TO umbracoCommerceOrderLineAttribute;ALTERTABLE vendrPrintTemplate RENAME TO umbracoCommercePrintTemplate;ALTERTABLE vendrExportTemplate RENAME TO umbracoCommerceExportTemplate;ALTERTABLE vendrStoreEntityTag RENAME TO umbracoCommerceStoreEntityTag;ALTERTABLE vendrMigrations RENAME TO umbracoCommerceMigrations;ALTERTABLE vendrStore RENAME TO umbracoCommerceStore;
Swap Vendr property editors for Umbraco Commerce property editors:
It is highly recommended to ensure everything works as expected, before moving on to migrating packages and custom payment providers.
Further Migrations
If you have been using the Vendr Checkout package, you will need to follow some additional steps to migrate this package to Umbraco Commerce. Follow the link below for a complete guide:
Any custom payment providers used with Vendr also need to be migrated to Umbraco Commerce. Follow the link below to find detailed steps on how to perform this migration: