Wintertree Spelling Server |
Home Site index Contact us Catalog Shopping Cart Products Support Search |
You are here: Home > Support > Wintertree Spelling Server > Revision History
Contents:
Wintertree Spelling Server is now available in a 32-bit version (as before) and a new 64-bit version. There are no other functional changes to Wintertree Spelling Server in this release.
Wintertree Spelling Server now uses a new installer program that detects whether the target system is a 32-bit or 64-bit version of Windows. For 32-bit systems only the 32-bit version of Wintertree Spelling Server is installed. On 64-bit systems the person doing the installation is prompted as to whether to install the 32-bit version or the 64-bit version.
Two examples have been added that make it easy to display the Spelling Server event log.
Use
http://<yourdomain>/asp/ShowEventLog.asp
to display the event log from the ASP (COM) version of
Wintertree Spelling Server, and
http://<yourdomain>/asp.net/VBShowEventLog/ShowEventLog.aspx
to display the event log from the .NET version of Wintertree Spelling Server.
Wintertree Spelling Server is now about 180% faster when used in ASP applications, and about 92% faster when used in ASP.NET applications (based on comparisons using the Performance examples checking the same document on the same server in version 1.7 and 1.8).
The ASP.NET examples have been updated for compatibility with Visual Studio 2005.
New C#.NET and VB.NET classes are now provided. These classes encapsulate Spelling Server's API.
Constants used in arithmetic expressions have been moved outside of enumerations in the Spelling Server .NET classes. The constants are now typed as simple integers, meaning it is no longer necessary to cast them when performing arithmetic operations.
A new method, CheckAllText, has been added to Spelling Server. The CheckAllText method checks all words contained in a string in one operation, and returns information about each misspelled word found. Because all the work is done in a single call, CheckAllText can be considerably more efficient than CheckText, which required one call per spelling error detected.
Spelling Applet now displays the sentence (where possible) containing the misspelled word in the context area, rather than the entire text being checked. This works around a bug in Sun's Java library on many browsers, where words in multi-line text areas would be highlighted and replaced incorrectly.
The event log is now kept in an in-memory buffer rather than in disk files. On many systems, permissions prevented web applications from writing to files outside of the application's folder, so nothing would be logged, making problem diagnosis difficult.
When a Spelling Server method returns an error code, the examples now display Spelling Server's event log on the browser. This makes it easier to access the event log for diagnosing the cause of the error.
Spelling Server now accepts Unicode text for checking. Text strings returned by Spelling Server (e.g., suggestions, alternate words) are Unicode strings.
Two new options, INCLUDE_AMPERSAND_OPT and INCLUDE_SLASH_OPT, have been added. These options control whether ampersands (&) and forward slashes (/) surrounded by alphanumeric characters should be considered part of the word or treated as word separators.
Bug fixes:
A problem where ASP Example 6 would display "document.editUserDict.userDict is null or not an object" has been corrected.
A simple default.asp is now included with ASP Example 4 to prevent an error message from appearing if the "Submit" button is pressed.
The DelText method now correctly returns the actual number of characters deleted.
The CheckText, InsertText, GetTextWord, NextTextWord, and WordCount methods no longer crash if a large block of text (~110K) is passed. This problem occurred only in the COM DLL used in ASP applications.
The Edit User Dictionary form in ASP Example 4 no longer loops if the user dictionary cookie is not defined.
ASP Example 4 and ASP.NET Example 3 now work correctly with Macintosh clients.
ASP.NET Example 3 now works correctly with pages containing multiple forms.
Clicking the Edit User Dictionary link in the C# version of ASP.NET Example 5 now brings up the correct form.
ASP Example 5 no longer displays a syntax error when run.
The ASP Performance example no longer displays a "type mismatch" error if no value is entered into the "number of runs" field.
The C# version of ASP.NET Example 1 no longer displays an error message when the Submit button is clicked.
A problem where words would incorrectly be reported as misspelled when WSS_SPLIT_WORDS_OPT was enabled has been corrected.
A bug that caused some suggestions to be incorrectly deleted has been corrected.
A problem involving automatic correction of words that differ only in letter case has been resolved.
A problem where the next misspelling would not be reported if Ignore All was clicked after a doubled word was reported in ASP Example 4 and ASP.NET Example 3 has been corrected.
A problem where the same word appearing in other fields would not be ignored or replaced when the Ignore All or Change All buttons were pressed in ASP Example 4 and ASP.NET Example 3 has been corrected.
A problem that caused Spelling Applet to sometimes display the suggestion list in the Change To field has been corrected.
A set of ASP.NET examples implemented in the C# language is now included. Each ASP.NET example is now implemented in both Visual Basic.NET and C#.
Wintertree Spelling Server is now implemented as a .NET managed component. The managed component includes all Wintertree Spelling Server methods and enumerated constants.
Wintertree Spelling Server now looks for a string value named DictionaryPath in the registry (under the Languages tree). Any dictionary files listed in the Dictionaries string values in the registry are now opened in the folder indicated by the DictionaryPath value (unless the dictionary files include full paths).
Wintertree Spelling Server now creates its event log in the folder indicated by the EventLogPath string value in the registry. If the EventLogPath value does not exist, event logging will be disabled.
A file named WintertreeSpellingServer.inc is now included. This file contains definitions of all constant names referenced in the user's guide.
The name of the Wintertree Spelling Server COM object has changed to "SpellingServer" (previously it was "WintertreeSpellingServer").
A dictionary containing technical and Internet terms (such as "emoticon" and "spammer") is now included.
A backup copy of updated user dictionaries is now made if WSS_BACKUP_LEX_OPT is enabled. The backup is written to a file of the same name as the user dictionary file with a ".bak" extension.
User dictionary files are now updated in place. Previously, the updated dictionary contents were written to a temporary file, which was then renamed or copied to the original file name. Any permissions or other operating-system dependent attributes assigned externally to the user dictionary file were therefore lost. The new approach prevents loss of permissions.
URLs, e-mail addresses, and numeric IP addresses are now also ignored when WSS_IGNORE_DOMAIN_NAMES_OPT is enabled.
The criteria for determining if text contains a domain name are now more restrictive.
The typographical suggestion algorithm now has better handling for words misspelled by doubling letters or failing to double letters when required.
When WSS_IGNORE_HTML_MARKUPS_OPT is enabled, suggestions and replacement words no longer contain embedded HTML character entities in place of non-ASCII characters. Previously, if a suggested word contained a non-ASCII character (as in døg) a character entity was inserted in its place (as in døg) (but only if WSS_HTML_MARKUPS_OPT was enabled). Applications which require character entities in place of non-ASCII characters can perform the substitution.
Bug fixes:
The WordCount method now correctly returns 0 when passed an empty string.
Words containing a "curly" apostrophe (character 146) added to the ignore-change list would are now ignored.
The Ignore Mixed Digits option now works correctly in ASP Examples 4 and 6 and ASP.NET Examples 3 and 5.
ASP Example 6 now uses an independent JavaScript script file for consistency with other examples. Previously the JavaScript code was embedded in the HTML file.
When ASP Example 4 is run from a new client, a JavaScript error message indicating that a variable contains an undefined value is no longer displayed.
When a word ended in a period, and the period was followed by a single quote (e.g., dog.'), the word would be checked with the period intact, resulting in a spurious spelling error. This problem has been corrected.
Various problems with case patterns in replacement words have been corrected.
Checking performance when WSS_SPLIT_WORDS_OPT is enabled has been improved.
The German ß character is now correctly treated as lower-case.
Characters such as "@" and ":" are now treated as word separators when WSS_IGNORE_DOMAIN_NAMES_OPT is enabled, unless they appear in a string that appears to be a URL or e-mail address. Hyphens and underscores are treated the same way as alphabetic characters in domain names.
Ampersands in URLs are no longer treated as HTML character entities when WSS_IGNORE_HTML_MARKUPS_OPT is enabled. Also, a newline character encountered in an HTML character entity is treated as the end of the character entity.
Possessive initialisms (e.g., D.A.'s) are now parsed correctly.
Examples for ASP.NET have been added to Wintertree Spelling Server. The "examples" directory now contains two subdirectories: "asp" for ASP examples, and "asp.net" for ASP.NET examples. Currently, all ASP.NET examples are coded in Visual Basic.net.
Documentation describing how to use Wintertree Spelling Server with ASP.NET has been added to the user's guide.
A new example demonstrating how to use Wintertree Spelling Server in validating key words entered by the user in a search form has been added. The new example is ASP Example 7 and ASP.NET Example 6.
JavaScript code used by both ASP and ASP.NET examples is now contained in separate script files (with a ".js" extension). The script files are referenced through the "SRC=" parameter in the <SCRIPT> tag. This approach makes it easier to use JavaScript code from the examples in your applications.
Example 1 now displays its results in a pop-up window. This approach helps to isolate the spell-checking code used in Example 1 from your application.
ASP Example 4 (formerly Example 6) now highlights the misspelled word in the text area containing it, but only if the browser is Internet Explorer. ASP.NET Example 3 also highlights the misspelled word in IE.
The spelling form displayed by ASP Example 4 (formerly Example 6) has been reduced in size to occupy less screen space.
Domain names containing underscores and hyphens are now ignored when WSS_IGNORE_DOMAIN_NAMES_OPT is enabled.
A problem where four exclamation marks in a row (!!!!) would cause looping in ASP Examples 2 and 3 (formerly Examples 2- 5) has been corrected.
A problem where words contained in the user dictionary in ASP Example 4 (formerly Example 6) would be reported as misspellings has been corrected.
Canadian English dictionaries are now included with Wintertree Spelling Server.
Two new examples are included with Wintertree Spelling Server. Example 6 demonstrates use of an independent pop-up form to check spelling. Use of this approach to check spelling requires minimal integration with your application. The second new example, Example 7, demonstrates spell-checking as part of form validation. When a form is submitted, its fields are validated for correctness and consistency, including spelling correctness. Any errors (including spelling errors) cause the form to be returned to the client, with annotations explaining the errors. In the case of spelling errors, buttons are included which permit the user to ignore or correct the misspelled words.
Handling of URLs and e-mail addresses has been improved when WSS_IGNORE_DOMAIN_NAMES_OPT is enabled.
Various improvements to the typographical suggestion algorithm have been made.
A problem where an error message would be displayed when deleting the second occurrence of a doubled word in Examples 2 - 5 has been corrected.
A problem where the context area displayed by Spelling Applet was not read-only has been corrected.
The "x" icon in the Spelling Applet's dialog window now acts like the Cancel button.
A timing problem where the Spelling Applet examples would display the "Spelling Complete" message while the Spelling Applet was still active has been fixed.
If Spelling Applet's check method is called while the applet is visible, the applet will now be brought to the front of the window stack. From the user's point of view, clicking the "Check Spelling" button on a form which uses Spelling Applet makes the applet visible. This is helpful in situations where the Spelling Applet becomes obscured by the browser's window.
Two new parameters (OriginX and OriginY) have been added to Spelling Applet. These parameters allow the screen position of the applet to be specified.
The ContextAreaWordWrap parameter has been added to Spelling Applet. This parameter causes text in the applet's context area to wrap at word boundaries.
If SpellingApplet's "AddButtonLabel" parameter is set to an empty string, the "Add" button will be hidden in the applet's dialog box. This provides an easy way to prevent users from adding new words which will be skipped over by the spelling checker.
A problem where the Spelling Applet would raise a NullPointerException when checking an empty text area in Internet Explorer has been corrected.
Various problems that prevented the Spelling Applet from running on older browsers or browsers with older Java libraries have been corrected.
A problem which caused the Spelling Applet examples to stop checking text areas when one text area was empty has been fixed.
A problem where the user dictionary edited using the "edutuserdict.html" script was incorrectly formatted, making the dictionary ineffective, has been corrected.
A problem where the Spelling Applet would raise a NullPointerException under Internet Explorer if the user dictionary was empty has been corrected.
Wintertree Spelling Server now includes an applet interface for true client/server spell checking. The applet communicates with a script running on the server to check spelling, and interacts with the user to dispose of any spelling errors detected.
New examples have been included to demonstrate "stateless" spell checking. Previous examples relied on Session variables to hold state; this made them unusable in a multi-server environment. The new examples store state information in hidden HTML form fields.
If a misspelled word containing an apostrophe is disposed by clicking "Ignore All", the examples now correctly ignore the word.
A problem where the examples would not correctly handle text containing double quotation marks has been corrected.
The Start method can now be called safely at any time, including concurrently with other methods. In addition, the Start method is now called automatically by the CheckText and Suggest methods if it has not already been called.
Events are now logged to a set of log files, one file per day of the month. This arrangement keeps an historical record of significant events (up to one month's worth) without consuming excessive disk space. See the "Troubleshooting" section of the user's guide for more information on event logging.
An "invalid parameter" error would be raised when a numeric value was converted to a string, then passed as a Variant parameter to a Spelling Server method. This would happen, for example, if the cursor value was saved in an HTML form field and retrieved through the Request object, then passed to the CheckText method's cursor parameter. This problem has been corrected.
A problem where the AddToUserDict method would not create a user dictionary if it didn't exist has been corrected.
When the WSS_IGNORE_NON_ALPHA_WORDS_OPT option is set, the same numbers appearing twice in a row will no longer be reported as a doubled word.
A problem with the suggestions produced for plural possessives (e.g., girls') has been corrected.
A problem in "Example2" where the case pattern of the first replacement was different that the case pattern of subsequent replacements in a "change all" operation has been corrected.
First release.
Copyright © 2015 Wintertree Software Inc.