DROID is a software tool developed by The National Archives to perform automated batch identification of file formats. Developed by its Digital Preservation Department as part of its broader digital preservation activities, DROID is designed to meet the fundamental requirement of any digital repository to be able to identify the precise format of all stored digital objects, and to link that identification to a central registry of technical information about that format and its dependencies.
DROID uses internal signatures to identify and report the specific file format versions of digital files. These signatures are stored in an XML signature file, generated from information recorded in the PRONOM technical registry. New and updated signatures are regularly added to PRONOM, and DROID can be configured to automatically download updated signature files.
The DROID binary zip file is available to download from the dedicated page on The National Archives website.
DROID is a platform-independent Java application. It can be invoked from two interfaces:
- Java Swing GUI
- Command line interface
DROID allows files and folders to be selected from a file system for identification. This file list can be saved at any point. After the identification process had been run, the results can be output in various report formats, including CSV.
DROID requires a minimum of Java 8 Standard Edition (SE). DROID was built and tested on Java 1.8. DROID version 6.4 will likely operate with Java 7, but this is not guaranteed.
Signature Files and their release notes can be found at the following links:
The DROID code base is split up into separate projects, to facilitate only using parts of the DROID code that are required, and to enhance and enforce modularity in its construction:
Droid-binary Additional files required in a release build Droid-build-tools-TRUNK A maven project to package the release Droid-command-line Command-line control over DROID Droid-container Container signature processing Droid-core Binary signature processing Droid-core-interfaces Resource processing & format recognition Droid-export Export droid profiles to CSV Droid-export-interfaces Interfaces for export of DROID profiles Droid-help JavaHelp for DROID Droid-parent An empty parent project for the other projects Droid-report Reporting for DROID profiles Droid-report-interfaces Interfaces for DROID reporting Droid-results Profile handling, database and filtering Droid-swing-ui Swing GUI control over DROID
beansbinding-1.2.1 Binds data to GUI controls org.openide.util-1 Netbeans platform support swing-outline-1.4.1 Netbeans Swing GUI tree table control, part of the Netbeans platform
The required jars can be found in the binary distribution of DROID.
DROID was built using Apache Maven 3. First make sure that this is installed and if behind a proxy, edit the Maven settings.xml file to reflec the proxy server details.
There are an additional three jar files required, as listed in the dependencies section above.
These can be installed to your Maven repository from their respective locations using the following commands:
mvn install:install-file -Dfile=beansbinding-1.2.1.jar -DgroupId=beansbinding -DartifactId=beansbinding -Dversion=1.2.1 -Dpackaging=jar mvn install:install-file -Dfile=org-openide-util-1.jar -DgroupId=org.openide -DartifactId=org-openide-util -Dversion=1 -Dpackaging=jar mvn install:install-file -Dfile=swing-outline-1.4.1.jar -DgroupId=org.openide -DartifactId=swing-outline -Dversion=1.4.1 -Dpackaging=jar
Once this is complete you can use the master build file under the main DROID project folder to build the project. This is the pom.xml that sits under the main DROID folder containing all the sub projects.
Simply run "mvn install" from the command line when in this directory and DROID will build. Follow the Maven output to see where Maven has placed the binaries.
The largest change to DROID in this release is the ability to scan more 'archival containers' - 7Zip, RAR, ISO, and BZip2.
- DROID can now scan contents of RAR, ISO, 7Zip and BZip2 files - Will highlight empty folders in GUI display and CSV export - CSV export will sort on the URI column for persistent ordering - Added custom URI encoder to correctly encode reserved characters - Additional option for export CSV with UTF8 BOM - Bug fix for errors when using filters - ZIP library has been upgraded to allow profiling of zip64 files - Increase in memory for DROID when scanning larger files - Improved error messages for when DROID is trying to download signatures from the wrong URL - Bug fix for issues saving reports as text in Mac OS.