EAF 7.1-1 Release Notes


What is new in Release 7.1-1

This chapter lists new release changes:

  • DODS API is integrated in EAF API now (not part of DODS any more).
  • SessionManager functionality extended with empty session path support.
    • EmptySessionPath - new SessionManager configuration parameter whitch determins whether to use empty path (/) as session cookie path attribute value! Recognized values are true or false (default is false).
  • Request/Response pre/post processing:
    • Profiling mechanism introduced
      • "RequestPreProcessor.TimeProfiler" - profiling configuration option for request pre-processors
      • "ResponsePostProcessor.TimeProfiler" - profiling configuration option for response post-processors
      • Recognized number values:
        • Negative - profile all
        • Zero - no profiling
        • Positive - profile processing that took longer that specified amount of milliseconds
    • org.enhydra.util.ajaxforms - package contains sample response post-processor implementation (and utility classes) as integrated support for AjaxForms XForm engine.
    • org.enhydra.util.chiba - Chiba XForm engine support implementation is improved.
      • Chiba pre-processing enabled scripting (Ajax) support! Because of this we've integrated DWR (version 1.1.3) project binaries.

What is new in Release 7.0-5

This chapter lists new release changes:

  • Request/Response pre/post processing:
    • Chiba pre-processing enabled scripting (Ajax) support!
    • Introduced generic XSLT pre and post processor!
      • org.enhydra.util.xsl.GenericXSLTPreProcessor - collects request parameters (starting with configured prefix) and introduces them into SessionData object.
      • org.enhydra.util.xsl.GenericXSLTPostProcessor - gets SessionData parameters (starting with configured prefix) and translates them to the configured XSL transformation.

What is new in Release 7.0-4

This chapter lists new release changes:

  • Request/Response pre/post processing:
    • Chiba pre-processing logic changed in order to enable standardized XForm engine submission handle!
    • FormFaces post-processor implemented as another XForm engine support!
    • PDF post-processor implementation changed to support all FOP output formats (PDF, XML, TXT, SVG, MIF, PS, PCL). Therefore, according to new functionality present implementation changed name from 'Fo2PdfResponsePostProcessor' to 'Fo2FopResponsePostProcessor'
    • org.enhydra.util.RequestPreProcessor - interface extended enabling object cloning.
    • org.enhydra.util.ResponsePostProcessor - interface extended enabling object cloning.
    • All 'RequestPreProcessor' and 'ResponsePostProcessor' implementations are now calculating all configuration file (directory) paths (if any) from application configuration file itself!

What is new in Release 7.0-3

This chapter lists new release changes:

  • DODS maintenance - version 7.0-3 is included in this release.

What is new in Release 7.0-2

This chapter lists new release changes:

  • XMLC maintenance - version 2.2.10 is included in this release.
  • Axis maintenance - version 1.4 is included in this release.
  • Xalan - Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. Version 2.7.0 integrated!
  • Fop - Apache FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter. It is a Java application that reads a formatting object (FO) tree and renders the resulting pages to a specified output. Version 0.20.5 integrated!
  • Chiba - Chiba is an Open Source Java Implementation of the W3C XForms standard 'that represents the next generation of forms for the Web'. Version 1.2 integrated!
  • Request Pre-Processing and Response Post Processing introduced to TAF -
    • com.lutris.appserver.server.RequestPreProcessingManager - pre-processing manager that manages initialization of configured request pre-processors and triggers their request processing if needed.
    • com.lutris.appserver.server.ResponsePostProcessingManager - post-processing manager that manages initialization of configured response post-processors and triggers their response processing if needed.
    • com.lutris.appserver.server.httpPresentation.HttpPresentationResponse - introduced response post-processing manager.
    • com.lutris.appserver.server.StandardApplication - introduced request pre-processing and response post-processing manager.
    • org.enhydra.util.RequestPreProcessor - New interface Introduced! Implementation does some additional request processing before its access to the PO object.
      • org.enhydra.util.chiba - package contains sample request pre-processor implementation (ChibaRequestPreProcessor) and utility classes.
    • org.enhydra.util.ResponsePostProcessor - New interface Introduced! Implementation does some additional response processing before its returned to the client.
      • org.enhydra.util.chiba - package contains sample response post-processor (ChibaResponsePostProcessor) implementation and utility classes.
      • org.enhydra.util.fo.Fo2HtmlResponsePostProcessor - sample response post-processor implementation.
      • org.enhydra.util.fo.Fo2PdfResponsePostProcessor - sample response post-processor implementation.
      • org.enhydra.util.xml.Xml2FoResponsePostProcessor - sample response post-processor implementation.
  • com.lutris.appserver.server.httpPresentation.servlet.HttpPresentationServlet - initialization of DODS asynchronous cache load is started right after application startup.
  • com.lutris.appserver.server.StandardApplication - 'Init_Async_Cahe_Load' Database Manager MBean operation introduced. Starts DODS async cache load with configurable thread number.
  • com.lutris.logging.StandardLogChannel - Standard logging message now displays name of the current thread.
  • com.lutris.appserver.server.httpPresentation.servlet.ServletHttpPresentationResponse
    • writeDOM(XMLObject) -> writeDOM(Node)
    • writeDOM(OutputOptions, XMLObject) -> writeDOM(OutputOptions, Node)

