JHOVE (Harvard Object Validation Environment)

Description
JHOVE allows data curators to verify the file formats of the digital objects in their repositories. The analysis consists of three functions: identification, which determines the object&rsquo;s format; validation, which checks whether the object conforms to its format&rsquo;s technical norms; and characterization, which gives a report of the object&rsquo;s salient properties. Detailed information can be found in the DCC JHOVE Case Study.

Provider
Open Preservation Foundation

Licensing and cost
GNU Lesser General Public License – free.

Platform and interoperability
JHOVE is implemented using Java 2 Standard Edition 5.0 (JDK 1.5). It was designed incorporating an API, which can be used on its own to create compatible tools and applications. Developers wishing to recompile the JHOVE source code will require Apache Ant.

Functional notes
JHOVE includes modules for the following 12 format types: AIFF; ASCII encoded text; GIF; HTML; JPEG; JPEG2000; PDF; TIFF; UTF-8 encoded text; WAVE; XML; and arbitrary bytestreams. Three of these formats (AIFF, GIF and JPEG) will not be supported by JHOVE2, while a further two (JPEG2000 and PDF) are not currently supported by JHOVE2 but may be in future. HTML is not directly supported by JHOVE2 but can be processed either as SGML or XML. A number of limitations have come to light since JHOVE was first released, many of which are addressed with the JHOVE2 project. Currently, identification and validation are linked, with successful identification dependent on the validation process. This means that any trivial error in the validation process can result in an object failing to be identified. In addition, JHOVE cannot analyze objects that are comprised of multiple file formats. Developers have also remarked that working with the API is difficult.

Documentation and user support
The JHOVE website includes an excellent introduction and tutorial. It also provides detailed specifications for its modules. The SourceForge code repository includes a forum, which seems to be used only sporadically. It also hosts a mailing list and the usual facilities for filing bug reports, feature requests and support requests.

Usability
While installation and configuration can be complex, the Swing-based GUI allows for relatively easy use. JHOVE can also be invoked with a command-line interface.

Expertise required
Installation requires solid knowledge of command line interfaces and experience with manually editing configuration files. Familiarity with metadata outputs is also essential.

Standards compliance
JHOVE was designed to integrate into the Ingest function of an OAIS. The validation process compares objects&rsquo; formats against ISO standards.

Influence and take-up
The SourceForge website reports approximately 11,400 downloads from the release of JHOVE 1.1 from 2008 to July 2013. Use of JHOVE is widespread in the digital preservation community. JHOVE is integrated within the Planets Testbed and Plato.

User Experiences

 * Jisc: http://www.jisc.ac.uk/media/documents/programmes/preservation/daat_file_format_tools_report.pdf
 * Gary McGath: https://fileformats.wordpress.com/tag/jhove/
 * KOST-CECO: Used in KOST-Val as a validation module for TIFF files.
 * FITS (File Information Tool Set): Used in FITS
 * PDF Association: http://www.pdfa.org/2014/12/ensuring-long-term-access-pdf-validation-with-jhove/
 * Open Preservation Foundation: JHOVE issues and error messages: http://wiki.opf-labs.org/display/Documents/JHOVE+issues+and+error+messages/

Development Activity
While much of its development effort has been diverted to JHOVE2, JHOVE is still actively maintained and developed by the OPF as it supports some common formats that JHOVE2 does not.

All development activity is visible on GitHub: http://github.com/openpreserve/jhove/commits

Release Feed
Below the last 3 release feeds: https://github.com/openpreserve/jhove/releases.atom

Activity Feed
Below the last 5 activity feeds: https://github.com/openpreserve/jhove/commits/master.atom