Skip to content

Instantly share code, notes, and snippets.

@jackflaps
Last active November 27, 2018 00:07
Show Gist options
  • Save jackflaps/fb98f3a37ff0c34002b4ea29e1238dda to your computer and use it in GitHub Desktop.
Save jackflaps/fb98f3a37ff0c34002b4ea29e1238dda to your computer and use it in GitHub Desktop.
anticipated repository workflows

create object in repository

pre-conditions

  • a digital_object record exists for the digitized or born-digital object in ArchivesSpace
  • the digital_object is linked to, and representative of, an archival_object record with level == "item"
  1. user creates metadata in ArchivesSpace
  2. user logs into backend repository
  3. user initiates ingest from Archivematica SFTP Server using the ingest structure (see ref. in wiki)
  4. Archivematica processes the ingest:
  • SIP UUIDs generated
  • CSV file generated with two columns: ArchivesSpace URI, SIP UUID
  • Repository grabs metadata from ArchivesSpace (using URI) and indexes in elasticsearch (using SIP UUID)
  1. user processes CSV file to push SIP UUIDs to ArchivesSpace digital_object records

update metadata in repository

NOTE: It is assumed that all metadata updates happen in ArchivesSpace. We do not plan to have direct editing of metadata in the repository itself.

pre-conditions

  • Object already exists in the repository
  • Object is represented by a digital_object record in ArchivesSpace whose identifier is an Archivematica SIP UUID
  • The digital_object is linked to, and is representative of, an archival_object record in ArchivesSpace with level == "item"
  1. user updates item-level metadata in ArchivesSpace
  2. user clicks "Reindex in Repository" link from item record (item must have representative digital object attached)
  3. ArchivesSpace/Repository processes the request:
  • ArchivesSpace generates MODS record
  • ArchivesSpace POSTs MODS record to Repository
  • Repository has webhook to pull MODS record and index into elasticsearch

delete object from repository

  1. user deletes object in ArchivesSpace
  2. administrative user receives notification of deleted object with its SIP UUID
  3. administrative user processes deletion request in Archivematica
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment