Microsystems Technology Laboratories > OpenCoral

xReporter Prerequisites


Coral makes use of xReporter as it's reporting engine. xReporter is an open-source, web-based database reporting framework that is available at http://xreporter.cocoondev.org. It, in turn, is build on top of several open source Apache projects including Tomcat, Cocoon, and Phoenix. From the perspective of the Coral administrator, xReporter is an excellent choice because it makes use of the same set of roles that are used by Coral to determine which reports can be run by which users. For example, someone with a lab-wide role of "admin" can see and run a broad range of reports including those that inlcude charges for laboratory use for all lab members. Conversely, a "normal" lab member is only allowed to run a more limited set of reports. For example, they can generate reports based on their own lab charges or their own lab activities, but are not allowed to generate reports for other labmembers. In addition to being able to view reports from any web browser, reports may also be easily generated in either Excel (*.xls) or Acrobat (*.pdf) formats.

Because xReporter relies on installation and configuration of several third-party components, we have elected to bundle xReporter with compatible versions of Tomcat, Cocoon, Phoenix, and JK Connectors. Moreover, we have done our best to package and configure these components in a way that should largely automate this process and yet provide sufficient flexibilty to accommodate the web environments found at various research facilities.


We assume that there is a running Web server on the machine on which xReporter will be installed. This webserver will likely be hased on the Apache 2.0 or 2.2 series. In addition to the main web server, we assume that apxs (supporte for APache eXtraS) is installed. If this is a Linux machine, it means that you need not only the httpd RPM but also the httpd-devel RPM.

The Coral version of xReporter has been successfully installed on RHEL 4.0 and 5.1 systems and is also known to run properly on Solaris operating systems.
xReporter does not actually install any static web pages on your Web site. The call to start up xReporter is actually a call to a Cocoon web application that runs under the Tomcat servelet. By default, however, we assume that all xReporter traffic will want to be SSL-encrypted. Because of this, we will not actually make any changes to your httpd.conf file (usually found in /etc/httpd.conf). However, we will make changes to your ssl.conf file (usually found in /etc/httpd/conf.d). If you have previously made changes to this file, you may find that our attempts to "patch" this file will fail. Finally, in order to run xReporter over a https secure connection, you will either need a "real" or a self-signed SSL certificate. We will provide instuctions as to how to either generate a self-signed certificate or to install a real certificate.

You will need an appropriate JDK (Java Development Kit) and a reasonably new version of apache ant. The original release of Coral-compatible xReporter (and related Tomcat, Cocoon, and Phoenix modules) only ran under the older j2sdk1.4.2. The most recent releases of Coral-compatible xReporter (and newer Tomcat, Cocoon, and Phoenix modules) will only run under jdk1.5.0 or jdk1.6.0. Accordingly, the choices that you can make when configuring xReporter depend heavily on which JDK you are running.

If you are running j2sdk1.4.2 you must choose:

  • Tomcat version 4.1 (jakarta-tomcat-4.1.31).
  • Cocoon version 2.1.6 (cocoon-2.1.6).
  • Phoenix version 4.0.4 (phoenix-4.0.4).

If you are running jdk1.5.0 or jdk1.6.0you must choose:

  • Tomcat version 5.5 or 6.0 (apache-tomcat-5.5.23 or apache-tomcat-6.0.14, respectively).
  • Cocoon version 2.1.10 (cocoon-2.1.10).
  • Phoenix version 4.0.4 upgraded for J2SE 5.0 service (phoenix-4.0.4-tiger).
If you are installing xReporter for the first time, we strongly recommend that you elect the newer options that are compatible with JDK1.5.0 or JDK1.6.0. Not only is this the same version of Java that you are using for Coral, but it gives you the latest enhancments to the underlying xReporter engine as well as newer versions of the Tomcat servelet and the Cocoon presentation layer. Instructions for installing Java and Ant and setting up the appropriate JAVA_HOME and ANT_HOME environment variables and PATH variables is covered in Section Install and Configure OpenCoral Prerequisites.
Caution: if you are upgrading from an existing, older j2sdk1.4.2-based version of xReporter to the newer jdk1.5.0-based version, there are special installation instructions that need to be followed. Those may be found at Upgrading xReporter to JDK 5.0. These instructions should be equally applicable if you are migrating from j2sdk1.42-base version of xReporter to a version that also runs under jdk1.6.0.