What is new in Release 7.0-1

This chapter lists new release changes:

  • Session Interface Extended - We've extended 'Session' interface with "setHttpSession()" method in order to enable complete (including SessionData) session serialization for 'Container Adapter Session Manager' implementation group.

What is new in Release 7.0-beta1

This chapter lists new release changes:

  • JNDIAdapter (bug fix) - resolved problem with null JNDI context element registered.
  • MBean Implementation - Multi Join Qerry Cache administration and monitoring enabled.
  • Configuration Files - Changed default configuration file initialization option (ConfFileClass) for "HttpPresentationServlet" (from "com.lutris.util.ConfigFile" to "org.enhydra.util.XMLConfigFile"). We have also introduced the default value for the other initialization parameter ("ConfFile" - path to configuration file) - "web.xml". This way, we have simplified required Enhydra servlet ("HttpPresentationServlet") "web.xml" definition!
  • XMLC maintenance - version 2.2.9 is included in this release.

What is new in Release 6.6-1

This chapter lists new release changes:

  • Revised PO caching procedures.
  • Axis request recognition adapted.
  • Improved existing ('web.xml' defined) configuration parameter initialization (definition support). 'Config' object now supports diferent configuration parameter types (not only 'java.lang.String').
  • Implemented encoding support for MIME header initialization.
  • XMLC maintenance - version 2.2.8.1 is included in this release.
  • Axis maintenance - version 1.2.1 is included in this release.

What is new in Release 6.5-1

This chapter lists new release changes:

  • 'SessionManager' implementation changed:
    • 'ContainerAdapterSession', 'ContainerAdapterSessionManager' and 'JmxContainerAdapterSessionManager'- implementations revized.
    • 'TomcatContainerAdapterSessionManager' - new implementation included. This 'SessionManager' implementation offers better Tomcat Session Manager wrapping.

What is new in Release 6.4-1

This chapter lists new release changes:

  • Changed initialization of 'MultiserverClassloader' for Enhydra Manager ('HttpPresentationServlet' implementation).
  • Application MBean:
    • Adapted application MBean naming (name <-> type).
    • Changed Application Context parameter (Context MBean initialization).
    • Changed 'getAppInfo()' method implementation for base EAF MBean implementation - calls 'toHtml()' application method if one exists.
  • Resolved problems with PO resources caching (e.g. applet loading).
  • Resolved problem with binaries (loaded by 'MultiClassLoader') locking after 'HttpPresentationServlet.destroy()' method call.
  • Fixed problem with multiple EAF-AxisService instances deployed (in case o shared EAF binaries)  - 'AxisService' was "static" attribute of 'HttpPresentationServlet'. That cased successful initialization of first EAF-Axis service but disabled initialization of others (if any) 'EAF-AxisService' instances defined.

What is new in Release 6.3-1

