Enhydra 3.1 release notes
These release notes include:
Platform, system, and install requirements
- The Windows InstallShield program will require you to install the Cygnus Tools and all Enhydra Packages to the drive containing your Windows installation. For information on installing Enhydra on a different drive than your Windows installation, see the FAQ at http://www.enhydra.org/project/faq/index.html
- WinZip 5.6 may have problems with the long file names. Use
jar, WinZip 6.0 or higher, or another ZIP extraction tool.
- Solaris users using the TAR version should use the GNU TAR utility,
gtar, to extract files.
The minimum recommended system configuration is:
- 128 MB RAM
- 200 MHz processor or better
- 120 MB disk space (see note below)
- Java Development Kit (JDK) 1.2.2 or 1.3
- Cygwin tools (Windows only)
- JDBC-compliant SQL database for database access
Note: The disk space specified above reflects the minimum system requirements to install and run the Enhydra example applications. A minimum installation consists of:
- JDK 1.2.2 or 1.3 (approximately 50 MB)
- Enhydra 3.1 (approximately 50 MB)
- InstantDB (approximately 2 MB)
- Cygwin tools (Windows only, approximately 16.5 MB)
New features in 3.1
- Improved application performance with Java 2 version 1.3 support (JDK 1.3)
- Support for server side redirects
Enhydra XMLC 2.0
- Up to five times faster at runtime with new Lazy DOM - faster output of DOMs using cached, pre-formatted text
- Compile time includes using SSI syntax
- Updated XML parser using Xerces version 1.2.0
- Updated HTML parser using the latest HTML Tidy
- The HttpPresentationResponse interface has a new method, writeDOM(XMLObject), to output a document object model (DOM)
- XMLC will use the platform-default encoding when the encoding is not specified for HTML files
Kelp 2.0 (Enhydra IDE tools)
- JBuilder 4 and 3.5, and JDeveloper 3.1 support
- Servlet 2.2 support
- Enhydra Application wizards for Web Applications and Enhydra super-servlets
- Web and wireless sample applications demonstrating how to use XMLC with the Servlet 2.2 API
- Enhanced property pages for setting XMLC options by file, folder and project
- Enhanced support for WML, JSP, and WAR files
- Enhanced Enhydra Deployment wizard for processing configuration templates, deploying static content and generating deployable archives
- Enhanced Import wizard with Makefile reader for setting up new IDE project files for existing Enhydra applications
- Automatic population of document root with static resources such as cascading style sheets, static HTML files and images
- Bug fixes and enhancements to the DODS engine
- Improved Java-database type mapping scheme
- Improved database code generators
- Query class improvements for complex queries
- You must recompile your pages with XMLC.
- The LazyDOM is the default, which will improve runtime performance of pages where most data remains static. If a page is mostly dynamic data or a large percentage of the page is traversed (such as using
getElementById()), the LazyDOM may be slower. In which case, compiling with
-dom xerces will revert to the standard DOM.
- The way XMLC DOM factories work has changed considerably and is not backwards compatible. If you use custom factories in your projects, you may have to change your code to reflect the new functionality.
- DiscRack now comes pre-configured to use InstantDB. DiscRack expects
jta-spec1_0_1.jar in the
@OUTPUT@/../libdirectory. Make sure you copy the InstantDB JAR files to this directory.
- When you enter the XMLC option
-urlmapping in the XMLC wizard, it should not have double or single quotes around the mapped files. For example, adding
-urlmapping "Welcome.html" "Welcome.po" does not work.
-urlmapping Welcome.html Welcome.po does work. Quoted files do work, however, when you use
xmlc from the command line. (Bug 10449)
- In order to create the data layer in the sample applications, you must build them first at the command line using
make. There is no way to run DODS to create data objects and create the tables in your database from within Kelp. (Bug 10403)
.xml file type is not included by default in the XMLC types tab in the XMLC wizard. Add
xml as a new extension. (Bug 10438)
- When you start JBuilder 4, the Enhydra wizards are not actually loaded until you select the Wizards menu item. (Bug 10427)
- If you remove the HTML file type from the XMLC file types list in the XMLC Compiler wizard, the Reset button will not autmatically add HTML back to the file types. The workaround is to manually add HTML as a file type. (Bug 10505)
- The Document root path is not refreshed immediately when you change the Resource path in the Deployment wizard. If you change the Resource path, close and re-open the Deployment wizard and the Document root is refreshed. (Bug 10521)
- After you import an application using the Enhydra Import wizard, check all the path definitions. (Bug 10530)
- In JDeveloper, you can not create more than one Enhydra application using the Application wizard in the same workspace. If you create a new project and use the Application wizard to create a new Enhydra application, and create a second project and attempt to run the Application wizard, you will get an error. (Bug 10535)
- BDOs are no longer generated by DODS. If you use BDOs in your applications, do the following to migrate your application to DOs.
- Replace BDO with DO.
- Change the default constructor for these DOs so it calls the
CreateVirgin factory. The parameterless constructor for BDOs was public, but the parameterless constructor for DOs is private. For example, if you had code that uses:
SomeBDO mybdo = new SomeBDO();
you can not just replace it with:
SomeDO mydo = new SomeDO();
It must be replaced with:
SomeDO mydo = SomeDO.CreateVirgin();
- Changing the name of a package does not always update the package names used by existing DOs.
The workaround is to always change the name of the 'root' (base) package as the first step when creating a new .doml file. If you must change a package name, edit the .doml file by hand to make the change. Always make a backup copy before editing a .doml file by hand.
- DODS throws a NullPointerException when creating a new DO in a sub-package.
The workaround is to always create a new DO in the base package, and then drag it to the desired package.
- If you are using JDK 1.3, the top panel is not visible when you start DODS. Grab the splitter bar and drag it down to display the top panel. This doesn't occur on JDK 1.2.2. (Bug 10378)
- You must close all Cygwin shells before you install this release. The installation program will fail if any Cygwin shells are open.
- If you previously installed the Cygwin tools before installing Enhydra 3.1, and chose to install the Cygwin tools in the installer, it will overwrite your
.bashrc file. Either don't install the Cygwin tools from the installer, or make a backup copy of your
.bashrc file before installing Enhydra 3.1. (Bug 10096)
- The Application Wizard
- The super-servlet generator uses
writeHTML() instead of
writeDOM() due to the XHTML content type defined by
writeDOM() not being viewable in any browsers. (Bug 10307)
- If you attempt to run
appwizard in Unix with no X Windows session running, you will get an exception. Set the DISPLAY environment variable to refer to a valid X session. (Bug 10493)
- Multiserver Administration Console
- ContentType for static files is compiled into the application and is not defined in a configuration file.
- Application names in the Multiserver Administration Console must be alphanumeric (for example, you can not use spaces or dashes).
- Selecting the Connections tab in the Multiserver Administration Console Status page incorrectly changes the text on the disabled tab from "Servlet" to "Application".
Platform specific notes
- Enhydra slows down on Windows when generating debug messages to a console. This problem does not occur if you minimize the error/logging window. To solve the problem, either remove debug messages or minimize the window.
- On Windows platforms without an active network connection, the first access to Enhydra through localhost can result in a delay serving the first page due to the initial DNS lookup.
- On some platforms and JVMs, when you first start Enhydra, there is a delay before the first page is served. This is caused by the JVM initially loading classes.
Multiple connection methods
Enhydra applications and Servlet 2.2 contexts (a "web app") can be accessed through multiple URLs. This is achieved by creating more than one connection method. In the case of Servlet 2.2 Web applications there is a restriction that each connection method must have the same URL path prefix (the port number may be different).
In general, multiple connection methods are discouraged. They are useful for providing a "special" access path to an application for debugging or for privileged access to an application designed for such purposes.
DODS Graphical User Interface (GUI)
The GUI of the Enhydra object-to-relational mapping technology is provided as a convenience. It does not prevent the operator from creating illegal mappings that cannot be automatically built or that can cause errors in the tool. Careful use of the tool can prevent these errors. The user is encouraged to edit the DOML (XML specification file created by the DODS GUI) directly and run DODS in command line mode to avoid these problems. See the latest DODS documentation in the documentation.
When debugging Servlet 2.2 applications, you may occasionally see duplicate entries. This is caused by the Servlet 2.2 internal redirection mechanism or "server side redirect" and correspond to a single client request. The debugger picks up each of these requests, hence the two entries.
Submitting bug reports
To report Enhydra bugs, please submit them at http://www.enhydra.org/community/resources/bugReports/index.html. Be sure to include the steps to reproduce the problem, exact error messages, and code snippets, if applicable, to help us better evaluate your report.