Jaffa Logo
Home Contact Us FAQs Site Map
Source Forge: Homepage Bugs @ Sourceforge Mailing Lists @ Sourceforge Task Manager @ Sourceforge CVS @ Sourceforge
Jaffa Site
Jaffa Runtime
Jaffa RAD
Release Notes JAFFA v1.1.0

1. What's New in Version 1.1

Here is a brief summary of all the new functionality added...

  • We have several new patterns: ObjectFinder, ObjectViewer, ComponentSkeleton
  • We have a new UserGrid widget that supports user based personalization, it also include floating hints for large table support
  • We have a new FoldingSection widget to improve complex screen clutter
  • We have a new ComponentGuard tag which can be used to hide Buttons invoking in-accessible components
  • We have a new FunctionGuard tag which can be used to hide fields related to in-accessible business functions
  • We have a new LabelTag for displaying labels and messages
  • We have a new LookupTag for supporting Lookup components
  • We have a main menu component that can be used as an application entry point
  • We have the complete container based application security framework in place
  • We have the data security layer with built-in policy generator (needs Oracle 9i)
  • We have a new class MessageHelper for supporting labels and tokens
  • We have started developing migration tools, the first one allows you to move a complete Uniface Entity model to Jaffa Domain Objects
  • We have a new tool for checking a properties file for duplicate entries. This can be invoked by the build script at deploy time
  • We have created log4j.jsp for configuring Log4J at runtime
  • We have added a CodeHelper component to return a collection of code-value pairs for the input list of code types
  • We have created FinderComponent and LookupComponent to support Finders and Lookups respectively
  • We have created the MaintComponent and related Components/Listeners for supporting maintenance components
  • We have added Excel, XML export to the Finder Pattern. The Excel export supports the same personalization that the UserGrid supports

2. Fixes from v1.0.0

This is a list of fixes that have been included in this release...

Added source exception to the error log messages
Removed the attribute Description from the FieldMetaData class. The sub-classes were suitably modified
Refactored the DomainObject pattern to throw additonal exceptions from the validateXxx methods of each Domain class
Refactored the DomainObject pattern removing the description for each FieldMetaData object from the DomainMeta class. Added the Label for the domain object in the DomainMeta class
Enhanced the Table and Grid widget for better sorting and sizing
Refactored the ApplicationException class, getting rid of the BaseException.
Refactored the DomainObjectNotFoundException and MandatoryFieldException classes. They now extend the ApplicationException, as opposed to the FrameworkException
Added new raiseError methods to the FormBase, which take in an ApplicationException object
Refactored RaiseErrorTag, GridTag, TableTag, ButtonTag and DropDownTag to support tokens
Refactored the Formatter class to throw appropriate FormatXxxException instead of java.text.ParserException
Refactored the ValidationException to extend the ApplicationException as opposed to the FrameworkException
Refactored the DateOnlyFieldMetaData and DateTimeFieldMetaData classes to have separate default layouts for Parsing and Formatting functions.
Enhanced the parsing of DateTime fields to allow the entry of just the date part, or date + hours, or date + hours + minutes, or date + hours + minutes + seconds
Enhanced the EditBox widget to support Uppercase/Lowercase formats
Refactored the EditBoxController to enforce the case on the data, based on the meta data
Added a Queued flag to the Persistent class. This indicates if a domain object has been added/updated/deleted and not yet been committed
Enhanced the PersistentTransaction and JdbcBridge classes to set/reset the various flags on a Domain object
Enhanced the DataSourceFactory to invoke the JdbcSecurityPlugin before acquiring/releasing SQL Connections.
Fixed the TypeDefs class to handle single-quote characters passed in queries involving String fields
Refactored the BeanHelper to handle the FormatXxxException thrown by the Parser
Enhanced the JDOMParser by adding the IntValue property to JDOMParser.ValueObject
Enhanced the ActionBase to support the Refresh event
Enhanced the ActionBase to utilise the config property 'framework.security.portlet.invalidateSessionBeforeRedirectingToFinalUrl' for handling a null FormKey
Modifed the PortletServlet so that it longer caches Action.MESSAGES_KEY
Moved the logic for clearing the FormBean errors from the ActionBase class to the PortletServlet class
Enhanced the StartComponentAction to handle exceptions elegantly by forwarding to error pages
Modified the value of the static DEFAULT_FINALURL from '/index.html' to '/' in StartComponentAction
Enhanced the IComponent interface and Component class adding the property ReturnToFormKey, and the methods quitAndReturnToCallingScreen() and isActive()
Refactored the DateTimeController to handle the FormatXxxException thrown by the Parser
Fixed the contructor of the DateTimeModel class
Fixed the setValue method of the EditBoxModel to enforce case on the passed value
Fixed the clearRows() method of GridModel to reset the row-count
Enhanced the ButtonWidget adding the Confirm attribute which will prompt a client-side confirmation-message when the button is hit
Enhanced the ButtonWidget adding the Preprocess attribute which will control the client-side lazy-widget preprocessing
Enhanced the CheckBox widget to support a DisplayOnly attribute
Enhanced the EditBoxTag adding a default font
Enhanced the FormTag adding a new cookie caching mechanism for the errorpop up. It stamps the value in milliseconds of when the form was rendered
Enhanced the GridTag adding the NoRecords attribute
Refactored the getBaseTag() of HeaderTag to utilise the URLHelper
Enhanced the TableTag adding the NoRecords attribute
Enhanced the TextTag to format the data as per the input layout

3. Supported Infrastructure

3.1. Java

This project is based on JDK 1.4, it uses the regular expressions, advanced security, and other features of the JDK 1.4 release.

3.2. Tomcat 4.0.4

The framework has been tested on the full release of Tomcat 4.0.4. There are some class loader issues when using Tomcat 4.0.3, so we don't recommend that release.

This is the prefered container for deployment

3.3. Other Web Servers

The architecture is based on the J2EE 1.3 specifications for JSP and Servlets, Any container that supports this should be suitable for deployment.

3.4. Browser Support

The widgets currently support IE 5.5, although they work on IE 5.01, this version has a bug with caching pages even if they should not be, so we don't recommend it be used for that reason.

We have also tested all the widgets with IE 6.0, so you can now use this browser as well.

We currently have no demand for supporting Nestsacpe/Mozilla browsers, we may address this in a future release.

4. Solved Issues

4.1. Error Loading java.xml.bind.* classes

Although the jaxb-rt-*.jar is packaged in the WAR file WEB-INF/lib directory as required, Tomcat does not seem to be able to find it. We are currently looking into this problem

Work Arround - Copy the jaxb-rt-*.jar into the $JAVA_HOME$/jre/lib/ext directory and the missing classes should become visible to Tomcat.

Solution - Upgrading to Tomcat 4.0.4 seems to have solved this issue.

5. Known Issues

None at present

6. Things To Do...

This is a list of things that we are on the verge of implementing, but due to time constraints, have been squeezed out of this release.

  • The TagHandlers use methods/attributes that have been deprecated as of Java JSP API 1.2 and need to be upgraded
  • The jaffa-portlet.tld needs to be upgraded to the Java JSP API 1.2 specifications

File: release_notes_1_1_0.html, Last Modified: Wed Jun 18 2003 at 4:28:00pm. This site has been built using PPWIZARD