Important Notes - Enhydra ver. 5.0 v.s Enhydra ver. 5.1 beta1

Before installation: If you have any previus Enhydra version installed, 
please uninstall it.

***********************************************************
1.Installation
***********************************************************

New installations for Windows and for Linux. 

Installation for Windows is based on NSIS (Nullsoft Install System) installer version 1.98 and 
for Linux is based on rpm packets.  

To install Enhydra 5.1 on Windows platform please start 

            setup.exe 

and choose your jdk root directory and Enhydra root directory.


On Linux platform you can use installation with rpm packets. 

enhydra-5.1 rpms are provided in two flavours:

    Standard                Relocatable
=================================================================
Source:    enhydra-5.1-1.src.rpm        enhydra-5.1-1.R.src.rpm
Binary:    enhydra-5.1-1.i386.rpm        enhydra-5.1-1.R.i386.rpm


Binary rpm in standard flavour can be used with any version of rpm. 
The package is installed to /usr/local directory. Although the package 
is not relocatable, it is possible to manually move it from  
/usr/local to any directory, and configure it by entering Enhydra5.1 
directory and issuing the following command:

./configure

Configured in this way Enhydra will operate normally, but subsequent
rpm commands (for instance rpm -e, rpm -U, rpm -V, etc.) wont know 
where to find the enhydra files.

Therefore, we strongly advise you to use the relocatable flavour 
package in case you need to install enhydra to a non default 
directory (/usr/local). Unfortunately, rpm version 4.0.2 does 
not relocate packages correctly, due to a bug. Hence, to install 
the relocatable package, you must use rpm 4.0.3 or higher 
(the distribution has been tested with rpm 4.0.4). You should issue 
the following command:

rpm -i --prefix /directory_path enhydra-5.1-1.R.i386.rpm

where /directory_path represents the path you want to substitute 
for the default prefix /usr/local.


IMPORTANT:

After the installation please add  

/(Enhydra_ROOT)/bin      (eg. /Enhydra5.1/bin) 

to your PATH enviroment variable.



***********************************************************
2.Building Enhydra Source Distribution
***********************************************************

Now, Enhydra Source Distribution uses jakarta-ant 1.5. for building Enhydra 5.1.

Pre-Build Configuration
-----------------------

Please set JAVA_HOME environment varibale to your jdk directory, and insure that java tools.jar
is included in your system CLASSPATH environment variable:

UNIX
 CLASSPATH=/usr/java/j2sdk1.4.0_01/lib/tools.jar:$CLASSPATH
 export CLASSPATH

WINDOWS
 set CLASSPATH=C:/JBuilder6/j2sdk1.4.0/lib/tools.jar;%CLASSPATH%


Before building Enhydra, you must edit the file "build.properties" in
the Enhydra directory.  In that file, you must specify the following variables:

jdk.dir - the path to your installation of the Java Development Kit

javacc.dir - the path to your installation of the JavaCC2.1

For instance:


jdk.dir=C:/j2sdk1.4.0
javacc.dir=C:/javacc2.1

Please note that Unix stile slashes (/) must always be used instead of Dos stile backslashes (\)

Building Enhydra
----------------------

Once you have edited the "build.properties" file discussed above, cd into the 
Enhydra directory and issue the following command:

compile buildAll

This command will produce a great deal of output, and it is recommended that
you capture this output to a log file for later reference.  The binary output
of the build can be found in the following directory:

./Enhydra/output/enhydra<version>

Please also see the documentation for building the source in the doc directory of the
binary distribution.

Compile options
----------------

Enhydra compilation and configuration is completely Ant based now. You can give some options 
to the compile command:

compile buildAll         - builds and configures enhydra with javadoc and docbook documentation
compile buildNoDoc       - builds and configures enhydra without documentation (much faster, used for testing)
compile buildJavaDoc     - builds and configures enhydra with javadoc documentation
compile buildDocBook     - builds and configures enhydra with HTML and PDF docbook documentation
compile buildDocBookHTML - builds and configures enhydra with HTML docbook documentation
compile buildDocBookPDF  - builds and configures enhydra with PDF docbook documentation
compile buildDocBookOnly - builds docbook HTML and PDF documentation for Enhydra
compile buildDistribution- builds and configures enhydra with javadoc and docbook documentation and create distribution
compile testAll          - builds and configures enhydra with httpServerTest1.0
compile clean            - remove the output folder (in order to start a new compilation from scratch)


Moving to another folder
-------------------------

If you want to move the generated enhydra binaries to another folder, simply copy the enhydra5.1 
from output to the desired folder, change directory to the newly copied enhydra5.1.
and start the following command:

