Marketing Operations API overview¶
All definition managers and taxonomy managers are backed by a repository. Repositories are wired up in configuration, and are defined per definition or taxonomy type. In the following example, goals are configured to use an item-based repository:
<register serviceType="Sitecore.Marketing.Definitions.Goals.Data.IGoalDefinitionRepository, Sitecore.Marketing" implementationType="Sitecore.Marketing.Definitions.Goals.Data.ItemDb.GoalDefinitionItemRepository, Sitecore.Marketing.xMgmt" lifetime="Singleton" />
Repositories are configured once per server. This means that a server that combines Processing and Content Management uses an item-based repository only - even though definitions are still deployed to the Reference Data Service.
Item-based repositories use Sitecore’s content management databases. If an item-based repository is in use for goals, calling
Get() will return the goal definition from the master database. Content Management servers used item-based repositories.
In an XP/XM Single environment (such as a local development environment), item-based repositories are used by default. This means that even the processing pipeline uses the item-based version of a definition or taxonomy, not the version stored in the Reference Data Service - even though part of the activation process is to deploy the definition to the Reference Data Service.
Reference Data Service repositories use the Reference Data Service. If such a repository is in use for goals, calling
Get() will return the goal definition from the Reference Data Service - not the master database. Procsesing servers use
Do not change definitions and taxonomies directly in the Reference Data Service on a server that uses repositories backed by the Reference Data Service. This is difficult to do, given that processing only exposes read-only definition and taxonomy managers, but it is technically possible.
Please submit documentation feedback to firstname.lastname@example.org.