17 votes

HunSpellChecker

This package provides a spellchecker which covers all the default languages of Umbraco (except Finnish). It contains all of the dictionary files and is not dependant on any external services as GoogleSpellChecker was (RIP). 

The reasoning for not using browser based spell checkers is that they don't function reliably inside the tinymce editor window and utilise the context popup menu.

The package uses the Hunspell library and dictionary files sourced from OpenOffice Extensions. By default only the servers current locale dictionary is loaded, others are loaded when spell check requests in those languages are made. Additional dictionaries will be automatically detected if added to the /umbraco/plugins/HunSpellChecker/dict folder. See the 1-Readme.txt file in this folder for more information on adding dictionary files.

This package was written for the University of the Sunshine Coast.

Installation

Due to Umbraco core changes from V4.x to V6.x there are two versions of this package.

  HunSpellChecker V0.2.0 --> Umbraco V4.11+

  HunSpellChecker V0.6.0 --> Umbraco V6.x

The package install copies the required dll's to the /bin folder and the dictionary files to the /umbraco/plugins/HunSpellChecker/dict folder. It also adds the HunSpellCheckerStartupMode & HunSpellCheckerDefaultDictionaryCulture appSettings to the web.config.

Pre Install - Read this before installing as a local package...

If you want to install as a local package, you'll need to edit the web.config and increase the httpRuntime maxRequestLength attribute to be larger than the size of the zipped up package - 8192 should do it.

e.g.

<httpRuntime requestValidationMode="2.0" executionTimeout="7200" maxUrlLength="5000" relaxedUrlToFileSystemMapping="true" enableVersionHeader="false" maxRequestLength="8192" />

Post Install

After installation, the package requires the following manual changes before it will function as the TinyMce spell checker.

1. Web.Config

Edit the web.config file and edit handlers / httpHandlers as appropriate for IIS setup - just add both if you are not sure...

httpHandlers - comment out the old GoogleSpellChecker.ashx httpHandler and add

<add  verb="GET,HEAD,POST" path="HunSpellChecker.ashx" type="Usc.Plugins.HunSpellChecker.HunSpellChecker" validate="True" />

Handlers - again comment out the old GoogleSpellChecker handler and add the new handler

<add verb="GET,HEAD,POST" preCondition="integratedMode" name="SpellChecker" path="HunSpellChecker.ashx" type="Usc.Plugins.HunSpellChecker.HunSpellChecker" />

2. /config/tinyMceConfig.config

Edit  /config/tinyMceConfig.config and replace the old GoogleSpellChecker.ashx spellchecker_rpc_url custom config value with HunSpellChecker.ashx

e.g.

    <config key="spellchecker_rpc_url">HunSpellChecker.ashx</config>

Restart your web site and use the spell check button on your editor.

(If you don't have this button, navigate to the developer section > datatypes > rich text editor and check the ABC spelling option.)

TroubleShooting

Add the following to you log4net.config to ensure info/errors are logged to the umbracoTraceLog.txt file.

    <logger name="Usc.Plugins">

        <level value="INFO" />

    </logger>

Default Locale is detected on the server using  Thread.CurrentThread.CurrentCulture. If the wrong locale is being detected and you can't wrangle the correct Windows setting to override it (en-US is a common one), use the HunSpellCheckerDefaultDictionaryCulture appSetting in the web.config and set it to the correct locale string - eg "en-AU"

As there are no en-GB dictionaries around, coaxing the spellchecker from en-US to en-GB spelling requires the following workaround:

Copy the en_AU files (en_AU.aff and en_AU.dic in umbraco/Plugins/HunSpellChecker/dict) and rename to en_GB.aff and au_GB.dic then change the web.config appSettings key="HunSpellCheckerDefaultDictionaryCulture" value="en-GB"

References

HunSpell: http://www.maierhofer.de/en/open-source/nhunspell-net-spell-checker.aspx

OpenOffice Extensions: http://extensions.openoffice.org

University of the Sunshine Coast: http://www.usc.edu.au

Screenshots

Package owner

Adrian Holland

Adrian Holland

Adrian has 106 karma points

Package Compatibility

This package is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
Version 8.18.x (untested)

You must login before you can report on package compatibility.

Previously reported to work on versions:

Package Information

  • Package owner: Adrian Holland
  • Created: 30/07/2013
  • Current version 0.6.0
  • License GPL
  • Downloads on Our: 2.2K

External resources