Difference between revisions of "Archivematica 1.0 Micro-services"
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Main Page]] > [[Documentation]] > [[Technical Architecture]] > [[Micro-services]] > Archivematica 1.0 Micro-services | [[Main Page]] > [[Documentation]] > [[Technical Architecture]] > [[Micro-services]] > Archivematica 1.0 Micro-services | ||
− | A micro-service may consist of a number of discrete tasks, or jobs. In the Archivematica 1. | + | <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 1.0 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). | ||
</br> | </br> | ||
− | [[Image: | + | [[Image:Micro-services1.png|600px|center|thumb|Archivematica dashboard showing a micro-service and its jobs]] |
</br> | </br> | ||
Line 153: | Line 157: | ||
</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">'''Verify transfer compliance'''<div class="mw-collapsible-content"> | ||
+ | <br/>Verify mets_structmap.xml compliance | ||
+ | </div> | ||
+ | </div> | ||
+ | | Verifies the METS from the transfer. | ||
|- | |- | ||
| <div class="toccolours mw-collapsible mw-collapsed">'''Rename SIP directory with SIP UUID'''<div class="mw-collapsible-content"> | | <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 | <br/>Rename SIP directory with SIP UUID | ||
+ | <br/>Check if SIP is from Maildir Transfer | ||
</div> | </div> | ||
</div> | </div> | ||
− | | Directly associates the SIP with its metadata by appending the SIP UUID to the SIP directory name. | + | | Directly associates the SIP with its metadata by appending the SIP UUID to the SIP directory name and checks if SIP is from Maildir transfer type to determine workflow. |
|- | |- | ||
| <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 164: | Line 175: | ||
</div> | </div> | ||
</div> | </div> | ||
− | | Copies the processing | + | | Copies the processing configuration 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 170: | Line 181: | ||
</div> | </div> | ||
</div> | </div> | ||
− | | Removes any | + | | Removes any thumbs.db files. |
+ | |- | ||
+ | | <div class="toccolours mw-collapsible mw-collapsed">'''Clean up names'''<div class="mw-collapsible-content"> | ||
+ | <br/>Sanitize SIP name | ||
+ | <br/>Set file permissions | ||
+ | </div> | ||
+ | </div> | ||
+ | | 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. | ||
|- | |- | ||
| <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 176: | Line 194: | ||
<br/>Check for Service directory | <br/>Check for Service directory | ||
<br/>Check for Access directory | <br/>Check for Access directory | ||
+ | <br/>Set remove preservation and access normalized files to renormalize link. | ||
+ | <br/>Grant normalization options for no pre-existing DIP | ||
+ | <br/>Move to workFlowDecisions-createDip directory | ||
<br/>Find options to normalize as | <br/>Find options to normalize as | ||
+ | <br/>Set resume link after tool selected | ||
+ | <br/>Move to select file ID tool | ||
+ | <br/>Select pre-normalize file format identification commant | ||
+ | <br/>Identify file format | ||
+ | <br/>Resume after normalization file identification tool selected | ||
+ | <br/>Normalize | ||
+ | <br/>Move to processing directory | ||
<br/>Create DIP directory | <br/>Create DIP directory | ||
− | <br/>Normalize | + | <br/>Create thumbnails directory |
+ | <br/>Normalize thumbnails | ||
<br/>Normalize access | <br/>Normalize access | ||
<br/>Normalize preservation | <br/>Normalize preservation | ||
+ | <br/>Set file permissions | ||
<br/>Remove files without linking information (failed normalization artifacts etc.) | <br/>Remove files without linking information (failed normalization artifacts etc.) | ||
− | <br/> | + | <br/>Move to approve normalization directory |
− | |||
− | |||
<br/>Approve normalization | <br/>Approve normalization | ||
− | <br/> | + | <br/>Load post approve normalization link |
− | <br/> | + | <br/>Set resume link after handling any manually normalized files |
− | <br/> | + | <br/>Move to processing directory |
− | <br/> | + | <br/>Set file permissions |
− | <br/> | + | <br/>Check for manually normalized files |
− | <br/> | + | <br/>Load finished with manual normalized link |
</div> | </div> | ||
</div> | </div> | ||
Line 197: | Line 225: | ||
|- | |- | ||
| <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"> | ||
+ | <br/>Copy transfer submission documentation | ||
<br/>Check for submission documentation | <br/>Check for submission documentation | ||
− | <br/> | + | <br/>Move submission documentation into objects directory |
− | |||
− | |||
<br/>Assign file UUIDs to submission documentation | <br/>Assign file UUIDs to submission documentation | ||
<br/>Assign checksums and file sizes to submissionDocumentation | <br/>Assign checksums and file sizes to submissionDocumentation | ||
− | |||
<br/>Sanitize file and directory names in submission documentation | <br/>Sanitize file and directory names in submission documentation | ||
<br/>Scan for viruses in submission documentation | <br/>Scan for viruses in submission documentation | ||
<br/>Characterize and extract metadata on submission documentation | <br/>Characterize and extract metadata on submission documentation | ||
− | |||
− | |||
</div> | </div> | ||
</div> | </div> | ||
| Processes any submission documentation included in the SIP and adds it to the ''/objects/'' directory. | | Processes any submission documentation included in the SIP and adds it to the ''/objects/'' directory. | ||
+ | |- | ||
+ | | <div class="toccolours mw-collapsible mw-collapsed">'''Process metadata directory'''<div class="mw-collapsible-content"> | ||
+ | <br/>Set resume link after processing metadata directory | ||
+ | <br/>Move metadata to objects directory | ||
+ | <br/>Assign file UUIDs to metadata | ||
+ | <br/>Assign checksums and file sized to metadata | ||
+ | <br/>Sanitize file and directory names in metadata | ||
+ | <br/>GScan for viruses in metadata | ||
+ | <br/>Load finished with metadata processing link | ||
+ | </div> | ||
+ | </div> | ||
+ | | Processes metadata. | ||
|- | |- | ||
| <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 248: | Line 284: | ||
|- | |- | ||
| <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"> | ||
+ | <br/>Remove files without linking information (failed normalization artifacts, etc.) | ||
+ | <br/>Verify checksums generated on ingest | ||
<br/>Copy transfers metadata and logs | <br/>Copy transfers metadata and logs | ||
− | <br/>Remove | + | <br/>Remove empty manual normalization directories |
− | |||
<br/>Generate METS.xml document | <br/>Generate METS.xml document | ||
<br/>Index AIP contents | <br/>Index AIP contents | ||
<br/>Prepare AIP | <br/>Prepare AIP | ||
+ | <br/>Move to compressionAIPDecisions directory | ||
<br/>Select compression algorithm | <br/>Select compression algorithm | ||
<br/>Select compression level | <br/>Select compression level | ||
<br/>Compress AIP | <br/>Compress AIP | ||
+ | <br/>Create AIP pointer file | ||
<br/>Set bag file permissions | <br/>Set bag file permissions | ||
<br/>Removed bagged files | <br/>Removed bagged files | ||
</div> | </div> | ||
</div> | </div> | ||
− | | Creates an AIP in Bagit format. Indexes the AIP, then losslessly compresses it. | + | | Creates an AIP in Bagit format. Creates the AIP pointer file. 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"> | ||
<br/>Move to the store AIP approval directory | <br/>Move to the store AIP approval directory | ||
<br/>Store AIP | <br/>Store AIP | ||
+ | <br/>Retrieve AIP Storage Locations | ||
<br/>Store AIP location | <br/>Store AIP location | ||
+ | <br/>Move to processing directory | ||
+ | <br/>Verify AIP | ||
<br/>Store the AIP | <br/>Store the AIP | ||
+ | <br/>Index AIP | ||
+ | <br/>Remove processing directory | ||
</div> | </div> | ||
</div> | </div> |
Latest revision as of 14:13, 11 December 2019
Main Page > Documentation > Technical Architecture > Micro-services > Archivematica 1.0 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 1.0 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).
The table below shows micro-services and jobs in Archivematica 1.0. 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
|
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
|
Directly associates the transfer with its metadata by appending the transfer UUID to the transfer directory name. |
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
|
Assigns a unique universal identifier and sha-256 checksum to each file in the /objects/ directory and sets file permission to allow for continued processing. |
Verify transfer 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
|
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. |
Quarantine
|
Quarantine's the transfer for a set duration, to allow virus definitions to update, before virus scan. |
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
|
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. |
Identify file format
|
Identifies formats of the objects in the transfer using either FIDO or file extension based on user choice. Format types are managed in the Format Policy Registry. This micro-service can be skipped and done in Ingest instead. |
Extract packages
|
Extracts objects from any zipped files or other packages. Extracts attachments from maildir transfers. |
Characterize and extract metadata
|
Characterizes and validates formats and extracts object metadata using the File Information Tool Set (FITS). |
Complete transfer
|
Indexes transfer contents, then marks the transfer as complete. |
Create SIP from Transfer
|
This is the approval step that moves the transfer to the SIP packaging micro-services (Ingest) if user chooses to Create single SIP and continue processing. User can also choose to Send transfer to backlog at this time. |
Ingest[edit]
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/. |
Verify transfer compliance
|
Verifies the METS from the transfer. |
Rename SIP directory with SIP UUID
|
Directly associates the SIP with its metadata by appending the SIP UUID to the SIP directory name and checks if SIP is from Maildir transfer type to determine workflow. |
Include default SIP processingMCP.xml
|
Copies the processing configuration file added to the transfer in Include default Transfer processingMCP.xml, above, to the SIP. |
Remove cache files
|
Removes any thumbs.db files. |
Clean up 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. |
Normalize
|
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
|
Processes any submission documentation included in the SIP and adds it to the /objects/ directory. |
Process metadata directory
|
Processes metadata. |
Prepare DIP
|
Creates a DIP containing access copies of the objects, thumbnails and a copy of the METS file. |
Upload DIP
|
Allows the user to choose to upload the DIP to either ICA-AtoM or CONTENTdm. |
Upload DIP to ICA-AtoM
|
The user uploads the DIP to a selected description in ICA-AtoM. |
Upload DIP to CONTENTdm
|
The user uploads the DIP to a selected description in CONTENTdm. |
Prepare AIP
|
Creates an AIP in Bagit format. Creates the AIP pointer file. Indexes the AIP, then losslessly compresses it. |
Store 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. |