Technology Overview

Revision 07-17-2002

System Structure

The SpellChecker.net system consists of four parts:

  • Software, consisting of a spell-checker, a grammar checker and a thesaurus, that resides on the SpellChecker.net server.
  • Several lines of code that are embedded into the HTML code of web pages
  • A JavaScript file placed on the web server.
  • A simple CGI script installed on the web server.

System Operation

The system functions as follows:

  1. A user clicks the SpellCheck button or link to initiate the session.
  2. JavaScript code creates a pop-up window containing a form that displays the text to be checked.
  3. The form is automatically submitted to a CGI file on the server, passing the language as parameters. This process identifies unrecognized text and outputs the results in the pop-up window, providing suggestions for correction.
  4. Options are given to approve or ignore offered suggestions. When the user clicks any option button (except "Finish Checking") in the bottom frame, the center frame refreshes, showing current changes. Alternatively, if the user clicks an underlined word in the middle frame, the bottom frame refreshes, displaying alternatives for that word. In addition, the banner in the top frame refreshes each time an option is selected. This process continues until the user chooses "Finish Checking".
  5. When the "Finish Checking" button is selected, results are submitted to a simple proxy CGI file (sproxy.cgi), located on the client's server.
  6. The text passes from the CGI back to the location where the text originated. This workaround with CGI script is necessary, due to security restrictions coded into most browsers.

The detailed flowchart that describes the system's operation is available.

The current version has multiple-server functionality. Therefore, if the main server is down or there are network connection problems, the scripts will switch to secondary servers, making the service more reliable.
This functionality is disabled on the SpellChecker.net site now but available to customers who license the SpellChecker.net engine

The current version also includes "autospellcheck". This feature allows the option of automatically checking text, rather than pressing a button or link. If there are errors in the text, the SpellCheck window opens as usual. If there are no errors, text is automatically posted.

SpellChecker Server Software

SpellChecker.net server software consists of a spell-checker, a grammar checker and a thesaurus, which support multiple languages. It runs on a several platforms, utilizing third-party API. The current version was designed for and tested under WinNT 4.0 Server (SP4+) and Windows 2000 (SP2) platforms, FreeBSD 3.x, Linux.

An HTTP (web) server with CGI support is necessary for the system to operate. The server invokes an installed CGI script each time a check is requested. This script connects to an application server, which runs on this (or another) server and performs the required tasks. The application server then processes the request and returns the results to the CGI. In turn, these results pass back to the user's browser.

Server performance is based on processor speed. Neither a large amount of memory nor a fast hard drive is necessary for performance. The current version of the SpellChecker engine occupies 10-20 MB of disk space, plus log files. The current application server version utilizes approximately 25 MB of RAM under heavy load. CGI that accepts user requests requires an additional 1.5 MB of memory. Therefore, a typical server containing an operating system, an application server, a web server, and CGI scripts requires about 80 MB of memory.

Web Site Installation Requirements

The following steps are necessary to install the SpellChecker system:

  1. Go to our sign up page to register and receive a CustomerID number.
  2. Download our JavaScript file and follow the instructions to include it in your page.
  3. Download the sproxy.cgi file and copy it into your script directory. Some adjustments must be done to sproxy.ini file to include the correct path information.
  4. Edit the page that will contain the spell-checking feature, using our installation instructions (AutoSpellCheck version is also available).

    The following modifications must be made to the HTML page:
    • Add a control that will initiate each spell-checking session -- a button, link, or clickable image. The control could include any event capable of initiating a JavaScript code. This code calls a 'doSpell' procedure, which creates a pop-up window and starts the checking session. If the AutoSpellChecker feature is to be installed, then an "on/off" checkbox and "Options" button should also be added.
    • Add a <script> link to the header of the page, which points to the downloaded JavaScript file where the 'doSpell' function is defined.

    NOTE: If the SpellCheck feature is added to HTML that is not static and generated by some other system (for example, a message board or web-based mail system), the system itself (or templates that are used for generating output) must also be changed in such a way to produce HTML as described above.