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 prevents the application from accessing URLs outside the application's domain
Ensure the JSpell service is running
- 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 check box 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.
Ensure 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 drop-down and click the Start button under Service status.
- This starts the JSpell service and sets it to start automatically at Windows startup.
The user who is going to be given Write access to the JSPell custom dictionary "lexicons" folder has to be the same user who is also the IIS user for this instance of ExamDeveloper. In our example, this is the user "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 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 select the check box 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.over here.
- Log into ExamDeveloper as a Project Manager and navigate to Manage → Settings → Dictionary.
- Add non-dictionary words in the custom dictionary as detailed in Set up a Dictionary for your Project.
- Navigate to Develop Questions → Write Item → Write Question and enter one of the saved non-dictionary words from step 2 in a Rich Text editor window such as the Question Stem.
- Select the Tools → Check Spelling menu in the Rich Text editor toolbar.
- If JSpell works as expected with the custom dictionary, then you will get a pop-up message stating "No Errors Found" as shown below.
- When a non-dictionary word, not present in the custom dictionary, is entered in any Rich Text editor and the spell checker is run, then the font color of the concerned word appears red and it is underlined. A Spell Checker box opens 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 contains 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 confirm that the update was successful by misspelling a word from the new dictionary and checking for suggested corrections.