If an offline spell checker functionality is needed, you can download JSpell Evolution AJAX Spell Checker from http://www.jspell.com/ajax-spell-checker.html.
It may be desirable to install an offline spell checker for one of the two reasons:
- If you need to install custom dictionaries/thesaurus
- You are behind a firewall that prevent the application from accessing URLs outside the application's domain
Install JSpell Evolution AJAX spell checker
- Extract the downloaded file jspellevolutionw.zip and execute jspellevolution_0811c.exe. The number in the file name of the executable file will differ as per its current version.
- Click Next on the welcome screen of the installation wizard.
- Select Enter a License Key radio button and enter the license key in the box. Click Next.
- In the next screen, choose your web server from the list. In our case, choose Microsoft IIS (ASP.NET 2.0+). Set the Web server port to 80 and make sure that the checkbox is enabled for Install the JSpell service. Click Next.
- Specify the path to install JSpell Evolution and click Next. You can leave this at default.
- Next, you must specify your website document root. Click Browse.
- Browse and select C:\Inetpub\wwwroot since we are using Microsoft Windows IIS. Click OK and then Next. Click Next again.
- Click Finish to complete the JSpell Evolution setup.
- Open the ExamDeveloper appSettings.config using Notepad or a suitable text editor, add the below line, and save it.
Please ensure that the value of the above key is the path where the JSpell Evolution AJAX Spell Checker has been installed. Thus, if it is installed in a non-default location such as D:\JSpell Spell Checker, then the line should appear as below:
<add key="JSpellFolder" value="D:\JSpell Spell Checker"/>
Ensure the JSpell service is running
Ensure that the JSpell service is running in the following way:
- Run "services.msc" (click Start -> Run or Windows + R keys together, type "services.msc" in the Run dialog box, and click OK). Ensure that the Status shows as Started and the Startup Type is Automatic.
- If you don't see as above, then right click JSpell in the list and click Properties to open the JSpell Properties window.
- Select Automatic from the Startup type dropdown and click the Start button under Service status.
- This will start the JSpell service and set it to start automatically at Windows startup.
Grant Write access for the JSpell custom dictionary folder to "NETWORK SERVICE"
Granting the user "NETWORK SERVICE" read/write access to the "lexicons" folder in the "JSpell Spell Checker" directory (in our example, C:\Program Files (x86)\JSpell Spell Checker\lexicons) is necessary to be able to save custom dictionaries (exclusions) to be used with JSpell. This can be done as below:
- Navigate using Windows file Explorer to the "JSpell Spell Checker" folder (in our example C:\Program Files (x86)\JSpell Spell Checker), right click the "lexicons" folder inside it, and click Properties.
- Click Security tab in the folder Properties window that opens, and click Edit button.
Click Add in the Permissions window that opens next.
- Type "Network" in the Select Users or Groups window and click Check Names.
- Select NETWORK SERVICE in the Name (RDN) list and click OK.
- Click OK in the Select Users or Groups window.
- Make sure that the NETWORK SERVICE user is selected in the Group or user names list of the folder Permissions window, and check the checkbox for Write permission in the Permissions list near the bottom of the window. Click OK. Click OK again.
Check if JSpell and the custom dictionary works
Finally, you need to check if the JSpell spell checker as well as the custom dictionary are working as expected. The steps are detailed over here.
- Log into ExamDeveloper as a Manager and navigate to Manage -> Settings -> Dictionary.
- Add non-dictionary words in the custom dictionary as detailed over here.
- Navigate to Develop Questions -> Write Item -> Write Question and enter one of the saved non-dictionary words from step 2 in a TinyMCE window such as the Question Stem.
- Click the Check Spellings tool in the TinyMCE toolbar.
- If JSpell works as expected with the custom dictionary, then you will get a popup message stating "No Errors Found" as shown below.
- When a non-dictionary word, not present in the custom dictionary, is entered in any TinyMCE window and the spell checker is run, then the font color of the concerned word will appear red and it will be underlined. A Spell Checker box will open with various options as shown below.
Switching the spell checker dictionary (if required)
You can opt to switch the spell checker later if required as detailed here.
- Stop the JSpell service using the Services Control Panel. This can be done from the Services panel. Open the Services panel or open Windows Task Manager's Services tab. Locate the JSpell service in the list. Right click it and select Stop.
- Locate the JSpell installation folder. This is typically in the Program Files folder. For example on a 64-bit server the default location would be C:\Program Files (x86)\JSpell Spell Checker.
- Look for a folder named lexicons in the Jspell installation folder mentioned in the previous step. It will contain a file called lex_enUS.jdx. This file should be replaced by the dictionary file you need. For instance, to install the Stedmans dictionary, copy the file lex_enUS.jdx to the lexicons folder.
- Start the JSpell service. This can be done in the same way as it was stopped in step 1, except that you need to select Start after right clicking JSpell in the list. You can confim that the update was successful by misspelling a word from the new dictionary and checking for suggested corrections.