TinyMCE Spellchecker

Vote:
 

Having some problems getting this running.  I installed the nuget package "EPiServer.TinyMCESpellChecker" version="1.1.1.8000".

I added "spellchecker" to our default tinymce toolbar settings.

I also tried adding a binding redirect in the web.config.  I can see the package has downloaded successfully and I can see a valid reference to the assembly in the project.

Unfortunately every time I try to load forms mode on a page containing the toolbar I get the following error, any thoughts, seems like it might be looking for a config section in the web.config perhaps?  Nothing is mentioned in the install guide I followed here:

2015-04-30 09:40:14,504 [78] ERROR EPiServer.Global: 1.2.5 Unhandled exception in ASP.NETSystem.ArgumentException: Unable to find a module by assembly 'EPiServer.TinyMCESpellChecker, Version=1.1.1.8000, Culture=neutral, PublicKeyToken=null'Parameter name: moduleAssembly   at EPiServer.Shell.Paths.ToResource(Assembly moduleAssembly, String moduleRelativeResourcePath)   at EPiServer.TinyMCESpellChecker.SpellCheckerPlugin.GetConfigurationOptions()   at EPiServer.Editor.TinyMCE.PlugInAssembler.RegisterPlugin(TinyMCEPlugIn plugin)   at EPiServer.Editor.TinyMCE.PlugInAssembler.AddToolbarRow(IList`1 buttonNames)   at EPiServer.Editor.TinyMCE.PlugInAssembler.AddSettings(TinyMCESettings settings)   at EPiServer.Editor.TinyMCE.TinyMCEInitOptions..ctor(InitType initType, IDictionary`2 options, TinyMCESettings settings, IContent content)   at EPiServer.Editor.TinyMCE.TinyMCEInitOptions..ctor(InitType initType, TinyMCESettings settings, IContent content)   at EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.XhtmlStringEditorDescriptor.ModifyMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.ApplyExtendersToMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes, IEnumerable`1 metadataHandlers)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.GetMetadataForProperties(ExtendedMetadata parent, Object container, Type containerType, IMetadataProvider customProvider)   at EPiServer.Shell.ObjectEditing.ExtendedMetadata.get_Properties()   at EPiServer.Cms.Shell.UI.ObjectEditing.SettingsPanelMetadataExtender.ModifyMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.ApplyExtendersToMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes, IEnumerable`1 metadataHandlers)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.CreateMetadata(IEnumerable`1 attributes, Type containerType, Func`1 modelAccessor, Type modelType, String propertyName)   at System.Web.Mvc.AssociatedMetadataProvider.GetMetadataForType(Func`1 modelAccessor, Type modelType)   at EPiServer.Shell.UI.Rest.MetadataStore.Get(String id, String modelAccessor)   at lambda_method(Closure , ControllerBase , Object[] )   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.b__32(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)   at EPiServer.Shell.Services.Rest.RestControllerBase.EndExecute(IAsyncResult asyncResult)   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)System.ArgumentException: Unable to find a module by assembly 'EPiServer.TinyMCESpellChecker, Version=1.1.1.8000, Culture=neutral, PublicKeyToken=null'Parameter name: moduleAssembly   at EPiServer.Shell.Paths.ToResource(Assembly moduleAssembly, String moduleRelativeResourcePath)   at EPiServer.TinyMCESpellChecker.SpellCheckerPlugin.GetConfigurationOptions()   at EPiServer.Editor.TinyMCE.PlugInAssembler.RegisterPlugin(TinyMCEPlugIn plugin)   at EPiServer.Editor.TinyMCE.PlugInAssembler.AddToolbarRow(IList`1 buttonNames)   at EPiServer.Editor.TinyMCE.PlugInAssembler.AddSettings(TinyMCESettings settings)   at EPiServer.Editor.TinyMCE.TinyMCEInitOptions..ctor(InitType initType, IDictionary`2 options, TinyMCESettings settings, IContent content)   at EPiServer.Editor.TinyMCE.TinyMCEInitOptions..ctor(InitType initType, TinyMCESettings settings, IContent content)   at EPiServer.Cms.Shell.UI.ObjectEditing.EditorDescriptors.XhtmlStringEditorDescriptor.ModifyMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.ApplyExtendersToMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes, IEnumerable`1 metadataHandlers)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.GetMetadataForProperties(ExtendedMetadata parent, Object container, Type containerType, IMetadataProvider customProvider)   at EPiServer.Shell.ObjectEditing.ExtendedMetadata.get_Properties()   at EPiServer.Cms.Shell.UI.ObjectEditing.SettingsPanelMetadataExtender.ModifyMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.ApplyExtendersToMetadata(ExtendedMetadata metadata, IEnumerable`1 attributes, IEnumerable`1 metadataHandlers)   at EPiServer.Shell.ObjectEditing.ExtensibleMetadataProvider.CreateMetadata(IEnumerable`1 attributes, Type containerType, Func`1 modelAccessor, Type modelType, String propertyName)   at System.Web.Mvc.AssociatedMetadataProvider.GetMetadataForType(Func`1 modelAccessor, Type modelType)   at EPiServer.Shell.UI.Rest.MetadataStore.Get(String id, String modelAccessor)   at lambda_method(Closure , ControllerBase , Object[] )   at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.b__32(IAsyncResult asyncResult)   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c()   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)   at EPiServer.Shell.Services.Rest.RestControllerBase.EndExecute(IAsyncResult asyncResult)   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

#121041
Apr 30, 2015 10:45
Vote:
 

I too recieve this error.  Any update or did you find the cause.

#121217
May 05, 2015 2:41
Vote:
 

Nope, not found the cause, hoping someone here might have some insight.

#121228
May 05, 2015 10:30
Vote:
 

It seems that system does not load the TinyMCESpellChecker module. Which version of EPiServer.Packaging you are using with your site? I suggest that upgrade the EPiServer.Packaging to latstest version (3.2.2), that might solve the problem.

#121342
May 07, 2015 4:52
Vote:
 

Hi Dac, im already using that version of the package:

<package id="EPiServer.CMS" version="8.5.0" targetFramework="net45" />
<package id="EPiServer.CMS.Core" version="8.5.0" targetFramework="net45" />
<package id="EPiServer.CMS.UI" version="8.2.0" targetFramework="net45" />
<package id="EPiServer.CMS.UI.Core" version="8.2.0" targetFramework="net45" />
<package id="EPiServer.Framework" version="8.5.0" targetFramework="net45" />
<package id="EPiServer.Logging.Log4Net" version="1.0.0" targetFramework="net45" />
<package id="EPiServer.Packaging" version="3.2.2" targetFramework="net45" />
<package id="EPiServer.Packaging.UI" version="3.2.2" targetFramework="net45" />
<package id="EPiServer.Search" version="7.7.1" targetFramework="net45" />
<package id="EPiServer.TinyMCESpellChecker" version="1.1.1.8000" targetFramework="net45" />
<package id="NHunspell" version="1.2.5359.26126" targetFramework="net45" />

even tried clearing out the packages/bin/temp dir but no joy.

#121350
Edited, May 07, 2015 10:26
Vote:
 

I cannot reproduce with Alloy template, you should create a support case then we can look more deeply in the problem.

#121353
May 07, 2015 10:50
Vote:
 

I found a blog post here that has resolved this issue for me. You need to add an entry in the protectedModules section in web.config.

 <add name="EPiServer.TinyMCESpellChecker">
        <assemblies>
          <add assembly="EPiServer.TinyMCESpellChecker"/>
        </assemblies>
      </add>
#123062
Jun 24, 2015 10:22
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.