How to Migrate your Sitecore 8.x MongoDB Contacts to xConnect

With Sitecore 9.0 and the introduction xConnect you might be wondering what you are going to do with all that analytics data sitting in MongoDB, when you upgrade your Sitecore 8.x instance to Sitecore 9. Well, Sitecore have created a tool called the xDB migration tool. The tool uses the Sitecore Data Exchange Framework 2.0 and it provides the ability to read from MongoDB (source system) and write to the xConnect server (target system). If you are not familiar with the Data Exchange Framework I have covered it in an earlier post.

The xDB migration Tool provides a pre-configured mapping of data from the MongoDB database to the xConnect server in the form of a DEF Tenant. The Tool includes two data migration processes.

  1. MongoDB Contacts to xConnect Contacts – Reads contact data and related device and interaction data for each contact – from a MongoDB database and writes it to xConnect.
  2. MongoDB Reference Data to xDB – Reads geo IP and location data from a MongoDB database and writes it to xConnect.

Continue reading

Sitecore Data Exchange Framework the SQL Provider

I recently presented at Atlanta Sitecore Usergroup and gave a demo using Data Exchange Framework (DEF) 2.0 and the SQL Provider – to read customer records from a SQL table and create items in Sitecore. You can read more about the DEF 2.0 here.  In this follow-up post, I’ll walk through the DEF configuration required for the demo.

def_sqlcustomerdemo3

Continue reading

Leveraging Sitecore Data Exchange Framework to access your Data

Eric Stafford (aka Sitecore Superman) and myself had the opportunity to attend the Integration Bootcamp at Symposium.  The day was divided into 2 sections: xConnect in the morning with Todd Mitchell (xConnect Product Manager) and Niels Kuhnel (Sitecore Architect) in the afternoon Adam Conn (Director of Product Management) did a deep dive into the Data Exchange Framework. In this post will I take you through some of my takeaways on Data Exchange Framework which I shared recently with the Atlanta Sitecore User Group.

What do we call it?

First, we need to clarify one thing and that’s how Data Exchange Framework is abbreviated. There appears to be some confusion in the community and that’s because Sitecore has a fondness for the letter x.

Adam Conn was insistent that if we left the boot camp knowing one thing – it should be: “the Data Exchange Framework is DEF, not DXF!! And that referring to is as DXF is like Sitecore with a capital ‘C'”.

Enough said!!

What is it?

  • A Framework Designed for transferring Data into and out of Sitecore.
  • It’s an ETL – Extract, Transform and Load the 3 steps of data integration.
    • Extract – you’ve got a source system you are extracting data from.
    • Transform – we change the data to be compatible with the target system.
    • Load – we load the data it into the target system.

DEF_ETL

  • It standardizes how we do data integrations with Sitecore.
  • It promotes re-usability by providing patterns and components that help you with your integration leaving you to focus on the other tasks associated with data integration.
  • It is highly configurable and extendable allowing you to integrate with almost any 3rd party system.
  • It enables Synchronization of Systems and processes.
  • It reduces the amount of effort required to integrate 3rd party systems.

Continue reading

Sitecore 9.0 SIF – Windows 8.1 & Server 2012 Gotchas

While attempting to install Sitecore 9.0 on a Windows 8.1 machine I ran into a few gotchas I thought worth sharing.

Gotcha #1 – Powershell Version

SIF requires Powershell 5.1 or later not 5.0 as stated in the install guide Section 2.3.2.

Sitecore9powershellerror

Sitecore Support have stated the documentation will be updated to show the correct prerequisites, i.e. PowerShell 5.1 instead of 5.0.

Gotcha #2 – Sitecore Fundamentals Not Supported

Having upgraded powershell I happily and very eagerly carried on. Util my install script hit another error:

SIFFundamentalissue

I checked my the xconnect-createcert.json settings and everything looked fine and I could see Signer as one of the params specified for the NewSignedCertificate task:

"CreateSignedCert": {
// Create a certificate signed by the root authority.
"Type": "NewSignedCertificate",
"Params": {
"Signer": "[GetCertificate(variable('Root.Cert.DnsName'), variable('Root.Cert.Store'))]",
"Path": "[parameter('CertPath')]",
"CertStoreLocation": "[variable('Client.Cert.Store')]",
"Name": "[parameter('CertificateName')]",
"DnsName": "[parameter('CertificateName')]",
"ErrorAction": "Continue"
}
}

I took a closer look at the script New-SignedCertificate.ps1, part of Sitecore Fundamentals module. This calls a Windows Cmdlet: New-SelfSignedCertificate, however the version of this cmdlet on Windows 8.1 and Server 2012 does not have a param called Signer, hence the error.

Continue reading