Skip to content
Mark Jordan edited this page Oct 31, 2016 · 4 revisions

MIK (the Move to Islandora Kit) is a command-line tool for converting source content and metadata into packages suitable for importing into Islandora. These import packages are compatible with existing batch import tools such as Islandora Batch, Islandora Book Batch, and Islandora Newspaper Batch. MIK does not import the content itself - it just prepares the content for importing using these tools. MIK's relationship to your content and Islandora can be visualized like this:

MIK overview

The benefits of decoupling the preparation from the loading of content are that you can run MIK as many times as you want without committing to adding it to Islandora, and that you can perform quality checks on the prepared content before loading it. This approach also provides a lot of flexibility in who prepares the content, when it is prepared, and where it is prepared.

Internally, MIK breaks the task of converting the input data into Islandora import packages down into discrete subtasks as illustrated in the diagram below:

MIK details

  • Fetchers query a data source to determine how many objects are to be imported, and perform some additional setup for the subsequent tasks.
  • Fetcher manipulators filter out items from the entire set of data retrieved by the fetcher. For example, you may only want to fetch book objects from a CONTENTdm collection that also contains images.
  • Metadata parsers get the metadata for an object and convert it into a format that Islandora can use, such as MODS XML.
  • File getters retrieve the content files associated with an object to be imported.
  • File getter manipulators provide a way to configure file getters to look in specific locations for files.
  • Writers save the converted content to disk in a directory structure that can be used by the standard Islandora batch import modules. After a writer has written out its package, it can initiate one or more post-write hooks (described below) that perform actions on the content in the packages.
  • File manipulators perform some processing on the files retrieved by file getters.
  • Metadata manipulators can modify or supplement the metadata XML file generated by metadata parsers.

A unique combination of one fetcher, one metadata parser, one file getter, zero or more manipulators, and one writer is an MIK "toolchain." When you run MIK you assemble a set of tools into a toolchain. A toolchain, and the options for how its component tools work, is defined in a single configuration file. Currently, MIK offers a CSV toolchain, and toolchains for a number of CONTENTdm object types. MIK is designed to be extensible, so it is relatively easy to create new toolchains.

Clone this wiki locally