We need to regularly run a custom task to sync contacts in xDB from an external contacts list. It appears that we should use Sitecore's Analytics API to do this, and we think the task should run on our CM (Content Management) server, not our CD server.
The API to manipulate contacts in xDB appears to be the Sitecore.Analytics.Tracking.ContactManager class. This class relies on the "contactManager" node in Sitecore.Analytics.Tracking.config, which appears to rely on the "contactManager" node in Sitecore.Analytics.Tracking.Database.config to make it actually work; this from the comment in Sitecore.Analytics.Tracking.config:
"The default contact repository is a stub that prevents the contact manager from reading and writing to the collection database. This behavior is overridden by the Sitecore.Analytics.Tracking.Database.config file."
OTOH, Sitecore docs sometimes say you should disable Sitecore.Analytics.Tracking.Database.config on a CM server, but they're equivocal:
"If you have a dedicated content management server used for tracking but do not want to save changes to the collection database then disable the Sitecore.Analytics.Tracking.Database.config file. If you want to mix content management with other server features, or if there is a chance that other modules may depend on the tracking data access API, then you must enable this file again."
I can't tell what the above paragraph really means. So, my question is: what do we have to worry about if we enable Sitecore.Analytics.Tracking.Database.config on our CM server, in order to use the Sitecore.Analytics.Tracking.ContactManager class to update our contacts in xDB?
This is Sitecore 8.2.
References: https://briancaos.wordpress.com/2015/10/09/sitecore-contacts-create-and-save-contacts-directly-to-and-from-xdb-mongodb/ https://doc.sitecore.net/sitecore_experience_platform/82/setting_up_and_maintaining/xdb/configuring_servers/configure_a_content_management_server https://doc.sitecore.net/sitecore_experience_platform/82/setting_up_and_maintaining/xdb/server_considerations/server_configuration_features