Digital preservationistas rejoice?
I managed to get FITS integration working in Islandora via a plugin. The plugin will automatically create a FITS xml datastream for an object upon ingest in the Islandora interface for a given solution pack. Right now I have it working with the Basic Image Solution Pack, Large Image Solution Pack, and PDF Solution Pack. You just have to make sure fits.sh is in your apache user's path (thanks @adr). [UPDATE: Works with the Audio Solution Pack now.]
What I had feared was going to be a pretty insane process turned out to be fairly simple and straightforward, which I'll outline here.
- I looked at existing plugins for something similar that I could crib from, and found that something in the exiftool plugin which is used in the audio and video solution packs.
- Using the existing plugin, I ran some grep queries to figure out how it is used in the overall codebase (Islandora, and solution packs).
- Created a feature branch
- Hammered away until I had something working. (Thanks @mmccollow)
- Create an ingest rule for a solution pack. This tells the solution pack to call the plugin.
- Test, test, and test.
- Merged feature branch with 6.x branch, pushed, and opened up a pull request.
That is basically it. Let me know if you have any questions. Or, if you know of a way to make it even better, patches welcome ;)
I've added a configuration option to the Islandora admin page to enable FITS datastream creation, and the ability to define a path to fits.sh. I put it in the advanced section of the admin page which is not expanded by default. This will probably be problematic, and folks won't notice it. It might be a better idea to collect all the various command line tools Islandora uses, and give them all a section in the admin page to define their paths.
I also have FITS creation working with the Video Solution Pack now. Up next, Islandora Scholar... just have to get that up and running ;)