JHOVE 1.7, finally!

After well over a year, a new version of JHOVE is finally available. Really, not very much has changed since 1.6 as far as the software itself goes. However, I’m leaving Harvard at the end of August and asked for and got custody of JHOVE, so this version marks its transition from a Harvard-supported project (which, in practice, it hasn’t been for a long time) to a separate open-source project. The JHOVE web pages are now hosted on SourceForge, and all support and discussion will go through SourceForge. The jhove-support and jhove-users mailing lists hosted by Harvard will shut down in the near future.

This doesn’t mean JHOVE is dead. I may actually have more opportunities to work on it than before, now that I’m going into independent consulting. I need to stay visible to the library and preservation world, and this is one way to do it.

Meanwhile, I’m looking for contract opportunities. Please take a look at my new business site or my LinkedIn profile.

3 responses to “JHOVE 1.7, finally!

  1. Good to see a new JHOVE release. However, while trying to upgrade to the latest version of JHOVE (1.7) on my Windows PC I ran into two issues. They’re both pretty minor and would be easy to fix. Here goes.

    First problem: the Windows batch files have Unix-style line endings (i.e. 0x0A) rather than Windows ones (0x0D0A). So they won’t run on Windows-based systems, unless you unix2dos them first (which is what I did). But it would be nice to have these files in Windows-compatible format by default.

    After fixing the line endings, I updated JAVA_HOME and JHOVE_HOME in the JHOVE batch file. I then ran JHOVE as follows:

    jhove

    Which gave me this:

    Picked up _JAVA_OPTIONS: -Djava.io.tmpdir=C:\Temp\javatemp
    edu.harvard.hul.ois.jhove.JhoveException: Configuration file C:\Documents and Se
    ttings\JKN010\jhove\conf\jhove.conf not found or not readable; use -c to specify
    
            at edu.harvard.hul.ois.jhove.JhoveBase.init(Unknown Source)
            at Jhove.main(Unknown Source)
    

    So apparently, even though I explicitly set JHOVE_HOME to the install directory on my PC, JHOVE nevertheless assumes a default location of the configuration file that is somewhere in my Windows user profile.

    As a workaround I was able to make things work by using the -c switch:

    jhove -c c:\jhove\conf\jhove.conf

    This makes me wonder: wouldn’t it be more sensible to work out the (default) locations of both the jar and the configuration file from the location of the batch file (i.e. jhove.bat) and the underlying directory structure? This could be done by simply changing JHOVE_HOME to:

    SET JHOVE_HOME="%~dp0\"

    This doesn’t solve the config file problem (its path is apparently hard-coded in the jar?). As a workaround I took the following line from the batch file:

    SET ARGS=

    And replaced it with:

    SET ARGS=-c %JHOVE_HOME%\conf\jhove.conf

    Which makes things work rather nicely. But of course it would be much better if JHOVE could work this out by itself, as the current situation makes things unnecessarily complicated, not least because these issues recur for every update (I remember struggling with this with previous JHOVE releases, but somehow by the time I had things runnning I never got round to reporting back on it).

    From what I see it would be pretty easy to make JHOVE run pretty much out of the box, without any user configuration whatsoever (with the possible exception of JAVA_HOME).