Difference between revisions of "Archivematica 0.9 Micro-services"

From Archivematica
Jump to navigation Jump to search
Line 167: Line 167:
 
|-
 
|-
 
|-  
 
|-  
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''<div class="mw-collapsible-content">
+
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve Transfer'''<div class="mw-collapsible-content">
<br/>Set file permissions<br/>
+
Set file permissions
Move to processing directory
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''<div class="mw-collapsible-content">
 
<br/>Set transfer type: Maildir
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''<div class="mw-collapsible-content">
 
<br/>Attempt restructure for compliance
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Extract packages'''<div class="mw-collapsible-content">
 
<br/>Extract attachments
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Approve bagit transfer
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Extract zipped bag transfer
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Set file permissions
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Move to processing directory
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Rename with transfer UUID
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Assign file UUIDs to objects
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Assign checksums and file sizes to objects
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Verify bag, and restructure for compliance
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Include default Transfer processingMCP.xml
 
 
</div>
 
</div>
 
</div>
 
</div>
|
+
| Once the transfer has all its digital objects and has been formatted for processing, the user selects "Transfer complete" from the Actions drop-down menu.
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Approve DSpace transfer
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Set transfer type: DSpace
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default Transfer processingMCP.xml'''<div class="mw-collapsible-content">
 
<br/>Failed compliance. See output in dashboard. Transfer moved back to activeTransfers.
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default Transfer processingMCP.xml'''<div class="mw-collapsible-content">
 
<br/>Rename with transfer UUID
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default Transfer processingMCP.xml'''<div class="mw-collapsible-content">
 
<br/>Create transfer backup (sharedDirectory/transferBackups)
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer checksum'''<div class="mw-collapsible-content">
 
<br/>Verify metadata directory checksums
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Generate METS.xml'''<div class="mw-collapsible-content">
 
<br/>Generate METS.xml document
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Quarantine'''<div class="mw-collapsible-content">
 
<br/>Designate to process as a DSpace transfer
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Quarantine'''<div class="mw-collapsible-content">
 
<br/>Designate to process as a DSpace transfer when unquarantined
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Quarantine'''<div class="mw-collapsible-content">
 
<br/>Move to quarantined
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer checksums'''<div class="mw-collapsible-content">
 
<br/>Verify checksums in fileSec of DSpace METS files
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content">
 
<br/>Identify DSpace text files
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content">
 
<br/>Identify DSpace license files
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content">
 
<br/>Identify DSpace mets files
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Characterize and extract metadata'''<div class="mw-collapsible-content">
 
<br/>Characterize and extract metadata on objects
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Approve transfer'''<div class="mw-collapsible-content">
 
<br/>Approve transfer
 
</div>
 
</div>
 
|
 
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Set file permissions
 
<br/>Set file permissions
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
 
<br/>Move to processing directory
 
<br/>Move to processing directory
</div>
+
<br/>Set transfer type
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Set transfer type: Standard
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
 
<br/>Remove hidden files and directories
 
<br/>Remove hidden files and directories
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
 
<br/>Attempt restructure for compliance
 
<br/>Attempt restructure for compliance
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer compliance'''<div class="mw-collapsible-content">
 
 
<br/>Verify transfer compliance
 
<br/>Verify transfer compliance
 
</div>
 
</div>
 
</div>
 
</div>
|
+
| Verifies that the transfer conforms to the folder structure required for processing in Archivematica. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/. Standard transfers are restructured for compliance if pessary.
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Designate to process as a standard transfer
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Failed compliance.
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Find branch to continue processing
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Attempt restructure for compliance?
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Move to processing directory
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Attempt restructure for compliance
 
</div>
 
</div>
 
|
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Failed transfer compliance'''<div class="mw-collapsible-content">
 
<br/>Move transfer back to activeTransfers directory.
 
</div>
 
</div>
 
|
 
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename with transfer UUID'''<div class="mw-collapsible-content">
Line 429: Line 188:
 
</div>
 
</div>
 
</div>
 
</div>
|
+
| Directly associate the transfer with it's metadata by appending the transfer UUID to the transfer directory name.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default Transfer processingMCP.xml'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default Transfer processingMCP.xml'''<div class="mw-collapsible-content">
Line 435: Line 194:
 
</div>
 
</div>
 
</div>
 
</div>
|
+
| Includes a file named [[processingMCP.xml]] in the root of the transfer. This is a configurable xml file to pre-configure processing decisions.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Assign file UUIDs and checksums'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Assign file UUIDs and checksums'''<div class="mw-collapsible-content">

