data exchange framework. essential basics and practical usage takeaways
TRANSCRIPT
![Page 1: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/1.jpg)
SUGBY3rd meetup
Data Exchange FrameworkEssential basics and practical usage takeaways.
Daniil Rashchupkin. Brimit. 2016.
![Page 2: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/2.jpg)
SUGBY3rd meetup
Data Exchange Framework
“Synchronize data between Sitecore and 3rd party systems.”
Data Exchange Framework 1.1(https://dev.sitecore.net/Downloads/Data_Exchange_Framework/1x/Data_Exchange_Framework_11.aspx)
Release: August 2016Sitecore: 8.1Documentation: Developer Guide for the most simple case
Daniil Rashchupkin. Brimit. 2016.
![Page 3: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/3.jpg)
SUGBY3rd meetup
The only image found on the Internet
Daniil Rashchupkin. Brimit. 2016.
![Page 4: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/4.jpg)
SUGBY3rd meetup
Data Exchange Framework 3rd Party data
Sitecore
DEF Configuration
Data Items
Daniil Rashchupkin. Brimit. 2016.
![Page 5: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/5.jpg)
SUGBY3rd meetup
Data Exchange Framework
Sitecore
DEF Configuration
Desktop applicationWeb application
Thirdparty CMS
Sitecore Data Provider
CRM Data Provider
Database Data ProviderSample:
xDB Contacts to CRM Sync
Daniil Rashchupkin. Brimit. 2016.
![Page 6: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/6.jpg)
SUGBY3rd meetup
DEF Data Provider
Develop
Endpointtemplate, settings plugin, model, converter
Pipeline Steptemplate, model, converter, processor
Value Accessortemplate, converter, value reader, value writer
Value Accessor Settemplate
Configure● Add Tenant● Add Endpoint for Source● Add Value Accessor Set for Source● Create Template for Target● Add Folder to Hold New Sitecore Items● Add Endpoint for Target● Add Value Accessor Set for Target● Add Value Mapping Set● Add Pipeline to Sync Single Record from
Source● Add Pipline Step to Resolve Target Item● Add Pipeline Step to Apply Mappings● Add Pipeline Step to Update Sitecore Item● Add Pipeline to Read Source● Add Pipeline Step to Read from Source● Add Pipeline Step to Iterate Data from
Source● Add Pipeline Batch
Daniil Rashchupkin. Brimit. 2016.
![Page 7: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/7.jpg)
SUGBY3rd meetup
Data Exchange Framework
Daniil Rashchupkin. Brimit. 2016.
![Page 8: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/8.jpg)
SUGBY3rd meetup
Pipeline Batch
Read data from 3rd Party Endpoint
Iterate data entities
Resolve Item in Sitecore
Apply Mappings Configuration
Update Sitecore Item
Sample Batch:CRM Campaigns Sync Pipeline Batch
Daniil Rashchupkin. Brimit. 2016.
![Page 9: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/9.jpg)
SUGBY3rd meetup
Data Exchange Framework
Daniil Rashchupkin. Brimit. 2016.
![Page 10: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/10.jpg)
SUGBY3rd meetup
GatherContent is “simple content collaboration software that helps youorganise and produce content before it's published.”
Daniil Rashchupkin. Brimit. 2016.
![Page 11: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/11.jpg)
SUGBY3rd meetup
Project
Document
Section
Field 1
Field 2
Field 3
Items folder
Item
Language Version
Field 1
Field 2
Field 3
Daniil Rashchupkin. Brimit. 2016.
…
…
…
…
SitecoreGather Content
![Page 12: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/12.jpg)
SUGBY3rd meetup
Data Exchange Framework
Demo GC
Daniil Rashchupkin. Brimit. 2016.
![Page 13: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/13.jpg)
SUGBY3rd meetup
Data Exchange Framework - Real project Challenges
Sitecore
Sitecore Items
Dynamics CRMData Exchange
Framework
Dynamics CRM Connect
Products: Real estate units
Pages:Unit Detail Page
Fields: Unit Size, Location, Price, Country, Project
Daniil Rashchupkin. Brimit. 2016.
![Page 14: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/14.jpg)
SUGBY3rd meetup
Data Exchange Framework
Dynamics CRM Connecthttp://integrationsdn.sitecore.net/DynamicsCrmConnect/v1.1/
Standard pipeline batches
CRM Campaign Synchronization CRM Contact (Full) Synchronization CRM Marketing List Synchronization xDB Contact Synchronization
Products Sync ?
Daniil Rashchupkin. Brimit. 2016.
![Page 15: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/15.jpg)
SUGBY3rd meetup
Data Exchange Framework
Dynamics CRM Entity
UnitID [Guid]Product Name [String]Country [Reference Field]Project [Reference Field]
Sitecore Item
UnitID [Guid]Product Name [Single line]Country [Droplink]Project [Droplink]
Daniil Rashchupkin. Brimit. 2016.
![Page 16: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/16.jpg)
SUGBY3rd meetup
Data Exchange Framework
Dynamics CRM Entity
UnitID [Guid]Product Name [String]
Country [Reference Field]Project [Reference Field]
Sitecore Item
UnitID [Guid]Product Name [Single line]
Country [Droplink]Project [Droplink]
Custom….LookupValueReader, LookupValueReaderConverter
Standard Sitecore Converters
Daniil Rashchupkin. Brimit. 2016.
![Page 17: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/17.jpg)
SUGBY3rd meetup
Data Exchange Framework
Dynamics CRM Entity
Project [Reference Field]
Sitecore Item
Data/CRM/Projects
+ Project Entities Repository+ Project Value Accessor Set+ Project Value Mapping Set+ Project Pipeline
Read ProjectsIterate Projects
Resolve, Apply, Update+ Project Pipeline Batch
Daniil Rashchupkin. Brimit. 2016.
Configuration
![Page 18: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/18.jpg)
SUGBY3rd meetup
Data Exchange Framework
Dynamics CRM Entity
UnitID [Guid]Product Name [String]Country [Reference Field]Project [Reference Field]
Sitecore Item
Sales Center UAE Lake Tower Apartment 23
Reasons: SEO, Content management friendly, # of Items
Daniil Rashchupkin. Brimit. 2016.
![Page 19: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/19.jpg)
SUGBY3rd meetup
Data Exchange FrameworkOverride Resolve Item processor.
private ItemModel CreateNewItem(object identifierObject, IItemModelRepository repository, ResolveSitecoreItemSettings settings, PipelineContext pipelineContext)…var product = identifierObject as Microsoft.Xrm.Sdk.Entity;
var country = product.Attributes[“md_countryid"];
var newParent = EnsureCountryPath();
Guid id = repository.Create(validItemName, settings.TemplateForNewItem, newParent); return repository.Get(id);
Products Sync Pipeline Batch
Read Entities from CRM
Iterate data entities
Resolve Item in Sitecore
Apply Mappings Configuration
Update Sitecore Item
Daniil Rashchupkin. Brimit. 2016.
![Page 20: Data Exchange Framework. Essential basics and practical usage takeaways](https://reader036.vdocuments.us/reader036/viewer/2022062523/5871442b1a28ab55588b51c9/html5/thumbnails/20.jpg)
SUGBY3rd meetup
Daniil Rashchupkin. Brimit. 2016.
Thank you for attention!