EPiServer.TinyMCESpellChecker 2.0.0 makes XHR request to a ressource on HTTP

Vote:
 

I seems like it makes XHR request to a ressource on HTTP and therefore cannot be used if you serve your site on HTTPS. Can anyone confirm?

Best,

Bilal

#208757
Oct 31, 2019 13:44
Vincent - Nov 17, 2019 13:32
The Spellchecker for TinyMCE is automatically applied to all XHTMLString properties by default. I quickly set up a new alloy website, and install EPiServer.TinyMCESpellChecker adds-on, turn on the site with https. I can see the spellchecker icon displayed in TinyMce editor and when I click on spellchecker icon, it invokes xhr request correctly and receives proper response.

Xhr request posts to https://localhost:44392/EPiServer/EPiServer.TinyMCESpellChecker/SpellChecker
Response json comes back with suggestion {"words":{"colorr":["color","colorer","colors","color r","corr"]}}

What error message did you get?
Vote:
 

Bilal,
What makes you think that TinyMCESpellChecker 2.0.0 makes an XHR request to a resource on HTTP?

#208772
Oct 31, 2019 22:43
Vote:
 
Dear Bob,
Apologies for stepping on your foot. No offence and perhaps I'm just an episerver newbie in Danish eating country 😊
I'm trying to enable spellchecking for our editors because it would add some value to the business.
They haven't used this feature before. Basically I took a starting point in release document for Episerver update 210 and from there to Breaking changes for Spellchecker for TinyMCE 2  which says that  "The SpellChecker button is automatically added to TinyMce editor". This is not happening for me, so I tried to add it to my TinyMce default configuration using the AddPlugin method and to my toolbar through Toolbar method. This adds the Spell checker drop-down-button. However when I click it I get a 404 (Chrome developer tools console) on this URL /episerver/EPiServer.Cms.TinyMce/2.9.0/ClientResources/tinymce/plugins/spellchecker/ (I checked Episerver's modules bin, there's plugin.min.js in that path) and the editor gives me a notification saying "The spelling service was not found: (undefined)". I cannot reproduce the problem mentioned in my first post.
Maybe I'm missing something. Does it work out of the box or do I need to implement som interfaces and register it to make it play?
Hope you can point me in the right direction.
Best,
Bilal
  
#208783
Edited, Nov 01, 2019 11:29
Vote:
 

I created a support ticket 394523 at support episerver com. Follow this ticket if you run into this problem.

#209494
Nov 15, 2019 10:38
Bob Bolt - Nov 15, 2019 17:13
Thanks, Bilal
Vote:
 

Hi Bilal, Please post the answer here once you received the solution for this issue.

#209528
Nov 16, 2019 13:43
Vote:
 

Hi Bilal,

Sorry for the slow progress. I've been home sick unfortunately.

Could you try and set it up with this structure instead and see if that helps (So the code is within the initialize method), seems like it's working for me then.:

using EPiServer.Cms.TinyMce.Core;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using EPiServer.ServiceLocation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using TestGoogleTag.Models.Pages;

namespace TestGoogleTag.SpellChecker
{
    [ModuleDependency(typeof(EPiServer.TinyMCESpellChecker.InitializationModule))]
    public class CustomizedTinyMceSpellCheckerInitialization : IConfigurableModule
    {
        private ServiceConfigurationContext _serviceConfigurationContext;
        private const string SpellCheckerPluginName = "spellchecker";

        public void Initialize(InitializationEngine context)
        {
            _serviceConfigurationContext.Services.Configure<TinyMceConfiguration>(config =>
            {
                var defaultSettings = config.Default();
                var defaultToolbarSettings = defaultSettings["toolbar"] as string[] ?? new string[1];

                config.For<ProductPage>(p => p.MainBody)
                    .Toolbar("spellchecker fullscreen image");

            });
        }

        public void Uninitialize(InitializationEngine context)
        {
        }

        public void ConfigureContainer(ServiceConfigurationContext context)
        {
            _serviceConfigurationContext = context;
        }
    }
}

Thank you,
Josef
Support Team

#209535
Nov 16, 2019 15:28
This topic was created over six months ago and has been resolved. If you have a similar question, please create a new topic and refer to this one.
* 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.