0

I am troubleshooting an older instance of Sitecore where Form reports are blank for all WFFM forms. In my investigation, I found that the FormData collection is never created in MongoDB. I tested with a native install of 7.5 (rev. 141003) with the same version of WFFM (2.5 rev. 141014) and noticed that this collection was created during the WFFM installation (or at least it appeared to be created then).

I see the following errors corresponding to installation of the package:

ManagedPoolThread #9 11:29:29 ERROR Error executing command item: 
CampaignCommand
Exception: System.Reflection.AmbiguousMatchException
Message: Ambiguous match found.
Source: mscorlib
   at System.DefaultBinder.SelectMethod(BindingFlags bindingAttr, MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
   at System.RuntimeType.GetMethodImpl(String name, BindingFlags bindingAttr, Binder binder, CallingConventions callConv, Type[] types, ParameterModifier[] modifiers)
   at System.Type.GetMethod(String name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers)
   at Sitecore.Tasks.CommandItem.Execute(Item[] items, ScheduleItem schedule)

And:

19336 11:29:44 ERROR Error during aggregation.
Exception: System.InvalidOperationException
Message: Cannot use Analytics with a database that has no settings
Source: Sitecore.Kernel
   at Sitecore.Diagnostics.Assert.ResultNotNull[T](T result, String message)
   at Sitecore.Analytics.Commons.LazyReference`1.GetValue(Object mutex, Func`1 initializer)
   at Sitecore.Analytics.Data.Items.AnalyticsItems.<get_PageEvents>b__6()
   at Sitecore.Analytics.Commons.LazyReference`1.GetValue(Object mutex, Func`1 initializer)
   at Sitecore.Analytics.Aggregation.Pipeline.FailuresProcessor.OnProcess(AggregationPipelineArgs args)
   at Sitecore.Analytics.Aggregation.Pipeline.AggregationProcessor.Process(AggregationPipelineArgs args)
   at (Object , Object[] )
   at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
   at Sitecore.Analytics.Aggregation.InteractionAggregator.Aggregate(Byte[] recordKey, IAggregationContext context)
   at Sitecore.Analytics.Aggregation.Aggregator.Execute()

The second one appears to be most concerning. I have ran through all of the troubleshooting steps here: https://kb.sitecore.net/articles/977445. Though, I am still not seeing the FormData collection in MongoDB.

1
  • This is my local install with full access to master db as well.
    – jrap
    Mar 24, 2017 at 16:46

1 Answer 1

1

The FormData collection is created in Sitecore.Form.Core.Analytics.Pipeline.InitializeAnalytics which is a processor part of the <initialize> pipeline. For my issue, I simply decompiled this class from the DLL and created a replica of this processor in order to see what was going wrong, and to debug. When I added my custom processor to the mix, the FormData collection was created on startup and form data was inserted as expected. My reports began working immediately as well. I cannot say why my custom processor worked and the native one did not. The native processor was showing in my /showconfig.aspx compilation, so it should have ran. The error logs showed no errors.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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