Subject: [CODE4LIB] JHOVE2 prototype code available for review

From: Stephen Abrams <[email-masked]>
Date: Fri, 14 Aug 2009 14:24:27 -0700

*** Cross-posted to code4lib, digipres, digital-preservation, diglib,
dlf-announce, jhove-users, padiforum-l ***

To the JHOVE/JHOVE2 user community:

An alpha prototype version of JHOVE2 is now available for download and
evaluation (v. 0.5.2, 2009-08-05).  Distribution packages (in zip and
tar.gz form) are available on the JHOVE2 public wiki at
(http://confluence.ucop.edu/display/JHOVE2Info/Download).  The new
JHOVE2 architecture reflected in this prototype is described in the
attached architectural overview (also available at
http://confluence.ucop.edu/display/JHOVE2Info/Architecture).
 
The distribution package contains two driver scripts in the JHOVE2 home
directory: a DOS shell script (jhove2.bat) for Windows and a Bourne
shell script (jhove2.sh) for Unix/Linux.  These scripts MUST be modified
to define the "JHOVE2_HOME" and "JAVA" variables to point to the JHOVE2
installation directory and the "java" command.
 
jhove2.bat (as distributed):
	JHOVE2_HOME="C:\Program Files\jhove2"
	JAVA="C:\Program Files\java\jre1.6.0_13\bin\java"
 
jhove2.sh (as distributed):
	JHOVE2_HOME=/usr/jhove2
	JAVA=/usr/bin/java
 
You can verify the installation with the command (for Unix):
 
	% ./jhove2.sh test
 
which should produce results similar to
(http://confluence.ucop.edu/display/JHOVE2Info/Sample+Results).

The prototype supports the following features:

 * Appropriate recursive processing of directories and Zip files.
 * High performance buffered I/O using the Java nio package.
 * Message digesting for the following algorithms: Adler-32, CRC-32,
MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512
 * Results formatted as JSON, text (name/value pairs), and XML.
 * Use of the Spring Inversion-of-Control container for flexible module
configuration.
 * A complete UTF-8 module.
 * An minimally functional Shapefile module.
 
Please be aware of the following limitations and and caveats:

 * This prototype is being made available now to provide you with an
early look at the new JHOVE2 architecture and APIs.  While the full
processing model is demonstrated, there is limited format support at
this time.
 * DROID is not yet integrated into the identification module.  The
identification module has stub code that can recognize a Zip file; all
other files are assumed to be UTF-8.
 * The aggregate-level identification module (i.e. the "aggrefier"
module) has stub code that can recognize a Shapefile formed by the files
"abc.shp", "abc.shx", and "abc.dbf".
 * There is no assessment module available for review at this time.
 * Memory mapped I/O buffers are not yet fully supported.
 * JHOVE2 requires a 1.6 JRE.

The project team is now working on additional format modules.  These
will be added to the public distribution as they become available.

We would very much like to receive your feedback on the new code.  While
the current state of the code is the product of much internal review and
refactoring, your evaluations and suggestions, based on a wide diversity
of experience and needs, will be welcome as we continue to move forward
with our work.

Please direct your comments and suggestions to the "JHOVE2-TechTalk-L"
mailing list
<http://confluence.ucop.edu/display/JHOVE2Info/Mailing+Lists> for
community discussion.

Thank you,

Stephen Abrams / California Digital Library
Tom Cramer     / Stanford Univesity
Evan Owens     / Portico
on behalf of the JHOVE2 project team