From f0f182d44562da02da97926bf1106783b3023ff4 Mon Sep 17 00:00:00 2001 From: Rosie Le Faive <lefaive@gmail.com> Date: Thu, 10 Nov 2022 11:37:26 -0400 Subject: [PATCH] Revise README.md. --- modules/islandora_fits/README.md | 109 +++++++++++++++++-------------- 1 file changed, 60 insertions(+), 49 deletions(-) diff --git a/modules/islandora_fits/README.md b/modules/islandora_fits/README.md index ca85bfa1..64115278 100644 --- a/modules/islandora_fits/README.md +++ b/modules/islandora_fits/README.md @@ -1,60 +1,71 @@ # Islandora FITS -Config module to make Islandora aware of FITS microservice + +Provides actions to extract and store technical metadata using a FITS microservice (CrayFits). + +## Requirements + +- `islandora` and `islandora_core_feature` +- A CrayFits microservice +- A message broker (e.g. Activemq) for Islandora +- `islandora-connector-derivative` (from [Alpaca](https://github.com/Islandora/Alpaca/tree/2.x/islandora-connector-derivative)) configured for CrayFits ## Installation -#### Install this module -Install and enable this module in the usual way. On installation the module will -add a context causing the creation of A FITS media when an Original File media is ingested; however, this process is -predicated on the existence of an `islandora_media_use` term with an external URI of `https://projects.iq.harvard. -edu/fits`--the `islandora_fits_tags` migration might be executed to create such a term. - -#### Install FITS Webservice -FITS XMLs are generated from an easily installed web service. -Get the latest fits.zip and fits.war from https://projects.iq.harvard.edu/fits/downloads -(on my box I had to install a missing zip library with -‘sudo apt-get install php7.1-zip’) - -Install following their instructions. -Copy the `.war` file to your webapps directory and test. -Edit the `catalina.properties` file on the Drupal server by adding the -following two lines to the bottom of the file: - -```properties -fits.home=/\<path-to-fits>/fits -shared.loader=/\<path-to-fits>/fits/lib/*.jar -``` -Restart Tomcat and test with: -```bash -curl -k -F datafile="@/path/to/myfile.jpg" http://example.com:8080/fits/examine -``` -(note: the ‘@’ is required.) +For a full digital repository solution (including CrayFits), see our [installation documentation](https://islandora.github.io/documentation/installation/). -#### Installing Microservice -Get code from https://github.com/roblib/CrayFits and install. This code can live anywhere, including an external server, -but most installations will have it at `/var/www/html`. +To download/enable just this module, use the following from the command line: -The App runs by entering: ```bash -php bin/console server:start *:8050 +$ composer require islandora/islandora +$ drush en islandora_core_feature +$ drush mim islandora_tags +$ drush en islandora_fits +$ drush mim islandora_fits_tags ``` -in the App root folder. -The server is stopped with: -```bash -php bin/console server:stop -``` -On a production machine you'd probably want to configure an additional -port in Apache. -Note: The location of the FITS webserver is stored in the `.env` file in the -root dir of the Symfony app. This will have to be reconfigured if the FITS -server is anywhere other than `localhost:8080/fits` +### Configuration installed automatically + +On installation this module will: + +* Create a new media type, "FITS Technical metadata." +* Create a new Action, "FITS - Generate a Technical metadata derivative", based on the FITS +Action plugin, "Generate a Technical metadata derivative," provided by this module. +* Add a Context, "Technical Metadata on Ingest", which causes FITS derivatives to be created +from media tagged "Original File". + +To create FITS derivatives, the Context requires the existence of an `islandora_media_use` term with +an external URI of `https://projects.iq.harvard.edu/fits`. The `islandora_fits_tags` +migration will create such a term. + +### File Checksum pseudo field + +A "File Checksum" pseudo field can be added to the display of nodes. It contains the MD5 checksum +stored in a "FITS Technical metadata"-type media that is attached to that node. In the default +configuration, this value is the MD5 checksum of the file tagged "Original File". + +## Documentation + +Further documentation for this module is available on the [Islandora documentation site](https://islandora.github.io/documentation/). + +## Troubleshooting/Issues + +Having problems or solved a problem? Check out the Islandora google groups for a solution. + +* [Islandora Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora) +* [Islandora Dev Group](https://groups.google.com/forum/?hl=en&fromgroups#!forum/islandora-dev) + +## Sponsors + +* UPEI + +## Development + +If you would like to contribute, please get involved by attending our weekly [Tech Call](https://github.com/Islandora/islandora-community/wiki/Weekly-Open-Tech-Call). We love to hear from you! + +If you would like to contribute code to the project, you need to be covered by an Islandora Foundation [Contributor License Agreement](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements) or [Corporate Contributor License Agreement](https://github.com/Islandora/islandora-community/wiki/Onboarding-Checklist#contributor-license-agreements). Please see the [Contributor License Agreements](https://github.com/Islandora/islandora-community/wiki/Contributor-License-Agreements) page on the islandora-community wiki for more information. + +We recommend using the [islandora-playbook](https://github.com/Islandora-Devops/islandora-playbook) or [isle-dc](https://github.com/Islandora-Devops/isle-dc) to get started. -#### Adding FITs requests to the queue -Copy the file `assets/ca.islandora.alpaca.connector.ocr.blueprint.xml` -to `/opt/karak/deploy` on your server. There is no need to restart. +## License -#### Adding Checksum to Display -A pseudo field with the computed checksum can be added to Repository Item -display. Navigate to `admin/structure/types/manage/islandora_object/display` -to enable or disable display of `File Checksum`. +[GPLv2](http://www.gnu.org/licenses/gpl-2.0.txt)