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.
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:
Which gave me this:
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:
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:
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:
And replaced it with:
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).
A while ago, I made the modifications to make JHOVE run with a default configuration by pulling one from inside the JAR. Always meant to submit it back to JHOVE. In case it’s any help, you can find the code here: https://github.com/openplanets/jhove/blob/master/jhove-scj-snapshot/src/main/java/edu/harvard/hul/ois/jhove/JhoveBase.java#L210
Sounds like a good project for me (or anyone else who wants to!) if I find myself with some free time. The line ending issue might have happened because I did this update from a Mac using Eclipse’s CVS plugin; earlier ones were from a Linux box with command line CVS and may not have messed with existing Windows line endings. If you want to sign up as a project member, you can submit those changes directly.
At least the new feature, where it tells you were it tried to find the config file, is working! :)