Next Previous Contents

2. Installation

2.1 How to obtain rm -d ms

You can download the latest version from http://sourceforge.net/project/?group_id=2308. The page offers file releases and cvs access.

Click on 'CVS Repository' to browse the cvs tree.

2.2 Requirements

The current version needs an Unix/Linux environment.

HTTP server

This version uses the jsdk2.0 servlet interface. It is tested with Apache and with the jsdk servletrunner. A future document cache may rely on Apache modules. We use Apache/1.3.9 and ApacheJServ/1.1 You can get a copy from http://www.apache.org

The servlet library comes from http://java.sun.com/products/servlet/index.html

Java development kit

We use the Sun 1.2.2 release, but any 1.1 or 1.2 kit should do. You can get a copy from http://java.sun.com.

Saxon Stylesheet processor

rm -d ms makes heavy use of the saxon extention element interface. It relays on saxon 5.3.1 internals. You can get a copy from http://users.iclway.co.uk/mhkay/saxon/saxon.zip

We use the Aelfred parser that comes with saxon 5.3.1, but any SAX compliant parser should do. The legacy database interface also needs a DOM parser. We use openxml. If you really want to use the current legacy database interface, you can download it from http://www.openxml.org.

XML Apache Stylesheet processor

We use xalan_1.0.1 and xerces-1_0_3. You can get a copy from http://xmp.apache.org. The two jar files include an xsl stylesheet processor, a dom parser, a sax parser, the sax library and the dom library.

Legacy database mapping

The Legacy database mapping is out of date. It doesn't even compile and will be replaced with the castor package.

If you want to try out the full featured legacy database mapping, you need the xmldbms package. It can be downloaded from http://www.informatik.tu-darmstadt.de/DVS1/staff/bourret/xmldbms/xmldbms.htm.

We had to apply two patches:
The first one is a workaround for a mysql problem:
xmldbms/Map.java:
rs = meta.getColumns(catalog, schema, tableName, "%");

The second is needed, if the parser doesn't deliver default attributes:
xmldbms/mapfactories/MapFactory_MapDocument.java:
propMap.multiValued = XMLDBMSConst.ENUM_YES.equals(attrValue);

Database

mysql-3.22.21. First choice for development! This nice database can be downloaded from http://www.mysql.com. Installation is easy and it comes with a very friendly copyright, but it doesn't support transactions. rm -d ms is designed to use any JDBC database, but you have to write a helper class (see de/pannenleiter/db/brand).

This relase was tested withe the mm mysql driver version 2.0.1. Version 1.2 limits the size of a record to 64K. You can get a copy from http://www.worldserver.com/mm.mysql/

Oracle 8.1.6. It can't be avoided. The oracle interface hasn't been tested in the real world yet.

Instant DB 3.13. A free 100% Java RDBMS. It can be downloaded from http://instantdb.enhydra.org

Cocoon

To run rmdms as a cocoon processor, you need a cocoon 1 installation. We use Cocoon-1.7.4.

If you use rm -d ms with different packages, please share your experiences.

2.3 Installation of a saxon based standalone system

This is a very early release. It runs the samples on my machine, but hasn't been tested with other data on an other computer. You have been warned!

2.4 Installation of an xml-apache based standalone system

This version is hardly tested.

2.5 Installation of the cocoon processor.

If you use xalan and your cocoon 1 installation is up, installing rmdms is easy. But XT support isn't on the todo list and Cocoon 2 bindings hasn't been started yet.

If you plan to call the cocoon engine recursively fron the xslt processor: The rmdms/config file includes a cocoon configuration for the servletrunner and you find a cocoon.properties and a embedded.properties in the rmdms/samples directory. If you really want to use it, have a look at the xalan standalone installation above.

The processor hasn't been tested in the real world yet.

2.6 Compiling the java sources

The src/Makefile.inc includes all of the configuration data; the name of the installation directory, the names of the libraries and the name of the java compiler. Edit rmdms-0.3.2/src/Makefile.inc, goto the rmdms-0.3.2 directory and run make.

The makefile will link the apache formatter, the org.xml.sax package and the org.w3c.dom package into the generated jar files. It depends on the unpacked class files, that are not included in the rm -d ms distribution. You can extract these package from rmdms.jar. Go to the rmdms-0.3.2/src directory and run:

 rmdms/src > jar xvf ../rmdms.jar org com

If you don't want to compile the saxon interface, the apache interface or the cocoon interface - just remove it from rmdms-0.3.2/Makefile.

To exclude the legacy database interface, you have to remove LegacyDatabase from the all target of de.pannenleiter.db.Makefile and the LegacyContext from the all target of de.pannenleiter.db.expr.Makefile.


Next Previous Contents