configure 

Post Installation
------------------
Please insure that the path to the enhydra5.1/bin folder is included in your system environment 
variable PATH.


***********************************************************
3.Modular Structure of Enhydra 5.1
***********************************************************

New modular Enhydra 5.1 consists of the following separated jar files: 

1. server side jar-s  (<enhydra_root>/lib)

    core.jar 
    tomcat.jar  
    enhydra.jar
    servlet.jar
    dods-runtime.jar

2. Enhydra build tools (<enhydra_root>/lib/build)

    toolbox.jar - AppWizard, Configuration tempaltes and classes
    dods.jar - Data Object Design Studio
    ejen.jar
    
3. standard tools  (<enhydra_root>/lib)

    jtidy.jar - ver. r7 - patched (see release_notes.html for details)
    xerces.jar - ver. 1.4.4 - patched (see release_notes.html for details)
    gnu-regexp.jar - ver. 1.1.4
    xmlc.jar - XML Compiler ver. 2.1

4. suport jar-s  (<enhydra_root>/lib)
    log4j.jar       
    xmlcSupport.jar    
    admin.jar - Enhydra Multiserver Admin Application
    welcome.jar - Welcome Enhydra Application
    snoop.jar - Snoop servlet (read and display HTTP request parameters)

5. external packages (<enhydra_root>/lib/tools)

        External packages are added in Enhydra 5.1 as a binary versions with java API documentation 
    
        baracuda ver. 1.1.1
        xalan ver. 2.3.1
        zeus ver.1.0 Beta3.5
        Apache Soap ver. 2.3.1    
        Cactus ver. 1.4
        fop ver. 0.20.4
        idb ver. 3.27


***********************************************************
4.Building Enhydra Application
***********************************************************

    In Enhydra 5.1 Windows uses batch files for starting scripts (Firstly, you must add <enhydra_root>/bin directory in system path). Cygwin is  removed completly.

    Enhydra5.1 does't support building application using make and makefiles.

    Appwizard doesn't generate makefiles and config.mk files. It generates build.xml files for building projects using jakarta-ant (on Windows and Unix platform).

To build the Enhydra application:
--------------------------

    1. In the shell window (UNIX) or in the command window (WINDOWS), enter the ant command from the application root directory:

    ant

This creates two subdirectories in the application root directory:

    • classes directory contains the application’s class files

    • output directory contains everything needed to run the application


    File build.xml contains directives that tell ant to recursively descend the application directory tree. When you build the application ant compiles the files located in the <project_root> source directory (<project_root>/src) and creates a corresponding directory structure in the classes directory. It then combines those classes into a JAR (Java archive) file and places the JAR file into the output/archive directory, along with the configuration files needed to run the application.

    2. To start the application, enter the following commands in the Enhydra shell (UNIX) or in the command window (WINDOWS).

    1 UNIX

        cd output

        ./run

    2 WINDOWS

        cd output

        run

    Note: The Multiserver Administration Console provides a GUI for managing applications. Among other functions, the Admin Console can be used to start and stop applications. 

3. To access the application, enter the following URL in your browser’s location field:

    http://localhost:8002    

(as a default for applications that are generated using appwizard)



***********************************************************
5.XMLC - options.xmlc changes
***********************************************************


Earlier versions of Enhydra used options.xmlc file in presentation directory (default) while
makefiles defined the necessary correspondence between HTML files and options.xmlc files and 
generated directory structure as well.

In Enhydra 5.1 appwizard generates options.xmlc files in resources directory with other HTML files. 
XMLC compiles XML (or HTML) pages using options.xml files that are situated in resources directory 
and its subdirectories. The directory structure of the generated presentation directory tree, 
corresponds to one defined in src/resources.


***********************************************************
6.Appwizard changes
***********************************************************

New Enhydra 5.1 Appwizard generates build.xml and dods.properties which simplify dods usage of
doml file. If doml file is not changed, ant doesn't recompile java classes generated by DODS.
Also, in this release Appwizard detects any changes in options.xmlc file, resulting in 
recompilation of HTML files.

***********************************************************
7.KELP 5.1
***********************************************************
    

It works with modular Enhydra 5.1

Now, it supports JBuilder 4,5,6 and 7, NetBeans 3.3.1,3.3.2,3.4 and 3.4.1 both on Windows and Linux platform and Eclipse 2.0 on Windows.

XML Compiler in Kelp 5.1 also use options.xmlc files in resources directory. 

If you import Enhydra application using Import Wizard (active in JBuilder), 

you can manualy move options.xmlc to resources directory or manualy choose options.xmlc file using 

Options tab and Options file chooser in XML Compile Command Option.