Skip to content

Instantly share code, notes, and snippets.

@jordandukart
Last active January 4, 2018 16:08
Show Gist options
  • Save jordandukart/2f3015c1099a85d7c8728bc7c62021de to your computer and use it in GitHub Desktop.
Save jordandukart/2f3015c1099a85d7c8728bc7c62021de to your computer and use it in GitHub Desktop.
README.md

XML Based CONTENTdm Migration

Introduction

Provides a framework for migrating content out of CONTENTdm and into Islandora given XML data mapped from an export from CONTENTdm.

This module extends the Islandora Batch framework and works in much the same way. The ingest is a two-step process:

  • Preprocessing: The data is scanned and a number of entries are created in the Drupal database. There is minimal processing done at this point, so preprocessing can be completed outside of a batch process.
  • Ingest: The data is actually processed and ingested. This happens inside of a Drupal batch.

Requirements

This module requires the following modules/libraries:

Installation

Install as usual, see this for further information.

Usage

The base XML preprocessor can be called as a drush script (see drush help xml_based_contentdm_migration_preprocess for additional parameters):

drush -v -u 1 --uri=http://localhost xml_based_contentdm_migration_preprocess --xml_source=/path/to/the/xml/file --parent=parent:pid --namespace=namespace

This will populate the queue (stored in the Drupal database) with base entries.

NOTE: Preprocessing uses identifiers within the XML to map PIDs. If an object exists it will not be added to the database to be ingested again and will be skipped.

NOTE: Parent collections need to exist before preprocessing occurs and they should be passed as the --parent parameter so namespaces are accurate across their children as the default will be islandora otherwise.

The queue of preprocessed items can then be processed:

drush -v -u 1 --uri=http://localhost islandora_batch_ingest --set_id=thesetid

Troubleshooting/Issues

Having problems or solved a problem? Contact discoverygarden.

Maintainers/Sponsors

Current maintainers:

Development

If you would like to contribute to this module, please check out our helpful Documentation for Developers info, Developers section on Islandora.ca and contact discoverygarden.

License

GPLv3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment