eprintsug / EPrintsArchivematica

Digital Preservation through EPrints-Archivematica Integration - An EPrints export plugin to Archivematica
6 stars 1 forks source link

including the processing log for process_transfers bin script in the transfer #37

Open photomedia opened 2 years ago

photomedia commented 2 years ago

Currently, we don't include the verbose processing log from the results of each process_transfers command on each eprint in the transfer AIP for archivematica. It would make sense to include this as a part of the "submission documentation" as described here: https://www.archivematica.org/en/docs/archivematica-1.13/user-manual/transfer/transfer/#transfers-with-submission-documentation That would mean adding an additional subfolder here: amid>metadata>submissionDocumentation and placing the verbose log from the process_transfers command on that eprint in there as a text file, something like : "processing_log.txt" The logs's summary (not full log) is currently stored in the Eprints archivematica objects as comments, and optionally, if you redirect output of the bin script, as a log file on the file system. Ideally, this log would actually be included in the transfer, along with each AIP. Here is an example of what that log would look like for an eprint:

*Processing Archivematica ID: 50

This log would include warnings, for example, if a checksum was missing and was generated during export.

I am proposing this as a future enhancement to the export plugin. Do you think it's worthwhile to add this?

photomedia commented 2 years ago

One way to include the processing log would be to use PREMIS format, so that Archivematica can actually use the metadata.

Info on importing/including Premis.xml in the transfer: https://www.archivematica.org/en/docs/archivematica-1.13/user-manual/transfer/import-metadata/#premis-xml

Here is an updated example of what that would look like in XML (Thanks to Artefactual for their assistance with this). The example describes 2 PDF object, 4 events in total, 2 on each file (transfer and fixity check), and 1 agent (the EPrintsArchivematica plugin itself):

<?xml version="1.0" encoding="UTF-8"?>

<premis:premis xmlns:premis="http://www.loc.gov/premis/v3" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/premis/v3 https://www.loc.gov/standards/premis/premis.xsd" version="3.0">

<premis:object xsi:type="premis:file">
    <premis:objectIdentifier>
      <premis:objectIdentifierType>local</premis:objectIdentifierType>
      <premis:objectIdentifierValue>9999</premis:objectIdentifierValue>
    </premis:objectIdentifier>

    <premis:objectCharacteristics>
    <premis:format>
    <premis:formatDesignation>
    <premis:formatName></premis:formatName>
    <premis:formatVersion></premis:formatVersion>
    </premis:formatDesignation>
    </premis:format>
    </premis:objectCharacteristics>

    <premis:originalName>
      objects/documents/documentid-1111/files/9999/supplementalfile.pdf
    </premis:originalName>
    <premis:linkingEventIdentifier>
      <premis:linkingEventIdentifierType>EPrintsArchivematica Event ID</premis:linkingEventIdentifierType>
      <premis:linkingEventIdentifierValue>EA-3</premis:linkingEventIdentifierValue>
    </premis:linkingEventIdentifier>
    <premis:linkingEventIdentifier>
      <premis:linkingEventIdentifierType>EPrintsArchivematica Event ID</premis:linkingEventIdentifierType>
      <premis:linkingEventIdentifierValue>EA-4</premis:linkingEventIdentifierValue>
    </premis:linkingEventIdentifier>
  </premis:object>

