Overview

Editorial Workflow Support

xMod can be configured to provide web-based management pages which generate reports allowing XML files to be checked and cross-checked for consistency and errors.

Markup & Content

CCH has in-house guidelines for using TEI P5 to create websites; accordingly, by default, xMod relies on certain TEI markup conventions. However, it has been adapted to work on a variety of flavours of TEI and other XML vocabularies (including DocBook), and has been used to publish data held in relational databases.

Where scholarly encoding is a key objective, each scenario will inevitably have its own nuance, but we have integrated this deeper markup with website presentational materials on a number of projects. It is impossible to predict every eventuality: xMod offers basic output options which cover the functionality common to all websites, together with an extensible framework supporting the development of any custom functionality that is needed.

Thus, xMod provides native support for multilingual websites, RSS feeds, form processing, and automated navigation such as sitemaps and indexes, but with some customisation can support the publishing of more complex materials with much deeper markup, such as medieval charters, musicological bibliographies, classical inscriptions, biographies, glossaries and so forth.

In a web server context, xMod integrates with other web publishing tools to support images (IIPimage/Djatoka), maps (GeoServer; MapServer; OpenLayers) and relational data (MySQL or other RDBMS).

Management & Deployment

Building and configuration of xMod is handled by a small set of key configuration files which offer extremely low level centralised control over the xMod process:

  • Key website parameters, including information about the destination server, are stored in a properties file.  xMod simplifies release engineering by supporting separate deployments to development, staging and production servers.
  • Metadata about the structure of a website, resources such as images and files, and descriptive metadata are stored in RelaxNG XML files which use a custom xMod namespace.

xMod includes an Apache Ant driven build process which updates key application files from the CCH SVN repository and either prepares the application framework for server deployment, or (if running in standalone, desktop mode) produces static HTML (or other) output locally.

Core Logic

xMod is a Java-based application.  Most of the logic is written in XSLT 2.0 and is based on the model-view-controller architectural pattern. 

Look and Feel

xMod has a generic look and feel, but is designed to use a plug-in package of CSS, images and javascript called a 'personality pack' to apply the look and feel to each website. This system is designed to support workflow by allowing a web /graphic designer to work on the look and feel independently of the rest of the process.  Further customisation is possible by editing or creating new XSLT 'views', which allow page layout to be changed more fundamentally.  xMod uses the CCH-developed sUPL ('simple unified presentation layer') XHTML and CSS framework which is common to all CCH-developed web applications and which enforces a high level of standards-compliance and accessibility in finished websites.1

Valid XHTML logo Valid CSS logo