yalelibrary / YUL-DC

Preliminary issue tracking for Yale University Libraries Digital Collections project
3 stars 0 forks source link

Store Preservica IDs on ingest #1181

Closed mikeapp closed 3 years ago

mikeapp commented 3 years ago

Story

[Note: Preservica is our digital preservation system. Preservica IDs are pre-assigned by Goobi and provided in the METS ingest file. We may also build additional ingest workflows that include these IDs.]

We'd like to be able to track Preservica IDs for each Parent and Child object. The record of these IDs should persist even when an object is deleted. For example, if an object is ingested and subsequently deleted, we should be able to recover the child images from the digital preservation system based on these IDs. We should also be able to determine which Parent the objects belonged to.

We should also maintain the history of these associations. For example, if I ingest Parent OID 1 with children 2, 3, and 4. Then these are deleted and different objects are uploaded in their place. We should be able to tract the first and second iteration of the child images back to their IDs in the preservation system. Note that they will possibly not be unique (i.e., the same package might be uploaded twice). It would be helpful to have the associated Batch Process ID if available.

Acceptance

MaggieZhaoYale commented 3 years ago

The Goobi items ingested to Preservica will have the ID from the element: <mets:fileGrp USE="PRESERVATION" ID="c0ae196b-6a31-485f-a554-057caca72cb5">as deliverable unit refernence in Preservica and the ID value from the <mets:file ID="9b5ab12c-acc1-497a-bce4-4136d6e22206" MIMETYPE="image/tiff" CHECKSUMTYPE="SHA-1" CHECKSUM="fa8e176c98cc5a382e9e612c6d7025590e152504"> as the Preservica file reference for each file.

MaggieZhaoYale commented 3 years ago
  1. the ingest timestamp: is the ingest into DCE system or Preservica system? is it when the job start or the DCS goobi scan button is pressed? (as the batch_process.created_at)
  2. Where we store the information?
  3. Do we need to make a datatable to be accessed in management app?
mikeapp commented 3 years ago
  1. Into DCS. The timestamp can be when the parent or child is created.
  2. We can store this in a new table in the management application
  3. Yes, I think this is the best approach.