2

I have a site that has been upgraded from 7.5 to 8.1 and currently I'm on production deployment.

I used a new SQL reporting database and MongoDB collections.

I noticed that the campaigns hadn't been records if I accessed the Sitecore Analytics and checked the reports related to campaigns I can't see any data, In addition, the personalization rules based on campaigns are not working too.

I tried to redeploy marketing definitions from the control panel and I got the following error in log files:

ManagedPoolThread #11 2016:12:09 08:19:52 ERROR Exception
Exception: System.Reflection.TargetInvocationException
Message: Exception has been thrown by the target of an invocation.
Source: mscorlib
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Sitecore.Jobs.JobRunner.RunMethod(JobArgs args)
   at (Object , Object[] )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Jobs.Job.ThreadEntry(Object state)
Nested Exception
Exception: System.NotImplementedException
Message: Rdb Taxonomy repositories do not support data export.
Source: Sitecore.Analytics
   at Sitecore.Analytics.Reporting.DefinitionData.Taxonomy.RdbTaxonomyRepository.GetAll(ID rootId)
   at Sitecore.Analytics.Reporting.DefinitionData.Taxonomy.Deployment.DeployManager.DeployAsync(ID rootId)
   at Sitecore.Analytics.Reporting.DefinitionData.Taxonomy.Deployment.DeployManager.Deploy(ID rootId)

Any ideas?

4

Marketing definitions, such as campaigns, are stored and retrieved by using repositories, which may use different storage types. There are three repository types that are shipped with Sitecore:

  • item repositories—these work with definition items directly in the content tree. The default database used is master.
  • rdb repositories use the Reporting database. The reason for this is that some server roles (like the Processing role) may not have direct access to the Master database.
  • remote repositories are used in environments where the Sitecore instance doesn't have direct access to the Reporting database. To access marketing definitions, remote repositories will query web services hosted on a remote reporting server.

I believe that your server is currently misconfigured to use rdb repositories for everything. The default repository for reading data on a CM server should be item, not rdb. Deploying marketing definitions from RDB to RDB wouldn't even make sense. Which is why you're seeing the error.

Since the default repositories are item, your configuration must have been patched to change it to rdb. You can easily verify that by opening /sitecore/admin/ShowConfig.aspx and finding the following node under sitecore/marketingDefinitions:

<sc.variable name="marketingDefinitions.repository" value="rdb" />

This node will also contain a patch:source attribute saying which .config file patched it.

There are several OOTB patch files that may have changed this variable:

  • Sitecore.MarketingProcessingRole.config.disabled
  • Sitecore.MarketingReportingRole.config.disabled
  • Sitecore.Xdb.Remote.Server.config.disabled

If any of these files are not disabled, disable them. This will switch the variable marketingDefinitions.repository back to using item as its value.

To prevent configuration mistakes in the future, make sure to follow the server role documentation to the letter:

https://doc.sitecore.net/sitecore_experience_platform/81/setting_up__maintaining/xdb/configuring_servers/configuring_servers

  • I enabled the file "Sitecore.MarketingProcessingRole.config.disabled" because I have one server for both CM and processing, it is true that it mention we should disable this file on CM but we should enable it on processing server. Should I keep the file enabled and just update the value from rdb to item? – Mohammed Syam Dec 9 '16 at 15:46
  • 1
    @MohammedSyam try that, yes. When mixing roles, you will need to make changes to those role-specific files. – Dmytro Shevchenko Dec 9 '16 at 15:49
  • @MohammedSyam what happend after you change the value from rdb to item ? – scFootsteps Jun 6 '18 at 17:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.