Analytics, move over DMS and xDB?!

In Sitecore 7.5 xDB was introduced, this brought new ways of thinking about visitors to your website and tracking their journeys, but it was one big breaking change for solutions that had bespoke analytics code. The unfortunate thing here is more often than not this shift in thinking about tracking visitors to your site is not compatible with your current usage, and a rethink of your bespoke analytics functionality is what I would recommend. With the release of Sitecore 9, we got a new puzzle piece, xConnect. This does not help with our bespoke DMS code :(, but on the bright side, it does not hinder us any more than upgrading to Sitecore 7.5.
Sitecore.Automation.MarketingAutomation
The latest version of this assembly available on the Sitecore NuGet feed was for Sitecore 7.2. Marketing Automation is now part of xConnect, for more information have a read of the documentation.
Sitecore.DMSExtensions.Shared
The project included a reference to this assembly, and it was not clear what it was exactly. The name indicated that it was related to DMS, and since that no longer exists, I removed it.
The only reference I had in the code for it was a namespace import.
using Sitecore.DMSExtensions.Shared.Web.UI.WebControls;
Sitecore.ExperienceExplorer.Business
The Sitecore NuGet feed does not have a version of this assembly after 8.2.
Sitecore.PersonalizationTracker
Not found in the Sitecore NuGet feed.
Issue:
There is no version of this assembley for Sitecore 9.
Solution:
Remove the reference from the project and rework any code that uses classes in its namespace to use xConnect Marketing Automation.
VisitorManager does not exist
As of Sitecore 7.5 and the inclusion of xDB, the VisitorManager was removed.
Issues:
The name 'VisitorManager' does not exist in the current context
Solution:
Rework code to use the 'Tracker'. For more inofmation check out the Web Tracking documentation.
Tracker changes
Sitecore 7.5 introduced changes to the Analytics API.
Issue:
'Tracker' does not contain a definition for 'CurrentPage'
'Tracker' does not contain a definition for 'Visitor'
Solution:
Code needs to be reworked to use xConnect.
Automation namespace does not exist
As discussed above Marketing Automation has been moved into xConnect.
Issues:
The type or namespace name 'Automation' does not exist in the namespace 'Sitecore.Analytics' (are you missing an assembly reference?)
Solution:
Luckily in my case, the namespace import was not in use so could be removed. If you are not so lucky and you have code that is using types in this namespace, Marketing Automation is now part of xConnect, so reworking is required.
AnalyticsSettings
You were abel to enable and disable Analytics using a Sitecore setting:
<setting name="Analytics.Enabled" value="true" />
this setting was removed in Sitecore 8.1 replaced with:
<setting name="Xdb.Enabled" value="true" />
Issues:
'AnalyticsSettings' does not contain a definition for 'Enabled'
Solution:
In Sitecore 9 this setting is now Xdb.Tracking.Enabled
documentation.
Could not find AutomationAction
This class was contained in the Sitecore.Automation.MarketingAutomation.dll
, as pointed out above this no longer exists.
Issue:
The type or namespace name 'AutomationAction' could not be found (are you missing a using directive or an assembly reference?)
Solution:
The code needs to be reworked to use xConnect Marketing Automation.
Could not find VisitorDataSet or DataSets
In the (not so) good old days of OMS/DMS, the VisitorDataSet and DataSets types were used to access data about visits to the website. If you are interested I found an old cookbook for the SDN that references it, this one took me back :) It holds information about the visit, not read a cookbook in a long time.
Issue:
The type or namespace name 'VisitorDataSet' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'DataSets' does not exist in the namespace 'Sitecore.Analytics.Data.DataAccess' (are you missing an assembly reference?)
Solution:
The code needs to be reworked to use xConnect.
AutomationActionResult does not exist
This was an enumeration that was found in the Sitecore.Automation.MarketingAutomation.dll
.
Issue:
The name 'AutomationActionResult' does not exist in the current context
Solution:
The Code needs to be reworked to use xConnect.
PageEventData not defined
In Sitecore 8 Sitecore.Analytics.Model
was introduced, looks as if this contains the namespace where PageEventData resides.
Issue:
The type 'PageEventData' is defined in an assembly that is not referenced. You must add a reference to assembly 'Sitecore.Analytics.Model, Version=11.40.0.0, Culture=neutral, PublicKeyToken=null'.
Solution:
Install the Sitecore.Analytics.Model.NoReferences
NuGet package
IEventDefinition not defined
Issue:
The type 'IEventDefinition' is defined in an assembly that is not referenced. You must add a reference to assembly 'Sitecore.Marketing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=null'.
Solution:
Install the Sitecore.Marketing.NoReferences
NuGet package
IEventDefinition not defined
Issue:
'IEventDefinition' does not contain a definition for 'IsGoal' and no extension method 'IsGoal' accepting a first argument of type 'IEventDefinition' could be found (are you missing a using directive or an assembly reference?)
Solution:
Install the Sitecore.Marketing.NoReferences
NuGet package