Now that I have been using #Sitecore’s Data Exchange Framework it was time share my knowledge with the rest of the world. For this blog post I will break it up in various parts. Hopefully it will give you a good overview of the DEF and how powerful it can be. I have used for a few different things, but for this example I decided to create something somewhat unique. I will try to keep each blog as short as possible, but there is a lot to cover. I will eventually update each blog with a link to the finished Sitecore module and source code.
First thing you want to do is download the Data Exchange Framework. You can find it here. I installed both the Date Exchange Framework and the Sitecore Provider for Data Exchange Framework.
After that it is a simple right click on the Data Exchange item under System and simple add a new tenant. Below are some of the settings I created and used. This should give you a rough outline on what you should create when doing your DEF feed.
I will go into more detail, but after I was done adding all the stuff for my Reddit feed this is what it looked like:
Value Accessor Sets
- Used to map feed values from the source
- Used to map source values to Sitecore
Each Accessor set has a field. I made these fields the same names I was getting from the feed. It made things a little easier to remember. For the list of fields check out the RedditSharp API here.
For the Sitecore field you will use the fields of a template you create. In this case it will be a Reddit item template.
The field value is going to point to the item template of the Reddit feed item. I kept the field naming consistent with the feed.
Value Mapping Sets
To bring those together we will use a value mapping set. This will make the connection from the feed field to the Sitecore field.
In this example created a template that contains settings needed for the field. Template inherits from the endpoint base template. For the Sitecore endpoint I created and used the default values.
Feed Endpoint example:
The converter type points to a created method in the code behind. The method is used to retrieve the blog path.
Sitecore Endpoint example (defaulted values):
After the batch process runs all of the pipeline steps the following will be created in Sitecore. I will go into how this is created in other parts of the blog, but this will give you a picture of what happens. Keep in mind the DEF can be used to do more than just create Sitecore items. Lots of things like external SQL tables, CRMs, MongoDB etc… could be updated.
In the next blog post I will talk about how things get tied together. It should make things more clear on why things are setup this way in this blog post. You can find it at Sitecore’s Data Exchange Framework Reddit Style Part 2.