This chapter lists new release changes:

  • Implemented new 'StandarApplication' MBean logic. All application MBeans extend basic (abstract) 'org.enhydra.util.EafConfigMBean' implementation which implements basic set of Dynamic MBean -> Application Config object operations.
    Every application on its startup registers next set of Dynamic MBean's:
    • Context - gives basic information about application context (full application name, context name an absolute context path),
    • SessionManager - enables basic 'SessionManager' administration (one for every application),
    • PresentationManager - enables basic 'PresentationManager' administration (one for every application),
    • DatabaseManager - enables basic 'DatabaseManager' administration (one for every application - if one is registered),
    • Database-<Database Name> - (one for every logical database registered to application 'DatabaseManager'),
    • Database.Table-<Database Name>.<Table Name> - (one for every table found),
    • ApplicationConfig - administration of the rest (not SessionManager, PresentationManager or DatabaseManager) of configuration parameters (one for every application).
  • Changed creation of session key for new session in 'StandardSessionManager' in case of director request (support for new director implementation).
  • Changed cookie creation in cases when new session is created (no more slash at the end of the path parameter in cookie).
  • 'MonologFileLogger' (an extension of a Logger that channels the logging trough Monolog instead of Tomcat's default 'FileLogger') renamed to 'TomcatMonologFileLogger' - naming issue only (makes logger nature more obvious).
  • JAVA 1.5 support.
  • Included new EAF tool (with purpose to enable JAVA 1.5 support): 'Crimson' - Java XML parser.

 

What is new in Release 6.2-2

This chapter lists new release changes:

  • EAF logging configuration process adapted to accept relative (not only absolute) path to Log4j or Monolog configuration file ('Log4j' or 'Monolog' parameters defined in application configuration file).
  • Implemented 'StandardApplication' session initialization before first application request redirection.
  • Removed existing SessionManager parameter - 'SessionEncodeRandomParameter' (Peter Stehlik patch).
  • Implemented new SessionManager parameter - 'SessionEncodeFirsUrl'. Parameter indicates whether to (session) encode default application url ('Application.DefaultUrl' parameter in application configuration file) or not. This is optional parameter with default value set to false.

    NOTE: This parameter is closely connected to 'SessionEncodeUrlState' (Always, Auto (default) and Never) parameter. If 'SessionEncodeUrlState' value is set to 'Always' then 'SessionEncodeFirsUrl' parameter value will be forced to true and if 'SessionEncodeUrlState' value is set to 'Never' 'SessionEncodeFirsUrl' parameter value will be forced to false.

    Parameter helps to preserve initial application session during first request redirection when the URL based session tracking is used (i.e. either cookies are disabled or the "SessionEncodeUrlState" is set to "Always" in the application configuration file) - bug reported by Peter Stehlik.

  • XMLC maintenance - version 2.2.6 is included in this release.

    IMPORTANT NOTE: New XMLC (version 2.2.6) requires that DOM3 interfaces are supplied at both buildtime and runtime (XMLC's compatibility for running under JDK1.4.x). Because of that we had to include additional DOM Level 3 API binary (dom3-xml-apis.jar: acquired from last dom3 Xerces release - version 2.6.2).

  • Xerces binaries now included as independent tool (till now they have bin a part of ANT's binary distribution).

    Xerces binaries included:

    • xercesImpl.jar - Xerces 2.6.2
    • xml-apis.jar - Xerces 2.6.2
    • dom3-xml-apis.jar) - DOM3 Xerces 2.6.2-beta2
  • Included license and version files for all used tools.
  • Included patch - adapted 'StandardSessionManager.deleteSession(sessionKey )' method to allow deletion of passive (not just active) sessions. Thanks to Michael Strapp.

What is new in Release 6.1-1

This chapter lists new release changes:

  • Fixed problem with memory persistence parameter (Application Configuration Parameter in web.xml , SessionManager/MemoryPersistence). Sessions will be held in memory during restart application
  • Suport for parameter idle time for sessions (Application Configuration Parameter in web.xml , SessionManager/MaxIdleTime) for ContainerAdapterSessionManager and JmxContainerAdapterSessionManager.
  • Fixed problem with two same cookies in response when using ContainerAdapterSessionManager or JmxContainerAdapterSessionManager.
  • Implemented ('StandardApplication') unregistration of application MBean's at applications shutdown (for MBean-s registered during applications startup).
  • Implemented 'ConfConfigurationFactory' class which provides the possibility of reading application configuration parameters from '<appName>.conf' file.
  • Fixed problem with character encoding. Support for Servlet 2.3/2.4 specifications , method setCharacterEncoding(java.lang.String env).
  • New parameter added (Application Configuration Parameter in web.xml, Application/Encoding ). Specify character encoding which will be used by server to encode form data.
  • Included patch in available() method - com.lutris.mime.MultipartMimeInputStream class. Many thanks to Michael Strapp.

What is new in Release 6.0-1

This chapter lists new release changes:

  • Integrated all implementation changes from Enhydra 5.1-16 (since Enhydra 5.1-1)

EAF

Enhydra Application Framework (EAF) is a collection of Java classes, which provide the runtime infrastructure for Enhydra applications. It implements the Enhydra "super-servlet", provides dynamic URL-JSESSIONID rewriting, PO caching, session-, database-, logging-, configuration- and XMLC API's.

The Enhydra application framework includes:

1. Presentation Manager
2. Session Manager
3. Database Manager
4. Configuration
5. Logging

In general, the application framework includes all the classes in the com.lutris.appserver.server.* packages, which provide the infrastructure that Enhydra applications use at runtime.

These release contains next jar files:

1. Core:

2. Logging:

3. Session:

4. Configuration

5. External Tools:

6. Servlet

 

EAF Tools

This chapter lists tools within EAF used during build, compile and/or runtime.

  • Ant - version 1.5.4
  • AntContrib - version 1.5.2
  • Axis - version 1.2beta 1320 March 31 2004
  • Catalina - Tomcat's jar used for Monolog logging adapter
  • Commons-logging - version 1.0.3
  • dods - version 6.0-1
  • Jetty - Jetty's jar used for Monolog logging adapter
  • jivan - version 1.0
  • jmx - mx4j implementation version 2.0.1
  • log4j - version 1.2.8
  • Monolog - version 2.3.1
  • XMLC - version 2.2.5
  • Servlet - Enhydra 5.1-16 servlet.jar

NOTE: EAF contains only necessary binaries of its tools.

Platform and system information

Table of Contents

Platform support
JDKs

Platform support

Through the open-source development process, EAF have been used on a wide variety of platforms.

JDKs

  • Sun JDK 1.4.x on Windows (NT,2000 & XP), Linux, Solaris