<premis:object xsi:type="premis:file">
    <premis:objectIdentifier>
      <premis:objectIdentifierType>local</premis:objectIdentifierType>
      <premis:objectIdentifierValue>2500117</premis:objectIdentifierValue>
    </premis:objectIdentifier>

    <premis:objectCharacteristics>
    <premis:format>
    <premis:formatDesignation>
    <premis:formatName></premis:formatName>
    <premis:formatVersion></premis:formatVersion>
    </premis:formatDesignation>
    </premis:format>
    </premis:objectCharacteristics>

    <premis:originalName>
      objects/documents/documentid-185158/files/2500117/TNeugebauer.pdf
    </premis:originalName>
    <premis:linkingEventIdentifier>
      <premis:linkingEventIdentifierType>EPrintsArchivematica Event ID</premis:linkingEventIdentifierType>
      <premis:linkingEventIdentifierValue>EA-1</premis:linkingEventIdentifierValue>
    </premis:linkingEventIdentifier>
    <premis:linkingEventIdentifier>
      <premis:linkingEventIdentifierType>EPrintsArchivematica Event ID</premis:linkingEventIdentifierType>
      <premis:linkingEventIdentifierValue>EA-2</premis:linkingEventIdentifierValue>
    </premis:linkingEventIdentifier>
  </premis:object>

  <premis:event>
    <premis:eventIdentifier>
      <premis:eventIdentifierType>EPrintsArchivematica Event ID</premis:eventIdentifierType>
      <premis:eventIdentifierValue>EA-1</premis:eventIdentifierValue>
    </premis:eventIdentifier>
    <premis:eventType>transfer</premis:eventType>
    <premis:eventDateTime>2022-07-04T22:46:07.773391+00:00</premis:eventDateTime>
    <premis:eventDetailInformation>
      <premis:eventDetail>Processed Transfer</premis:eventDetail>
    </premis:eventDetailInformation>
    <premis:eventOutcomeInformation>
      <premis:eventOutcome/>
      <premis:eventOutcomeDetail>
        <premis:eventOutcomeDetailNote/>
      </premis:eventOutcomeDetail>
    </premis:eventOutcomeInformation>
    <premis:linkingAgentIdentifier>
      <premis:linkingAgentIdentifierType>local</premis:linkingAgentIdentifierType>
      <premis:linkingAgentIdentifierValue>EPrintsArchivematica</premis:linkingAgentIdentifierValue>
    </premis:linkingAgentIdentifier>
  </premis:event>

  <premis:event>
    <premis:eventIdentifier>
      <premis:eventIdentifierType>EPrintsArchivematica Event ID</premis:eventIdentifierType>
      <premis:eventIdentifierValue>EA-2</premis:eventIdentifierValue>
    </premis:eventIdentifier>
    <premis:eventType>fixity check</premis:eventType>
    <premis:eventDateTime>2019-07-04T22:46:07.773391+00:00</premis:eventDateTime>
    <premis:eventDetailInformation>
      <premis:eventDetail>checking that EPrints checksum matches</premis:eventDetail>
    </premis:eventDetailInformation>
    <premis:eventOutcomeInformation>
      <premis:eventOutcome>Pass</premis:eventOutcome>
      <premis:eventOutcomeDetail>
        <premis:eventOutcomeDetailNote>Missing checksum in EPrints, generated new checksum and stored in EPrints
        </premis:eventOutcomeDetailNote>
      </premis:eventOutcomeDetail>
    </premis:eventOutcomeInformation>
    <premis:linkingAgentIdentifier>
      <premis:linkingAgentIdentifierType>local</premis:linkingAgentIdentifierType>
      <premis:linkingAgentIdentifierValue>EPrintsArchivematica</premis:linkingAgentIdentifierValue>
    </premis:linkingAgentIdentifier>
  </premis:event>

<premis:event>
    <premis:eventIdentifier>
      <premis:eventIdentifierType>EPrintsArchivematica Event ID</premis:eventIdentifierType>
      <premis:eventIdentifierValue>EA-3</premis:eventIdentifierValue>
    </premis:eventIdentifier>
    <premis:eventType>transfer</premis:eventType>
    <premis:eventDateTime>2022-07-04T23:46:07.773391+00:00</premis:eventDateTime>
    <premis:eventDetailInformation>
      <premis:eventDetail>Processed Transfer</premis:eventDetail>
    </premis:eventDetailInformation>
    <premis:eventOutcomeInformation>
      <premis:eventOutcome/>
      <premis:eventOutcomeDetail>
        <premis:eventOutcomeDetailNote/>
      </premis:eventOutcomeDetail>
    </premis:eventOutcomeInformation>
    <premis:linkingAgentIdentifier>
      <premis:linkingAgentIdentifierType>local</premis:linkingAgentIdentifierType>
      <premis:linkingAgentIdentifierValue>EPrintsArchivematica</premis:linkingAgentIdentifierValue>
    </premis:linkingAgentIdentifier>
  </premis:event>

  <premis:event>
    <premis:eventIdentifier>
      <premis:eventIdentifierType>EPrintsArchivematica Event ID</premis:eventIdentifierType>
      <premis:eventIdentifierValue>EA-4</premis:eventIdentifierValue>
    </premis:eventIdentifier>
    <premis:eventType>fixity check</premis:eventType>
    <premis:eventDateTime>2019-07-04T23:48:07.773391+00:00</premis:eventDateTime>
    <premis:eventDetailInformation>
      <premis:eventDetail>checking that EPrints checksum matches</premis:eventDetail>
    </premis:eventDetailInformation>
    <premis:eventOutcomeInformation>
      <premis:eventOutcome>Pass</premis:eventOutcome>
      <premis:eventOutcomeDetail>
        <premis:eventOutcomeDetailNote>Missing checksum in EPrints, generated new checksum and stored in EPrints
        </premis:eventOutcomeDetailNote>
      </premis:eventOutcomeDetail>
    </premis:eventOutcomeInformation>
    <premis:linkingAgentIdentifier>
      <premis:linkingAgentIdentifierType>local</premis:linkingAgentIdentifierType>
      <premis:linkingAgentIdentifierValue>EPrintsArchivematica</premis:linkingAgentIdentifierValue>
    </premis:linkingAgentIdentifier>
  </premis:event>

  <premis:agent>
    <premis:agentIdentifier>
      <premis:agentIdentifierType>local</premis:agentIdentifierType>
      <premis:agentIdentifierValue>EPrintsArchivematica</premis:agentIdentifierValue>
    </premis:agentIdentifier>
    <premis:agentName>EPrintsArchivematica Plugin (Version 1.2)</premis:agentName>
    <premis:agentType>software</premis:agentType>
  </premis:agent>

</premis:premis>