
Release Notes - ERExtensions

Release 1 - Initial Release

Release 2 - January 15, 2002

General Notes
	The second release brings with it a host of improvements and additions to the
ERExtensions framework. A lot of work has been done to remove even more NetStruxr dependencies
as well as roll in more extensions. New in this release is NetStruxr's JUnit integration and 
testing harness extensions. This release also contains a fair amount of the ground work for 
the port to WO 5.  Detailed additions and modifications below. 

Resource Additions
Added jikes.bat and jikesSpec.plist for configuring of the Jikes compiler.
Added s.gif for all the spacer gifs used in the framework.

Foundation Additions
ERGraphUtilities - Utility methods useful when using GifPlot.
ERKeyValuePair - Holds one key-value pair, more light-wieght than a dictionary.
Linlyn - Can upload and download files from ftp servers

EOF Additions
ERDefaultEditingContextDelegate - Default editing context delegate.
ERQualifierUtilities - Added a bunch of EOQualifier comparision utility methods.
ERTolerantSaver - David Neumann's tolerant editingContext saver.
EventRecordingDefaultHandler - Default implementation of event handler interface.
FuzzyMatchCleaner - Generic interface used in conjunction with fuzzy searching abilitiies.
ReadStateTrackedInterface - Used as a generic interface for when a user views/reads an object.

WOF Additions
ERSSLUtilities - Java port of David Neumann's SSL.m
ERXDirectAction - Adds support for web-based re-configuration of log4j.

WOF Component Additions
AutoClosePage - Simple component that automatically closes, good for having return
	actions close the current window.
EREmptyComponent - Simple component, useful for WOSwitchComponents that shouldn't show anything.
ERFormForTarget - Useful for creating a javascript target for a WOForm submit action.
EROpenJSWindowSubmitButton - Submit button to open a new window with an action.
ERSingleButton - A stand alone submit button to be used as an action button.
ERStringWithLineBreaks - Displays a String, converting return characters to <br> tags.
ERXDirectActionHyperlink - Cool class allows you to specify the application host url, also handles eo serializing.
ERXStatelessComponent - Generic stateless component with some useful binding methods.
Graph - Nice component wrapper around GifPlot, just bind arrays and strings
LongResponsePage - Java port of WOLongResponsePage, now uses Java threads.

/* Back port additions from WO 5 used in Java conversions of ER obj-c subclasses. */
WOSortOrder.java (Back port from WO 5 WOExtensions)
WOTabPanel.java (Back port from WO 5 WOExtensions)
WOCollapsibleComponentContent (Back port from WO 5 WOExtensions)
WOToManyRelationship (Back port from WO 5 WOExtensions)
WOToOneRelationship (Back port from WO 5 WOExtensions)
WOTable (Back port from WO 5 WOExtensions)

JUnit Additions
ERBatchTestInterface - Used for running a batch of tests.
ERTestListener - template listner interface.
ERTestResult - extensions to hold multiple errors and failures.
ERTestRunner - runs tests with ERTestListeners.
ERWOTestResult - WOComponent display of an ERTestResult.
ERWOTestInterface - component for ineractively running tests.

Log4j Additions
EREOFAppender - log4j Appender used to log events using EOF.
EREOFLogEntryInterface - Interface implemented by EOEnterpriseObjects used for logging events.
Log4JConfiguration - WOComponent that can dynamicly re-configure the log4j system (lists all categories).

Noteworthy Fixes/Modifications
CheckCookies - Fixed javascript bug in CheckCookies
ERDatabaseContextDelegate - Added Kelly Hawks' fix for the missing to one relationship
ERCheckboxMatrix - added sortKey binding to sort the list.
EREditingContextDelegate - better exception handling and better log4j logs. 
ERExtensions - More convience methods including fuzzyMatching abilities and forcing garbage collection.
ERGenericRecord - Fixed a caching bug with willFixToOneRelationship/
ERLog4j - Added simple variable resolution for ERApplicationName, useful for using one configuration for multiple applications, but logging to different files.
ERPatternLayout - Added StackTracePatternConverter to print the stack trace where the log event is generated,
	meant to help solve the age old question 'Where the hell did that method get called?'
ERPrimaryKeyListQualifier - Added ability to generate sql for prefetching toOne relationships effeciently.
ERSharedEOLoader - Fetch optimization resulting in half the number of database roundtrips at startup for completely 	shared EOs. 
ERSimpleTemplateParser - Now handles two objects for template resolution.
ERSortOrder - Java port, also added ability to specify sort images via bindings.
ERStyleSheet - Added binding for favIconLink.
ERTabPanel - Support for form submitting with hyperlinks on IE.
ERToManyRelationship - Java port, added in all of the cool additions that ERToOneRelationship has.
ERToOneRelationship - Java port, now subclasses WOToOneRelationship.
ERUtilities - More utilities for create eos and datasources as well as printing stack traces.
ERValidation - Added boolean to determine if the value failing validation should be pushed anyway onto the object.
ERXSession - Better browser detection.
ERXValidationFactory - Rapid turn-around changed validation templates in developement.

Java Ports
- Ported ERSortOrder.m -> ERSortOrder.java (now subclasses WOSortOrder.java)
- Ported ERTable.m -> ERTable.java (now subclasses WOTable.java)
- Ported ERToManyRelationship.m -> ERToManyRelationship.java (now subclasses WOToManyRelationship.java)
- Ported ERToOneRelationship.m -> ERToOneRelationship.java (now subclasses WOToOneRelationship.java)
- Ported ERCollapsibleComponentContent.m -> ERCollapsibleComponentContent.java (now subclasses WOCollapsibleComponentContent)
- Ported SSLContainer.m -> SSLContainer.java
- Ported SSL.m -> ERSSLUtilities.java
