Content tests let you test alternative variants of your website's content to find out which pages, components, or combinations of components are the most effective with visitors. The content or components that you are comparing in a test should be designed to achieve the same goal.
Content testing is not working properly with CMS mode only. In other words, if you are disabling the analytical function (xDB).
First of all, let me list down the software versions that I used in this article
- Sitecore Experience Platform 8.1 rev. 160519 (8.1 Update-3)
- Solr4.10.4 - recommended Solr version for Sitecore 8.1
To disable content testing you should patch one of the Sitecore settings called ContentTesting.AutomaticContentTesting.Enabled. You will need to set this value to false
Moreover, you can find few exceptions on crawling log files
4352 12:15:39 WARN Could not compute value for ComputedIndexField:
impact for indexable:
sitecore://master/{110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}?lang=en&ver=1
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.RuntimeConstructorInfo.Invoke(BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Sitecore.Reflection.ReflectionUtil.CreateObject(Type type,
Object[] parameters)
at Sitecore.Configuration.Factory.CreateFromTypeName(XmlNode
configNode, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode,
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.GetInnerObject(XmlNode paramNode,
String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.AssignProperties(XmlNode
configNode, String[] parameters, Object obj, Boolean assert, Boolean
deferred, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(XmlNode configNode,
String[] parameters, Boolean assert, IFactoryHelper helper)
at Sitecore.Configuration.Factory.CreateObject(String configPath,
String[] parameters, Boolean assert)
at
Sitecore.Analytics.Reporting.ReportingQueryBase..ctor(ReportDataProviderBase
reportProvider, CachingPolicy cachingPolicy)
at
Sitecore.ContentTesting.Analytics.Reporting.TimeRangeItemBasedReportingQuery..ctor(ID
queryItemId, ReportDataProviderBase reportProvider, CachingPolicy
cachingPolicy)
at
Sitecore.ContentTesting.Analytics.Reporting.TestPotentialQuery..ctor(ReportDataProviderBase
reportProvider)
at
Sitecore.ContentTesting.ContentSearch.ComputedIndexFields.TestPotentialMetricBase.ComputeFieldValue(IIndexable
indexable)
at
Sitecore.ContentSearch.SolrProvider.SolrDocumentBuilder.AddComputedIndexField(IComputedIndexField
computedIndexField, ParallelLoopState parallelLoopState,
ConcurrentQueue`1 exceptions)
Nested Exception
Exception: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: Sitecore.Analytics.MongoDB
at
Sitecore.Analytics.Reporting.MongoDbReportDataSource..ctor(String
connectionStringName)
These exceptions are related to three computed fields that Sitecore is trying to index them. You can find these fields on the below files
- \App_Config\Include\ContentTesting\Sitecore.ContentTesting.Solr.IndexConfiguration.config - If you are using Solr
- \App_Config\Include\ContentTesting\Sitecore.ContentTesting.Lucene.IndexConfiguration.config - if you are using Lucene
Fields names are:
impact
potential
recommendation
In order to remove these exceptions you have to remove these lines form the above mentioned files, or follow the Sitecore best practices and create a separate config file under Include folder that will be responsible for removing these fields.
I've created these config files to make it easier for you :)
If you are using Solr, please use zz.Disable.Content.Testing.Solr.config
If you are using Lucene, please use zz.Disable.Content.Testing.Lucene.config
Downloads:
zz.Disable.Content.Testing.Lucene.config
zz.Disable.Content.Testing.Solr.config