MarcusBarnes / mik

The Move to Islandora Kit is an extensible PHP command-line tool for converting source content and metadata into packages suitable for importing into Islandora (or other digital repository and preservations systems).
GNU General Public License v3.0
34 stars 11 forks source link

Add writers that output packages that can be easily ingested using Islandora REST #431

Closed mjordan closed 6 years ago

mjordan commented 7 years ago

Currently, writers output packages that conform to the input expected by the various Islandora Batch modules. I'd like to experiment with adding a writer that outputs packages that are more amenable to ingesting using the megasuperawesome Islandora REST interface. The main feature of this proposed MIK writer would be that each content file generated by MIK would be named after its destination datastream, so any integration tools that use the REST API would not need to know anything about datastream IDS, they could just read files from an object-level directory and form the REST POST requests required to ingest an object based solely on the content files' names. We can probably start with single-file objects and move on from there.

Use case is automated workflows. The benefit to using Islandora's REST interface is that the pipeline that prepares the content for ingestion need not be on a filesystem shared with the Islandora instance, which is what the Batch modules requires.

Tagging @bondjimbond and @dannylamb, the former because he sometimes needs to ingest stuff that is not copyable to the Islandora server's filesystem, the latter because this writer might be relevant (in its general pattern, not its details) to a potential MIK toolchain for migrations from 7.x to CLAW via its REST API.

mjordan commented 7 years ago

Over the weekend I wrote a script to ingest objects via REST: https://github.com/mjordan/islandora_rest_ingester. This script expects all files (MODS.xml, OBJ.tif) to be in a subdirectory, so the user can also add TNs, TECHMD, etc. However, if this script expected the same input as Islandora Batch, we wouldn't need a new writer, it could just use the output MIK already generates.

mjordan commented 6 years ago

I added a post-write hook for MIK to https://github.com/mjordan/islandora_rest_ingester and documented it in that README ("Integrating the Islandora REST Ingester with other tools"), so closing this.