File Information Tool Set
Perl HTML Java XSLT PostScript CSS
daveneiman Merge pull request #176 from daveneiman/mavenize
Convert project build from Ant to Maven
Latest commit a438c51 Jun 6, 2018
Permalink
Failed to load latest commit information.
.settings update Eclipse files Apr 9, 2018
Licenses Update to latest OTS; update to Saxon-HE and fix XSLT Apr 25, 2018
Notices Adding License Files for products in FITS - 80% coverage Jun 10, 2016
lib-local Update to latest OTS; update to Saxon-HE and fix XSLT Apr 25, 2018
lib Incorporate Jhove 1.20.1 and updated expected tests output. Mar 30, 2018
src Add new unit test; remove misplaced test; update README; change POM t… May 25, 2018
test-generated-output Create assembly for creating final ZIP release artifact. Mar 21, 2018
testfiles Add new unit test; remove misplaced test; update README; change POM t… May 25, 2018
tests/edu/harvard/hul/ois/fits/junit Update to latest OTS; update to Saxon-HE and fix XSLT Apr 25, 2018
tools Add ContainerMD functionality to DROID tool; Upgrade DROID. Jul 5, 2017
xml Update to latest OTS; update to Saxon-HE and fix XSLT Apr 25, 2018
.classpath update Eclipse files Apr 9, 2018
.gitignore Update to latest OTS; update to Saxon-HE and fix XSLT Apr 25, 2018
.project Preliminary conversion from Ant to Maven build. Mar 19, 2018
CHANGELOG.md LIBDRS-4401 - Create CHANGELOG.md page to point to Github wiki. Jun 2, 2016
CONTRIBUTING.md Add CONTRIBUTING.md; remove inappropriate license files (to be updated) Jun 9, 2016
License.md Adding License Files for products in FITS - 80% coverage Jun 10, 2016
README.md Add new unit test; remove misplaced test; update README; change POM t… May 25, 2018
cpappend.bat Updated notes Aug 5, 2015
fits-env.sh Modify scripts so Java heap space can be set. Apr 26, 2018
fits-ngserver.sh Separate out FITS env; add Nailgun helper Nov 20, 2013
fits.bat Modify scripts so Java heap space can be set. Apr 26, 2018
fits.sh Modify scripts so Java heap space can be set. Apr 26, 2018
pom.xml Add new unit test; remove misplaced test; update README; change POM t… May 25, 2018

README.md

FITS

System Requirements

FITS is a Java program and requires Java version 1.7 or higher. To find out your Java version type java -version in a command-line window.

Building FITS

As of release 1.3.0 FITS is built using Apache Maven. The build artifacts are fits-.jar and fits-.zip. The JAR file contains the compiled Java source files contained in this project whereas the ZIP file contains the final artifact which can be extracted and used to process input files for analysis. The ZIP file can be built with the following command, which will also run the entire test suite:

mvn clean package

To build yet skip the tests, use the following command:

mvn clean package -DskipTests

NOTE: A few Maven dependencies are not in public repositories. These are within the source tree in the lib-local directory. Other dependencies are within the lib directory for use by the FITS custom classloader.

Installation

Download the latest official binary release from our Downloads page.

IMPORTANT NOTE: The code on this GitHub site is not meant for direct installation since it does NOT include the necessary fits.jar file (which is a primary build artifact of this project). If you want to use this GitHub site for installing FITS, you must first download (or Git clone) the code then build the project using the Ant 'release' target.

If this is your first time downloading FITS, create a directory for FITS, for example:

On Windows: C:\Program Files\Fits
On Mac OS X: /Applications/Fits
On *nix: /home/myuser/Fits

Extract the contents of your ZIP file to your FITS directory. You should end up with a another directory under your top-level FITS directory that has a version number embedded in it, for example on Windows:

C:\Program Files\Fits\fits-1.3.0

Running FITS

FITS can be run on a command-line or within a program using the Java API.

FITS from the command-line

Run FITS on the command-line using one of the start-up scripts (fits.bat on Windows, fits.sh on Mac OS X and *nix).

For example on Windows:

Open up a command line interface window: Click on Start -> Type in cmd in the lower-left box and hit enter
Navigate to the directory where you installed FITS, for example: cd "..\..\Program Files\fits\fits-0.9.0"
Execute FITS using the start-up script with the -h parameter to see the parameter options: fits.bat -h

For example on *nix:

Open up a terminal window.
Navigate to the directory where you installed FITS
If it not already, make the fits.sh file executable
    chmod +x fits.sh
Run the script named fits.sh
    ./fits.sh

Here are a couple examples of running FITS to get you started. These are relatively simple examples assuming Windows - more complex examples can be found in the on-line user manual.

Run FITS against its release text file printing the FITS output to the terminal: fits.bat -i RELEASE.txt
Run FITS against its release text file saving the FITS output to a file: fits.bat -i RELEASE.txt -o myoutput.txt
Output the technical metadata for FITS' release text file in the TextMD format to the terminal: fits.bat -i RELEASE.txt -x
Output the FITS output plus technical metadata for FITS' release text file in the TextMD format to the terminal: fits.bat -i RELEASE.txt -xc

Logging

Whether using the default log4j.properties configuration file contained within the application deployment or configuring an external log4j.properties file, the default logging output file, fits.log, is configured to be written to the directory from which the FITS is launched. This can be modified by finding the following line within the log4j.properties file in the top-level directory of the FITS deployment:

log4j.appender.FILE.File = ./fits.log

Modify the path to fits.log to have this log file written to a different place on the file system. To use a log4j.properties file external to the FITS deployment, when launching FITS add the following property to the deployment script:

-Dlog4j.configuration=/path/to/log4j.properties

For more information on configuring the verboseness of logging using ERROR, WARN, INFO, DEBUG, see the log4j site

Using FITS Java API

See the Developer Manual.

Learn more

After you are up and running see the User Manual for more documentation.

License Details

FITS is released under the GNU LGPL open source license. The source code for FITS is included in the downloadable ZIP files.

The tools bundled with FITS use the following open source licenses:

  • Jhove (LGPL version 2.1 or any later version)
  • Exiftool (GPL version 1 or any later version; or the artistic license)
  • National Library of New Zealand Metadata Extractor (Apache Public License version 2)
  • DROID (BSD (new version))
  • FFIdent (LGPL)
  • Tika (Apache Public License version 2)
  • MediaInfo BSD-like

The source code for each of the above tools is available on their websites.

In addition, FITS includes the following open source libraries:

  • JDOM (Apache-like license, modified Apache version 1.1)
  • staxmate (BSD (new version))
  • stax2 (LGPL version 2.1)
  • Woodstox (LGPL version 2.1)
  • xercesImpl (Apache Public License version 2)
  • xml-apis (Apache Public License version 2)
  • xmlunit (BSD (new version))
  • JNA (Dual license LGPL version 2.1 and Apache Public License version 2)

For more license details, see FITS License