Difference between revisions of "Archivematica 0.9 Micro-services"

From Archivematica
Jump to navigation Jump to search
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
[[Main Page]] > [[Documentation]] > [[Technical Architecture]] > [[Micro-services]] > Archivematica 0.9 Micro-services
 
[[Main Page]] > [[Documentation]] > [[Technical Architecture]] > [[Micro-services]] > Archivematica 0.9 Micro-services
 +
 +
<blockquote style="background-color:orange;">
 +
'''Note: The documentation on this page is out of date. Please see the [https://www.archivematica.org/docs official documentation page] for the latest.'''
 +
</blockquote>
  
 
A micro-service may consist of a number of discrete tasks, or jobs. In the Archivematica 0.9 dashboard, micro-services are always shown, while jobs may be viewed by expanding the micro-service (i.e. by clicking on the grey background behind the micro-service name).
 
A micro-service may consist of a number of discrete tasks, or jobs. In the Archivematica 0.9 dashboard, micro-services are always shown, while jobs may be viewed by expanding the micro-service (i.e. by clicking on the grey background behind the micro-service name).
Line 9: Line 13:
 
</br>
 
</br>
  
The table below shows micro-services and jobs in Archivematica 0.9.
+
The table below shows micro-services and jobs in Archivematica 0.9. Note that this is is only a list of micro-services; detailed user instructions are available in the [[User manual 0.9|user manual]].
 
</br>
 
</br>
 
=Transfer=
 
=Transfer=
Line 34: Line 38:
 
</div>
 
</div>
 
</div>
 
</div>
| Moves the transfer to a processing directory based on selected transfer type (standard, zipped bag, unzipped bag, DSPace export or maildir). Verifies that the transfer conforms to the folder structure required for processing in Archivematica and restructures if required. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/.  
+
| Moves the transfer to a processing directory based on selected transfer type (standard, zipped bag, unzipped bag, DSPace export or maildir). Verifies that the transfer conforms to the folder structure required for processing in Archivematica and restructures if required. The structure is as follows: ''/logs/'', ''/metadata/'', ''/metadata/submissionDocumentation/'', ''/objects/''.  
 
|-  
 
|-  
 
|  <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 46: Line 50:
 
</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. It can configure workflow options such as creating transfer backups, quarantining the transfer and selecting a SIP creation option.
+
| Adds a file named processingMCP.xml to the root of the transfer. This is a configurable xml file to pre-configure processing decisions. It can configure workflow options such as creating transfer backups, quarantining the transfer and selecting a SIP creation option.
 
|-  
 
|-  
 
|  <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">
Line 53: Line 57:
 
</div>
 
</div>
 
</div>
 
</div>
| Assigns a unique universal identifier and sha-256 checksum to each file in the /objects/ directory.
+
| Assigns a unique universal identifier and sha-256 checksum to each file in the ''/objects/'' directory.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer checksums'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Verify transfer checksums'''<div class="mw-collapsible-content">
Line 59: Line 63:
 
</div>
 
</div>
 
</div>
 
</div>
| Checks any checksum files that were placed in the /metadata/ folder of the transfer prior to moving the transfer into Archivematica.
+
| Checks any checksum files that were placed in the ''/metadata/'' folder of the transfer prior to moving the transfer into Archivematica.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Generate METS.xml document'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Generate METS.xml document'''<div class="mw-collapsible-content">
Line 65: Line 69:
 
</div>
 
</div>
 
</div>
 
</div>
| Generates a basic METS file with a fileSec and structMap to record the presence of all objects in the /objects/ directory and their locations 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. A copy of the METS file is automatically added to any SIP generated from the transfer.
+
| Generates a basic METS file with a fileSec and structMap to record the presence of all objects in the ''/objects/'' directory and their locations 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. A copy of the METS file is automatically added to any SIP generated from the transfer.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Extract packages'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Extract packages'''<div class="mw-collapsible-content">
Line 78: Line 82:
 
</div>
 
</div>
 
</div>
 
</div>
| Uses ClamAV to scan for viruses and other malware. If a virus is found, the transfer is automatically placed in /sharedDirectoryStructure/failed/ and all processing on the transfer is stopped.
+
| Uses ClamAV to scan for viruses and other malware. If a virus is found, the transfer is automatically placed in ''/sharedDirectoryStructure/failed/'' and all processing on the transfer is stopped.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content">
Line 93: Line 97:
 
