DXF : Sitecore Provider

In Previous post we have done a simple import of data to Sitecore. As mentioned before DXF is an ETL layer to migrate data between different systems or endpoints. In most scenarios one of the endpoint is sitecore. Like, we need to read from sitecore and send to external system or read from an external system and write to sitecore. Sitecore provides a DXF provider for sitecore, whch contains pre defined list of processors and converters.

Below diagram briefly describes the components received as part of SItecore provider. In this post we will go through various concepts introduced by sitecore provider like data access, mapping set etc. In next post we will convert the previous import example to use sitecore provider.


In previous post we discussed about the 

  1. Processor: Logical unit to process the data
  2. Converter: Reads configurations and pass it to converter.
  3. Plugin: PoCo object to hold data and configurations.

Plugins are crucial for a processor. Sitecore provides a set of processors to ease out operations like identify sitecore item, update the item etc. Each of these processor expects one or more plugins.

Install Sitecore Provider

  1. Go to https://dev.sitecore.net/Downloads/Data_Exchange_Framework/1x/Data_Exchange_Framework_1_4_1.aspx
  2. Download "Sitecore Provider for Data Exchange Framework 1.4.1" and "Sitecore Provider for Data Exchange Framework 1.4.1 HF 185470"
  3. Install these sitecore packages to sitecore instance.
  4. Once installation complete go to Sitecore\Templates\DataExchange\Providers\ , we can see a new provider named "Sitecore Provider"

Processors and Converters

  • Read Sitecore Items Pipeline Step :
    •  Read sitecore items using ItemModelRepository. This can be used where we want to read a master list and update the item.
  • Resolve Sitecore Item Pipeline Step:
    • Identify a sitecore item based on some field. If item not found it can create a new item with specified template.
  • Select Languages Pipeline Step:
    • Identify language from all available languages.
  • Update Sitecore Item Pipeline Step:
    • Update the identified and enriched sitecore item to sitecore database.
  • Read xDB Contacts Pipeline Step:
    • Reads all contacts from analytics index and pass it to a iterator processor.
  • Resolve Marketing Campaign Pipeline Step:
    • Identify a campaign from a campaign endpoint. It can be used when we want to import data from campaign marketing data to sitecore.
  • Resolve Multilanguage Sitecore Item Dictionary Pipeline Step:
    • This processor should be followed by Select Languages Pipeline Step, to identify/create sitecore item in previously selected language.
  • Resolve Sitecore Campaign Category Pipeline Step:
    • Creates/Identifies Campaign category using current Dataexchange Tenant.
  • Resolve xDB Contact from Repository Pipeline Step:
    • Identify contact from a identifier
  • Run Bulk Sitecore Campaign Update from Queue Pipeline Step:
    • Bulk updated campain data resolved in Resolve Sitecore Campaign step
  • Run Bulk Sitecore List Update from Queue Pipeline Step
  • Run Bulk xDB Contact Update from Queue Pipeline Step
  • Save Marketing Campaign Pipeline Step
  • Save xDB Contact Pipeline Step

In next post we will use few of above processor to update previous example. Stay tuned .....