This patch uses JHOVE to provide rough-and-ready format checking by identifying that the file/bitstream extension matches formats verifiable by JHOVE. (Currently DSpace accepts a deposit's file extension as gospel, so a user could tack a ".txt" extension onto a GIF and DSpace would assign the incorrect format to the file based on that incorrect extension.)
This patch also also contains code to check the file for the presence of viruses.
In order to use this patch you must have jhove and ClamAV installed on your system.
(1) HTML identification has proved unreliable ( by jhove ), so this patch does not return accurate results for that
(2) This code does not fully incorporate JHOVE's validation functions; it only verifies that what depositors intended to submit is in fact what they submitted.
The following are returned messages when an error is detected:
Text in [brackets] is a returned value, ALLCAPS can/should be modified to reflect your current installation.
Questionable AIFF, GIF, JPG, PDF, TIF, WAVE, XML:
DSPACE could not verify that your file is a valid [file_format_extension]. Please check the file format and ".[file_format_extension]" extension.
DSPACE found the text file you are trying to upload is neither UTF-8 nor ASCII. Please verify that your file is in the format you wanted.
Spaces in filenames ( this is an additional check ):
The file name contains spaces; this is not recommended. If possible, please replace spaces with underscores: "_".
DSPACE detected a virus in this file. Please repair it and resume the deposit. If you need assistance, please contact us: EMAIL_ADDRESS.
To get the patch working:
Add the jhove conf files to
Here are the conf files:
Also the following files were changed:
dspace/modules/jspui/src/main/webapp/submit/get-file-format.jsp ( locally customized )
dspace/modules/jspui/src/main/webapp/submit/upload-error-virus.jsp ( new file - placed in locally modified area for the jspui interface)
These files are attached with this patch.