Commerce data providers

Abstract

Overview of Commerce-specific data providers.

Sitecore Experience Commerce 9.x makes use of predefined item templates to represent catalogs, categories, products and product variants. These templates are arranged in a hierarchy to enable inheritance. Template inheritance follows Helix guidelines.

Data providers dynamically generate children types based on the parent item. The CatalogDataProvider unifies and handles all entity types (catalogs, categories, and products). There are two data providers:

  • Data providers called directly by Sitecore based on the base DataProvider class.

  • Catalog item specific data providers based on the CatalogDataProviderBase class.

The following table details the supported data providers.

Provider

Description

DataProvider

Provides the base functionality that is common to all data providers.

ReadOnlyDataProvider

Derived from CatalogDataProviderBase. This provider allows only read-only access to the catalog content with the exception of the SitecoreID and SitecoreSettings properties. All write operations are ignored. This catalog data provider assigned to both databases (Master and Web).

CatalogDataProvider

Derived from ReadOnlyDataProvider. This provider derives/inherits from the ReadOnlyCatalogDataProvider and provides all of the create, update, and delete functionality. This catalog data provider is assigned to the Sitecore Master database.

WorkflowDataProvider

Generates the items for the workflows that have been configured in the Commerce Engine. Handles workflow actions such as promoting items to the next state.