Revision as of 07:35, 24 August 2012

Main Page > Documentation > Technical Architecture > Micro-services > Archivematica 0.9 Micro-services

This page describes the key micro-services that are undertaken during transfer and ingest.

Transfer

Micro-service Description
Approve transfer Once the transfer has all its digital objects and has been formatted for processing, the user selects "Transfer complete" from the Actions drop-down menu.
Verify transfer compliance Verifies that the transfer conforms to the folder structure required for processing in Archivematica. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/.
Rename with transfer UUID Adds a unique universal identifier to the transfer folder name.
Include default Transfer processingMCP.xml Adds defaultTransferProcessing.xml file from /sharedDirectoryStructure/sharedMicroServiceTasksConfigs/ to the transfer directory. This xml file can configure workflow options such as creating transfer backups, quarantining the transfer and selecting a SIP creation option.
Workflow decision - create transfer backup The user can choose to create a complete backup of the transfer in case transfer or ingest are interrupted or fail. The transfer backup is placed in /sharedDirectoryStructure/transferBackups/ and will automatically be deleted once the AIP has been moved into storage.
Assign file UUIDs to objects Assigns a unique universal identifier to each file in the /objects/ directory.
Assign checksums and file sizes to objects Assigns a sha-256 checksum to each file in the /objects/ directory and calculates file sizes.
Verify metadata directory checksums Checks any checksum files that were placed in the /metadata/ folder of the SIP prior to ingest. Note that the filenames need to be named based on their algorithm: checksum.sha1, checksum.sha256, checksum.md5.
Generate METS.xml document Generates a basic mets file with a fileSec and structMap to record the presence of all objects in the /objects/ directory and their location in any subdirectories. Designed to capture the original order of the transfer in the event the user chooses subsequently to delete, rename or move files or break the transfer into multiple SIPs. The mets file is automatically added to any SIP generated from the transfer.
Extract packages Extracts objects from any zipped files or other packages.
Scan for viruses Uses ClamAV, parses the output and creates a PREMIS event. If a virus is found, the SIP is automatically placed in /sharedDirectoryStructure/failed/.
Sanitize object's file and directory names Some file systems do not support unicode or other special characters in filenames. This micro-service removes prohibited characters and replaces them with dashes. Original filenames are preserved in the PREMIS metadata.
Sanitize transfer name Same as above except does it for the transfer folder name.
Characterize and extract metadata Identifies and validates formats and extracts object metadata using the File Information Tool Set (FITS). Adds output to the PREMIS metadata.
Create SIP(s) The user chooses among a number of SIP creation options. See the user manual for details.


Ingest