</div>
 
</div>
 
</div>
 
</div>
| Identifies and validates formats and extracts object metadata using the File Information Tool Set (FITS). Also identities file extensions, which are used for selecting normalization paths.
+
| Identifies and validates formats and extracts object metadata using the File Information Tool Set (FITS). Also identifies file extensions, which are used for selecting normalization paths.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Complete transfer'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Complete transfer'''<div class="mw-collapsible-content">
Line 109: Line 113:
 
</div>
 
</div>
 
</div>
 
</div>
| This is the approval step that moves the transfer to the SIP packaging micro-services.
+
| This is the approval step that moves the transfer to the SIP packaging micro-services (Ingest).
 
|-
 
|-
 
|}
 
|}
 +
</br>
  
 
=Ingest=
 
=Ingest=
Line 127: Line 132:
 
</div>
 
</div>
 
</div>
 
</div>
| Verifies that the SIP conforms to the folder structure required for processing in Archivematica. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/.
+
| Verifies that the SIP conforms to the folder structure required for processing in Archivematica. The structure is as follows: ''/logs/'', ''/metadata/'', ''/metadata/submissionDocumentation/'', ''/objects/''.
 +
|-
 +
|  <div class="toccolours mw-collapsible mw-collapsed">'''Rename SIP directory with SIP UUID'''<div class="mw-collapsible-content">
 +
<br/>Rename SIP directory with SIP UUID
 +
</div>
 +
</div>
 +
| Directly associates the SIP with its metadata by appending the SIP UUID to the SIP directory name.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default SIP processingMCP.xml'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Include default SIP processingMCP.xml'''<div class="mw-collapsible-content">
Line 133: Line 144:
 
</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. It can configure workflow options such as creating transfer backups, quarantining the transfer and selecting a SIP creation option.
+
| Copies the processing config file added to the transfer in '''Include default Transfer processingMCP.xml''', above, to the SIP.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Remove cache files'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Remove cache files'''<div class="mw-collapsible-content">
Line 139: Line 150:
 
</div>
 
</div>
 
</div>
 
</div>
| Removes any Thumbs.db files
+
| Removes any Thumbs.db files.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Normalize'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Normalize'''<div class="mw-collapsible-content">
Line 156: Line 167:
 
</div>
 
</div>
 
</div>
 
</div>
| Determins which normalization options are available for the SIP and presents them to the user as choices. Normalizes based on selection.
+
| Determines which normalization options are available for the SIP and presents them to the user as choices. Normalizes (i.e. generates preservation and/or access copies) based on selection. Thumbnail files are also generated during this micro-service.
* Creates access copies to be added to the DIP.
 
* Creates preservation copies to be included in the AIP along with the original files.
 
* Creates thumbnail files.
 
If desired, the user can verify the quality of normalized files in /sharedDirectoryStructure/watchedDirectories/approveNormalization/.
 
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Process submission documentation'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Process submission documentation'''<div class="mw-collapsible-content">
Line 177: Line 184:
 
</div>
 
</div>
 
</div>
 
</div>
| Process the submission documentation as an object, but submission documentation only enters the DIP, not the AIP, and is identified in the METS.xml by the fileGrp "submissionDocumentation".
+
| Processes any submission documentation included in the SIP and adds it to the ''/objects/'' directory.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Prepare DIP'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Prepare DIP'''<div class="mw-collapsible-content">
Line 186: Line 193:
 
</div>
 
</div>
 
</div>
 
</div>
| Create the DIP with copies of the [[METS]] file, and thumbnails. Moves the DIP to the upload DIP watched directory.
+
| Creates a DIP containing access copies of the objects, thumbnails and a copy of the METS file.
 +
|-
 +
|  <div class="toccolours mw-collapsible mw-collapsed">'''Upload DIP'''<div class="mw-collapsible-content">
 +
<br/>Upload DIP
 +
</div>
 +
</div>
 +
| Allows the user to choose to upload the DIP to either ICA-AtoM or CONTENTdm.
 +
|-
 +
|  <div class="toccolours mw-collapsible mw-collapsed">'''Upload DIP  to ICA-AtoM'''<div class="mw-collapsible-content">
 +
<br/>Upload DIP 
 +
<br/>Move to the uploadedDIPs directory
 +
</div>
 +
</div>
 +
| The user uploads the DIP to a selected description in ICA-AtoM.
 +
