Hyrax Data Server Installation and Configuration Guide: Chapter 4—Customizing Hyrax

Hyrax Data Server Installation and Configuration Guide

4. Customizing Hyrax

There are several ways in which Hyrax can be customized:

  • Web interface look and feel can be changed, as can the pages served.
  • Custom DispatchHandlers for the OLFS
  • Custom RequestHandlers for the BES.

4.1. Webpage Customization

Hyrax’s public "face" is the web pages that are produced by servlets running in the Tomcat servlet engine. Almost all of these pages can be completely customized by the site administrator by editing a combination of HTML, XSLT, and CSS files.

4.1.1. Where To Make the Changes

All of the default versions of the HTML, XSLT, and CSS files come bundled with Hyrax in the $CATALINA_HOME/webapps/opendap/docs directory. You can make changes there, but installing new versions of the OLFS software will overwrite your modifications.

However, if the docs directory is copied (preserving its structure) to $CATALINA_HOME/content/opendap/ (creating the directory $CATALINA_HOME/content/opendap/docs), then Hyrax will serve the files from the new location.

yellow triangle icon Do NOT remove files from this new directory (or the old one). Each file, in its location, is required by Hyrax. You can make changes to the files but you should not rename or remove them.
Information Icon Beacuse nothing inside the $CATALINA_HOME/content directory is (automatically) changed when installing new versions of Hyrax, changes you make to files in the content directory will persist when you upgrade Hyrax.

The rest of these instructions are written with the assumption that a copy of the docs directory has been made as described above.

4.1.2. What to Change
HTML Files
Table 1. The HTML files provide the static content of a Hyrax server
File Location Description

index.html

$CATALINA_HOME/content/opendap/docs

The documentation web page for the top level of Hyrax. As shipped it contains a description of Hyrax and links to documentation and funders. The contents.html pages (aka the OPeNDAP directories) links to this document.

error400.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates a Bad Request error (Associated with an HTML status of 400)

error403.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates a Forbidden error. (Associated with an HTML status of 403)

error404.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates a Not Found error. (Associated with an HTML status of 404)

error500.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates an Internal Server Error. (Associated with an HTML status of 500)

error501.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates an Not Implemented. (Associated with an HTML status of 501)

error502.html

$CATALINA_HOME/content/opendap/docs

Contains the default error page that Hyrax will return when the client request generates an Bad Gateway. (Associated with an HTML status of 502)

CSS Files
Table 2. The CSS Files provide style information for the HTML pages
File Location Description

contents.css

$CATALINA_HOME/content/opendap/docs/css

The contents.css style sheet provides the default colors and fonts used in the Hyrax site. It is referenced by all of the HTML and XSL files to coordinate the visual aspects of the site.

thredds.css

$CATALINA_HOME/content/opendap/docs/css

The thredds.css style sheet provides the default colors and fonts used by the THREDDS component of Hyrax.

There are a number of image files shipped with Hyrax. Simply replacing key image files will allow you to customize the icons and logos associated with the Hyrax server.

Image Files
Table 3. The Image Files provide a way to change logos and other images
File Location Description

logo.gif

$CATALINA_HOME/content/opendap/docs/images

Main Logo for the directory view (produced by contents.css and contents.xsl)

favicon.ico

$CATALINA_HOME/content/opendap/docs/images

The cute little icon preceding the URL in the address bar of your browser. To be used, this file needs to be installed into Tomcat.

BadDapRequest.gif, BadGateway.png,
favicon.ico, folder.png,
forbidden.png, largeEarth.jpg,
logo.gif,
nasa-logo.jpg,
noaa-logo.jpg,
nsf-logo.png,
smallEarth.jpg, sml-folder.png,
superman.jpg

$CATALINA_HOME/content/opendap/docs/images

These files are referenced by the default collection of web content files (described above) that ship with Hyrax.

XSL Transform Files

These files are used to transform XML documents used by Hyrax. Some transforms operate on source XML from internal documents such as BES responses. Other transforms change things like THREDDS catalogs into HTML for browsers.

yellow triangle icon All of these XSLT files are software and should be treated as such. They are intimately tied to the functions of Hyrax. The likelihood that you can change these files and not break Hyrax is fairly low.
Table 4. Current Operational XSLT
File Location Description

catalog.xsl

$CATALINA_HOME/content/opendap/docs/xsl

The catalog.xsl file contains the XSLT transformation that is used to transform BES showCatalog responses into THREDDS catalogs.

contents.xsl

$CATALINA_HOME/content/opendap/docs/xsl

The contents.xsl file contains the XSLT transformation that is used to build the OPeNDAP Directory Response

Hyrax 4

dataset.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This transform is used to in conjunction with the opendap.threddsHandler code to produce HTML pages of THREDDS catalog dataset element details.

error400.xsl

$CATALINA_HOME/content/opendap/docs/xsl

The error400.xsl contains the XSLT transformation that is used to build the web page that is returned when the server generates a Bad Request (400) HTTP status code. If for some reason this page cannot be generated, then the HTML version ($CATALINA_HOME/content/opendap/docs/error400.html) will be sent.

error500.xsl

$CATALINA_HOME/content/opendap/docs/xsl

The error400.xsl contains the XSLT transformation that is used to build the web page that is returned when the server generates a Internal Server Error (500) HTTP status code. If for some reason this page cannot be generated then the HTML version ($CATALINA_HOME/content/opendap/docs/error500.html) will be sent.

thredds.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This transform is used to in conjunction with the opendap.threddsHandler code to produce HTML pages of THREDDS catalog details.

version.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This transform is used to provide a single location for the Hyrax version number shown in the public interface.

Table 5. Experimental XSLT
File Location Description

dapAttributePromoter.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT file can be used to promote DAP Attributes whose names contain a namespace prefix to XML elements of the same name as the Attribute. Not currently in use.

dapAttributesToXml.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT file might be used to promote DAP Attributes encoded with special XML attributes to represent any XML to the XML the Attribute was encoded to represent. Not currently in use.

dap_2.0_ddxToRdfTriples.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT can be used to produce an RDF representation of a DAP2 DDX. Not currently in use.

dap_3.2_ddxToRdfTriples.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT is used to produce an RDF representation of a DAP 3.2 DDX.

dap_3.3_ddxToRdfTriples.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT can be used to produce an RDF representation of a DAP 3.3 DDX. Not currently in use.

namespaceFilter.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT can be used to filter documents so that only elements in a particular namespace are returned. Not currently in use.

wcs_coveragePage.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT is used by the prototype CEOP WCS gateway client to produce an HTML page with coverage details. Not currently in use.

wcs_coveragesList.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT is used by the prototype CEOP WCS gateway client to produce an HTML page with a list of available coverages. Not currently in use.

xmlToDapAttributes.xsl

$CATALINA_HOME/content/opendap/docs/xsl

This XSLT can be used to covert any XML content into a set of specially encoded DAP Attributes. The resulting Attribute elements have XML type attributes that are not currently recognized by any OPeNDAP software. Not currently in use.

4.2. Software Customization

4.2.1. OLFS Customization

Power Point Presentation From the 2007 Software Development Workshop hosted by the Australian Bureau of Meteorology.

4.2.2. BES Customization

Power Point Presentation From the 2007 Software Development Workshop hosted by the Australian Bureau of Meteorology.

Last Updated: Sep 24, 2019 at 3:44 PM EDT