Hyrax - Customizing Hyrax

From OPeNDAP Documentation

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.



1 Web page 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.

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.

Warning
Do NOT remove files from this new directory (Or the old one for that matter). Each file, in its location, is required by Hyrax. You can make changes to the files but you should not rename or remove them.

Nothing inside the $CATALINA_HOME/content directory is (automatically) changed when installing new versions of Hyrax.

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

1.2 What to change

1.2.1 HTML Files

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)



1.2.2 CSS Files

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.



1.2.3 Image Files

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.

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 as described here
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.



1.2.4 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.

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.


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 (see img)

dap_3.2_ddxToRdfTriples.xsl $CATALINA_HOME/content/opendap/docs/xsl Experimental - This XSLT is used to produce an RDF representation of a DAP 3.2 DDX.
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.


Experimental XSLT


File        Location        Description
dapAttributePromoter.xsl $CATALINA_HOME/content/opendap/docs/xsl Experimental - This XSLT file can be used to promote DAP Attributes whose names contain a namespace prefix to XML elements of the same name os the Attribute. Not currently in use.
dapAttributesToXml.xsl $CATALINA_HOME/content/opendap/docs/xsl Experimental - 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 Experimental - This XSLT can be used to produce an RDF representation of a DAP2 DDX. Not currently in use.
dap_3.3_ddxToRdfTriples.xsl $CATALINA_HOME/content/opendap/docs/xsl Experimental - 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 Experimental - 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 Experimental - 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 Experimental - 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 Experimental - 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.



2 Software Customization

2.1 OLFS Customization

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

2.2 BES Customization

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