Data Migration

The following is a general outline of ideas regarding our future data migration efforts:

Data migration to Omeka from other repository systems:

  • Why?
    • We don't necessarily want to take the place of existing systems
    • We want to supplement and enhance existing systems
    • Keep existing system:
      • For legacy reasons
      • Too invested in existing system (time and money)
      • Dependent on a particular schema, controlled vocabularies, etc.
    • But use Omeka for its elegant and easy-to-use presentation layer
  • How?
    • Omeka has a generalized schema that can accept almost any data model:
      • DCMI element set (Dublin Core) common to all resourses
      • Customized metadata (item types & metafields)
    • Straightforward data migration process:
      • Create parallel item types and metafields in Omeka
      • Map the existing database to the Omeka database
  • Several ways to migrate data:
    • 1) Mediated import:
      • Existing database -> CSV/XLS/XML -> Omeka database
      • (+) Easy to code/implement due to the use of intermediary file formats
      • (+) Usually reusable across repository systems
      • (+) Can be done through Omeka's plugin architecture
      • (+-) Only as reliable as the export/mapping/import process
      • (-) Changes to existing database are not reflected in Omeka until another import is performed
    • 2) Un-mediated import:
      • Existing database -> Omeka database
      • (+-) A little more difficult to code/implement than mediated import
      • (-) Not usually reusable across repository systems
      • (+) Very reliable if implemented properly
      • (-) Changes to existing database are not reflected in Omeka until another import is performed
    • 3) ODBC (Open Database Connectivity):
      • Omeka request -> Existing database response -> Omeka system
      • (-) Difficult to implement (data mapping API must be perfect)
      • (-) Not usually reusable across repository systems
      • (+) Very reliable if implemented properly
      • (+) Changes to existing database are automatically reflected in Omeka
    • REST
    • OAI_PMH
    • etc.

(+) = positive attribute (-) = negative attribute (+-) = neutral attribute