Skip to content
Mark Jordan edited this page Apr 23, 2016 · 4 revisions

To convert from a set of source content to a group of Islandora ingest packages, you need to provide MIK with some information. This involves creating 1) a configuration file and 2) a metadata mappings file. The first task is describe below, and separate documentation is available for the second task.

MIK configuration files are standard PHP .ini files that contain sections for each tool in the toolchain. Here is a simple example for the CSV toolchain:

[CONFIG]
; Configuration settings in the CONFIG section help you track your 
; content conversion jobs and get written to the log file if requested.
; Any key/value pairs you add here will be written to the log.
config_id = csvsample
last_updated_on = "2015-07-09"
last_update_by = "mjordan@sfu.ca"

[FETCHER]
class = Csv
input_file = "csv_test_input.csv"
# To read a tab-delimited file, use an actual tab character, not \t.
field_delimiter = ","
record_key = ID

[METADATA_PARSER]
class = mods\CsvToMods
; Path to the csv file that contains the CSV to MODS mappings.
mapping_csv_path = "example_csv_mapping.csv"

[FILE_GETTER]
class = CsvSingleFile
input_directory = "/tmp/mik_csv_input"
file_name_field = File

[WRITER]
class = CsvSingleFile
output_directory = "/tmp/mik_csv_output"

[MANIPULATORS]
; One or more metadatamanipulators classes
metadatamanipulators[] = FilterModsTopic
; One fetchermanipulator class with params
fetchermanipulator = "CsvSingleFile|jpg"

[LOGGING]
; Full paths to mik log and manipulator log files
path_to_log = "/tmp/mik.csv.log"
path_to_manipulator_log = '/tmp/mik_manipulator.log'

Here is an example for a toolchain for converting some multipage PDF objects in CONTENTdm into PDFs for batch loading into Islandora:

[CONFIG]
; Configuration settings in the CONFIG section help you track your 
; content conversion jobs and get written to the log file if requested.
; Any key/value pairs you add here will be written to the log.
config_id = "ecucals_4"
last_updated_on = "2015-10-21"
last_update_by = "mjordan@sfu.ca"

[FETCHER]
class = Cdm
alias = ecucals
ws_url = "http://content.lib.sfu.ca:81/dmwebservices/index.php?q="
record_key = pointer

[METADATA_PARSER]
class = mods\CdmToMods
alias = ecucals
ws_url = "http://content.lib.sfu.ca:81/dmwebservices/index.php?q="
; Path to the csv file that contains the CONTENTdm to MODS mappings.
mapping_csv_path = 'ecu_calendars_mapping.csv'
; Include the migrated from uri into your generated metadata (e.g., MODS)
include_migrated_from_uri = TRUE

[FILE_GETTER]
class = CdmPhpDocuments
input_directory = "/tmp/mik_input"
alias = ecucals
ws_url = "http://content.lib.sfu.ca:81/dmwebservices/index.php?q="
utils_url = "http://content.lib.sfu.ca/utils/"
temp_directory = "/tmp/test"

[WRITER]
class = CdmPhpDocuments
alias = ecucals
output_directory = "/tmp/mik_output"
metadata_filename = "MODS.xml"

[MANIPULATORS]
; One or more filemanipulators classes.
filemanipulators[] = ThumbnailFromCdm
; One or more metadatamanipulators classes.
; metadatamanipulators[] = FilterModsTopic
; metadatamanipulators[] = MetadatamanipulatorFoo
; One fetchermanipulator class with params
fetchermanipulator = "CdmCompound|Document-PDF"

[LOGGING]
; Full paths to mik log and manipulator log files
path_to_log = "/tmp/mik.csv.log"
path_to_manipulator_log = '/tmp/mik_manipulator.log'

Full documentation for .ini files used in the following toolchains is available:

Clone this wiki locally