Micro-service Description
Verify SIP compliance Verifies that the SIP conforms to the folder structure required for processing in Archivematica. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/.
Rename SIP directory with SIP UUID Adds a unique universal identifier to the SIP folder name.
Include default SIP processingMCP.xml Adds defaultSIPProcessing.xml file from /sharedDirectoryStructure/sharedMicroServiceTasksConfigs/ to the transfer directory. This xml file canbe used to configure SIP workflow options.
Remove thumbs.db files Removes any Thumbs.db files. May be expanded to others in future releases.
Sanitize object's file and directory names If user created new folder and/or file names during SIP creation, any prhobited characters are removed from these names and replaced with dashes.
Sanitize SIP name Same as above except that it's done for the SIP folder name.
Check for Service directory For digitization output workflows, checks to see if the SIP contains any service copies of master files. See the user manual for details.
Check for Access directory For digitization output workflows, checks to see if the SIP contains any access copies of master files. See the user manual for details.
Normalize The user can choose to create preservation and/or access copies of the ingested files based on rules in the transcoder database. These rules can be seen under the Preservation planning tab in the Archivematica dashboard.
Normalize access Creates access copies to be added to the DIP.
Normalize preservation Creates preservation copies to be included in the AIP along with the original files.
Approve normalization If desired, the user can verify the quality of normalized files in /sharedDirectoryStructure/watchedDirectories/approveNormalization/.
Check for submission documentation Checks for files in /metadata/submissionDocumentation/.
Move submission documentation to objects directory Moves the /submissionDocumentation/ directory from /metadata/ to /objects/ for ingest processing.
Assign file UUIDs to submission documentation Assigns a unique universal identifier to each file in the /objects/submissionDocumentation/ directory.
Assign checksums and filesizes to submission documentation Assigns a sha-256 checksum to each file in the /objects/submissionDocumentation directory and calculates file sizes.
Extract packages in submission documentation Extracts objects from any zipped files or other packages in the /objects/ directory.
Characterize and extract metadata on submission documentation Identifies and validates formats and extracts object metadata for files in the /objects/submissionDocumentation directory using the File Information Tool Set (FITS). Adds output to the PREMIS metadata.
Normalize submission documentation to preservation format Creates preservation copies of all files in the /objects/submissionDocumentation directory to be included in the AIP along with the original files.
Verify checksums generated on ingest Verifies checksums that were generated during transfer processing to ensure that the files have not been corrupted during transfer or ingest.
Remove empty directories Removes any empty directories from the SIP.
Generate METS.xml document Generates a METS file with PREMIS metadata. For more information on the METS file, see METS.
Copy transfers metadata and logs Copies all submission documentation included in the original transfer to the SIP. Copies all logs generated during transfer processing to the SIP.
Copy METS to DIP directory Creates a copy of the METS file in the DIP directory.
Generate DIP Moves the DIP to the DIP upload directory.
Upload DIP The user uploads the DIP to a selected description in the access system. See the user manual for details.
Prepare AIP Packages the SIP into an AIP using BagIt
Compress AIP Losslessly compresses the AIP for storage using p7zip.
Store AIP Moves the AIP to a specified directory. In the demo version of Archivematica the directory is /sharedDirectoryStructure/www/AIPsStore/. In other environments it can be a remote network mounted directory. The directory structure of the AIP store contains UUID quad directories and an index.html file listing the AIPs in storage. The index.html file is displayed in the dashboard in the Archival storage tab.

Once the AIP has been stored, a copy of the AIP is extracted from storage to a local temp directory, and is validated with the various BagIt checks: verifyvalid, checkpayloadoxum, verifycomplete, verifypayloadmanifests, verifytagmanifests.


0.9

Micro-service Description
Approve Transfer
Once the transfer has all its digital objects and has been formatted for processing, the user selects "Transfer complete" from the Actions drop-down menu.
Verify transfer compliance
Verifies that the transfer conforms to the folder structure required for processing in Archivematica. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/. Standard transfers are restructured for compliance if pessary.
Rename with transfer UUID
Directly associate the transfer with it's metadata by appending the transfer UUID to the transfer directory name.
Include default Transfer processingMCP.xml
Includes a file named processingMCP.xml in the root of the transfer. This is a configurable xml file to pre-configure processing decisions.
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Assign file UUIDs and checksums
Verify transfer checksums
Generate METS.xml document
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Quarantine
Extract packages
Extract packages
Scan for viruses
Clean up names
Clean up names
Characterize and extract metadata
Characterize and extract metadata
Characterize and extract metadata
Complete transfer
Complete transfer
Complete transfer
Create SIP from Transfer
Create SIP from Transfer
Create SIP from Transfer
Create SIP from Transfer
Create SIP from Transfer
Reject transfer
Failed transfer
Approve SIP creation
Verify SIP compliance
Verify SIP compliance
Verify SIP compliance
Verify transfer compliance
Failed compliance
Rename SIP directory with SIP UUID
Include default SIP processingMCP.xml
Remove cache files
Clean up names
Clean up names
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Process submission documentation
Process submission documentation
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Normalize
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Process submission documentation
Prepare AIP
Prepare AIP
Prepare AIP
Prepare AIP
Prepare DIP
Prepare DIP
Prepare DIP
Prepare DIP
Prepare AIP
Prepare AIP
Prepare AIP
Prepare AIP
Prepare AIP
Prepare AIP
Prepare AIP
Store AIP
Store AIP
Store AIP
Store AIP
Store AIP
Store AIP
Upload DIP
Upload DIP
Upload DIP
Upload DIP
Upload DIP
Upload DIP
Upload DIP
Upload DIP
Reject DIP
Reject SIP
Failed SIP
Normalize
Normalize
Normalize
Process submission documentation
Process submission documentation