|-
 +
|  <div class="toccolours mw-collapsible mw-collapsed">'''Upload DIP  to CONTENTdm'''<div class="mw-collapsible-content">
 +
<br/>Restructure DIP for CONTENTdm upload
 +
<br/>Select upload type (Project Client or direct upload)
 +
<br/>Select target CONTENTdm server
 +
<br/>Get list of collections on server
 +
<br/>Select destination collection
 +
<br/>Upload DIP to contentDM
 +
<br/>Move to the uploadedDIPs directory
 +
</div>
 +
</div>
 +
| The user uploads the DIP to a selected description in CONTENTdm.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Prepare AIP'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Prepare AIP'''<div class="mw-collapsible-content">
Line 202: Line 234:
 
</div>
 
</div>
 
</div>
 
</div>
| Create an AIP in [http://sourceforge.net/projects/loc-xferutils/ Bagit] format. Index the AIP, then losslessly compress it.
+
| Creates an AIP in Bagit format. Indexes the AIP, then losslessly compresses it.
 
|-  
 
|-  
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Store AIP'''<div class="mw-collapsible-content">
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Store AIP'''<div class="mw-collapsible-content">
Line 211: Line 243:
 
</div>
 
</div>
 
</div>
 
</div>
| 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.
+
| Moves the AIP to ''/sharedDirectoryStructure/www/AIPsStore/'' or another specified directory. Once the AIP has been stored, a copy of it is extracted from storage to a local temp directory, where it is subjected to standard BagIt checks: verifyvalid, checkpayloadoxum, verifycomplete, verifypayloadmanifests, verifytagmanifests.
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.
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Upload DIP  to contentDM'''<div class="mw-collapsible-content">
 
<br/>Restructure DIP for CONTENTdm upload
 
<br/>Select upload type (Project Client or direct upload)
 
<br/>Select target CONTENTdm server
 
<br/>Get list of collections on server
 
<br/>Select destination collection
 
<br/>Upload DIP to contentDM
 
<br/>Move to the uploadedDIPs directory
 
</div>
 
</div>
 
| It is now possible to upload to ContentDM.
 
|-
 
|  <div class="toccolours mw-collapsible mw-collapsed">'''Upload DIP  to ICA-Atom'''<div class="mw-collapsible-content">
 
<br/>Upload DIP 
 
<br/>Move to the uploadedDIPs directory
 
</div>
 
</div>
 
| The user uploads the DIP to a selected description in the access system. See the [[UM_access|user manual]] for details.
 
 
|-  
 
|-  
 
|}
 
|}

Latest revision as of 14:14, 11 December 2019

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

Note: The documentation on this page is out of date. Please see the official documentation page for the latest.

A micro-service may consist of a number of discrete tasks, or jobs. In the Archivematica 0.9 dashboard, micro-services are always shown, while jobs may be viewed by expanding the micro-service (i.e. by clicking on the grey background behind the micro-service name).


Arhivematica dashboard showing a micro-service and its jobs


The table below shows micro-services and jobs in Archivematica 0.9. Note that this is is only a list of micro-services; detailed user instructions are available in the user manual.

Transfer[edit]

Micro-service Description
Approve Transfer

Set file permissions

This is the approval step that moves the transfer into the Archivematica processing pipeline.
Verify transfer compliance


Set file permissions
Move to processing directory
Set transfer type
Remove hidden files and directories
Attempt restructure for compliance
Verify transfer compliance

Moves the transfer to a processing directory based on selected transfer type (standard, zipped bag, unzipped bag, DSPace export or maildir). Verifies that the transfer conforms to the folder structure required for processing in Archivematica and restructures if required. The structure is as follows: /logs/, /metadata/, /metadata/submissionDocumentation/, /objects/.
Rename with transfer UUID


Rename with transfer UUID

Directly associates the transfer with its metadata by appending the transfer UUID to the transfer directory name.
Include default Transfer processingMCP.xml


Include default Transfer processingMCP.xml

Adds a file named processingMCP.xml to the root of the transfer. This is a configurable xml file to pre-configure processing decisions. It can configure workflow options such as creating transfer backups, quarantining the transfer and selecting a SIP creation option.
Assign file UUIDs and checksums


Assign file UUIDs to objects
Assign checksums and file sizes to objects

Assigns a unique universal identifier and sha-256 checksum to each file in the /objects/ directory.
Verify transfer checksums


Verify metadata directory checksums

Checks any checksum files that were placed in the /metadata/ folder of the transfer prior to moving the transfer into Archivematica.
Generate METS.xml document


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 locations 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. A copy of the METS file is automatically added to any SIP generated from the transfer.
Extract packages


Extract packages
Extract attachments

Extracts objects from any zipped files or other packages. Extracts attachments from maildir transfers.
Scan for viruses


Scan for viruses

Uses ClamAV to scan for viruses and other malware. If a virus is found, the transfer is automatically placed in /sharedDirectoryStructure/failed/ and all processing on the transfer is stopped.
Clean up names


Sanitize object's file and directory names
Sanitize Transfer name

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.
Characterize and extract metadata


Characterize and extract metadata
Identify Files ByExtension
Load labels from metadata/file_labels.csv

Identifies and validates formats and extracts object metadata using the File Information Tool Set (FITS). Also identifies file extensions, which are used for selecting normalization paths.
Complete transfer


Index transfer contents
Set file permissions
Move to completedTransfers directory

Indexes transfer contents, then marks the transfer as complete.
Create SIP from Transfer


Check transfer directory for objects
Create SIP(s)
Create SIP from transfer objects

This is the approval step that moves the transfer to the SIP packaging micro-services (Ingest).


Ingest[edit]

Micro-service Description
Verify SIP compliance


Set file permissions
Move to processing directory
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


Rename SIP directory with SIP UUID

Directly associates the SIP with its metadata by appending the SIP UUID to the SIP directory name.
Include default SIP processingMCP.xml


Include default SIP processingMCP.xml

Copies the processing config file added to the transfer in Include default Transfer processingMCP.xml, above, to the SIP.
Remove cache files


Remove cache files

Removes any Thumbs.db files.
Normalize


Check for Service directory
Check for Access directory
Find options to normalize as
Create DIP directory
Normalize
Normalize access
Normalize preservation
Remove files without linking information (failed normalization artifacts etc.)
Create thumbnails directory
Normalize thumbnails
Verify checksums generated on ingest
Approve normalization

Determines which normalization options are available for the SIP and presents them to the user as choices. Normalizes (i.e. generates preservation and/or access copies) based on selection. Thumbnail files are also generated during this micro-service.
Process submission documentation


Check for submission documentation
Copy transfer submission documentation
Move to processing directory
Set file permissions
Assign file UUIDs to submission documentation
Assign checksums and file sizes to submissionDocumentation
Extract packages in submission documentation
Sanitize file and directory names in submission documentation
Scan for viruses in submission documentation
Characterize and extract metadata on submission documentation
Identify Files ByExtension
Normalize submission documentation to preservation format

Processes any submission documentation included in the SIP and adds it to the /objects/ directory.
Prepare DIP


Copy thumbnails to DIP directory
Copy METS to DIP directory
Set file permissions
Generate DIP

Creates a DIP containing access copies of the objects, thumbnails and a copy of the METS file.
Upload DIP


Upload DIP

Allows the user to choose to upload the DIP to either ICA-AtoM or CONTENTdm.
Upload DIP to ICA-AtoM


Upload DIP
Move to the uploadedDIPs directory

The user uploads the DIP to a selected description in ICA-AtoM.
Upload DIP to CONTENTdm


Restructure DIP for CONTENTdm upload
Select upload type (Project Client or direct upload)
Select target CONTENTdm server
Get list of collections on server
Select destination collection
Upload DIP to contentDM
Move to the uploadedDIPs directory

The user uploads the DIP to a selected description in CONTENTdm.
Prepare AIP


Copy transfers metadata and logs
Remove files without linking information (failed normalization artifacts etc.)
Verify checksums generated on ingest
Generate METS.xml document
Index AIP contents
Prepare AIP
Select compression algorithm
Select compression level
Compress AIP
Set bag file permissions
Removed bagged files

Creates an AIP in Bagit format. Indexes the AIP, then losslessly compresses it.
Store AIP


Move to the store AIP approval directory
Store AIP
Store AIP location
Store the AIP

Moves the AIP to /sharedDirectoryStructure/www/AIPsStore/ or another specified directory. Once the AIP has been stored, a copy of it is extracted from storage to a local temp directory, where it is subjected to standard BagIt checks: verifyvalid, checkpayloadoxum, verifycomplete, verifypayloadmanifests, verifytagmanifests.