Research data management
Main Page > Documentation > Requirements > Research data management
About
This page describes requirements for enhancements to Archivematica to better handle research data management. It is funded by Jisc, through University of York and University of Hull.
See also
- Dataset preservation
- Dataverse
- Digital Archiving blog written by archivists at University of York
Automated DIP generation
The tasks related to this phase of development are:
- change workflow so that the ‘upload DIP’ choice can be preconfigured.
- update AIP reingest workflow to allow uncompressed AIPs to be reingested.
- enhance the callback functionality in the Storage Service, to notify third party apps when a DIP is ready to be used.
These developments are necessary for research data management to meet use cases when research data is stored without the expectation that it will be re-used, but then subsequently a need for re-use arises and/or is approved by the creator of the data.
Workflow
- Access request is initiated through a staff alert to RDMonitor
- Request for DIP sent to Storage Service
- If DIP exists already in storage, return DIP
- If DIP does not exist, send wait response and initiate AIP re-ingest in Archivematica pipeline
- When DIP stored by Archivematica,return DIP message goes to RDMonitor
- If DIP creation/storage fails, failure message sent to RDMonitor.
METS parsing
METS questions
Question | Information source | Sample result |
---|---|---|
How many files are in this package? | integer | |
How many original/preservation/metadata files are in this package? | mets:fileGrp USE="original" / mets:fileGrp USE="preservation" / mets:fileGrp USE="metadata" | integer |
What is the total volume of files in this package? | premis:size | integer and unit, eg 17 GB |
Is there a DIP for this package? | Storage Service | Location of DIP |
How many files with PRONOM puid X are in this package? | premis:formatRegistryKey | integer |
How many files with format name X are in this package? | premis:formatName | integer |
How many files with PRONOM puid/format name X have been normalized? | premis:formatRegistryKey / premis:formatName; files with matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many files with PRONOM puid/format name X have not been normalized? | premis:formatRegistryKey / premis:formatName; files without matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
Does the package include descriptive metadata? | mets:dmdSec | Yes or No |
Does the package include rights metadata? | mets:rightsMD | Yes or No |
How many files are invalid/not well-formed? | premis:formatRegistryKey; <premis:eventType>validation</premis:eventType>; <premis:eventOutcome>fail</premis:eventOutcome> | integer |
How many files with PRONOM puid/format name X are invalid/not well-formed? | premis:formatRegistryKey / premis:formatName; <premis:eventType>validation</premis:eventType>; <premis:eventOutcome>fail</premis:eventOutcome> | integer |
What is the directory structure of the files in this package? | mets:structMap | ? |
What is the size of file X? | premis:size | integer and unit, eg 2.2 GB |
What is the checksum format for file X? | premis:messageDigestAlgorithm | md5, sha256 |
What is the checksum for file X? | premis:messageDigest | d32d41f7481afc1ab48779e2608v08d93b5d05cd217a4372e6a93957767ae651 |
Has file X been normalized for preservation? | matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | Yes or no |
To what format has file X been normalized for preservation? | matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation"; premis:formatName for preservation copy | TIFF |
When was file X normalized for preservation? | matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation"; premis:eventType:creation and premis:eventDateTime for preservation copy | date |
Generic search REST API
METS questions
Question | Information source | Sample result |
---|---|---|
How many files are in archival storage? | Storage Service | integer |
How many AIPs are in archival storage? | Storage Service | integer |
How many files are in a specified AIP? | Storage Service | integer |
How many files with PRONOM puid X are in archival storage? | premis:formatRegistryKey | integer |
How many files with format name X are in archival storage? | premis:formatName | integer |
How many [video, image, plain text etc.] files are in archival storage? | fits:mimetype, File:MIMEType, other mimetype sources? Alternatively, FPR groups? | integer |
What is the total volume of files with PRONOM puid X in archival storage? | premis:formatRegistryKey; premis:size | integer and unit, eg 452 GB |
What is the total volume of files with format name X in archival storage? | premis:formatName; premis:size | integer and unit, eg 452 GB |
What is the total volume of [video, image, plain text etc.] files in archival storage? | fits:mimetype, File:MIMEType, other mimetype sources? FPR groups?; premis:size | integer and unit, eg 452 GB |
How many files with PRONOM puid X have been normalized? | premis:formatRegistryKey; files with matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many files with PRONOM puid X have not been normalized? | premis:formatRegistryKey; files without matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many files with format name X have been normalized? | premis:premis:formatName; files with matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many files with format name X have not been normalized? | premis:premis:formatName; files without matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many [video, image, plain text etc.] files have been normalized? | fits:mimetype, File:MIMEType, other mimetype sources?; files with matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many [video, image, plain text etc.] files have not been normalized? | fits:mimetype, File:MIMEType, other mimetype sources?; files without matching GROUPID attributes in mets:fileGrp USE="original" and mets:fileGrp USE="preservation" | integer |
How many files were ingested between date X and date Y? | <premis:eventType>ingestion</premis:eventType>; premis:eventDateTime | integer |
How many files with PRONOM puid X are invalid/not well-formed? | premis:formatRegistryKey; <premis:eventType>validation</premis:eventType>; <premis:eventOutcome>fail</premis:eventOutcome> | integer |
How many files with format name X are invalid/not well-formed? | premis:formatName; <premis:eventType>validation</premis:eventType>; <premis:eventOutcome>fail</premis:eventOutcome> | integer |
How many AIPs have corresponding DIPs? | Storage Service | integer |
How many AIPs do not have corresponding DIPs? | Storage Service | integer |
Multiple checksum algorithms
Enhance PRONOM integration
Priorities for this phase are (in order of priority):
1. Provide report of non-identified files in a SIP or AIP, with access to the file identification tool output
2. Provide direct access to the PRONOM submission form from within Archivematica
Alternatives being discussed:
- Post tool output and optionally a sample file to the FPR, making that available publically and to PRONOM
3. Allow a user to manually assign pronom IDs to non-identified files; record manual selection in the AIP METS file
Automation tools documentation
Archivematica has features that enable quite a bit of automation and interaction from 3rd party applications, but most of that functionality is hidden and not well documented. The goal of this part of the work on improving Research data management workflows is about adding documentation, in written form and as screencasts/videos, aimed at developers, and other technical users of Archivematica. This will make it easier for developers working on other applications to integrate Archivematica into their organizations digital preservation workflows.
Potential topics
- introduction to the Archivematica
- setting up an Archivematica development
- automation tools introduction
- implementing an automated workflow in
- managing an Archivematica installation
- configuration and troubleshooting
- api documentation