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
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