Import metadata¶
Archivematica can recognize descriptive, rights, and/or event metadata that is
included with your transfer. You can import metadata by including a directory
called metadata
in your transfer. The directory can contain any type of
metadata that you wish to preserve alongside your digital objects. The Process
Metadata Directory Microservice will perform a number of preservation actions on
objects in this directory.
Archivematica supports conventions for importing descriptive, rights, and event metadata that will transpose the contents of the metadata files into the AIP METS file. If you are using AtoM or ArchivesSpace, metadata that is transposed to the METS can be passed on to these access systems for further use.
Metadata that is not able to be transposed to the METS - for example, preservation metadata created by tool like BitCurator prior to ingest into Archivematica - will be preserved alongside the materials in the transfer.
Descriptive, rights, and/or event metadata can be added to standard, unzipped, zipped, and disk image transfer types.
Metadata in the METS file is searchable in the Archival Storage tab.
On this page:
- Importing descriptive metadata with metadata.csv
- Importing and validating XML metadata with source-metadata.csv
- Importing rights metadata with rights.csv
- Importing event metadata with premis.xml
- Adding metadata to bags
- Importing other types of metadata
- Importing structural metadata with mets_structmap.xml
Importing descriptive metadata with metadata.csv¶
Archivematica natively supports Dublin Core’s DCMI Metadata Terms, which includes the basic 15 elements from the Dublin Core Metadata Element Set. Using the metadata.csv method, users can also include non-Dublin Core metadata. Archivematica is able to pass Dublin Core metadata to AtoM or ArchivesSpace, but not non-Dublin Core metadata.
Note
Note: Archivematica can only read CSV files that have been encoded in UTF-8. Metadata saved with a file encoding other than UTF-8 may not map correctly to the METS file, or may cause an error and not be added at all.
Descriptive metadata can be applied to individual objects within a transfer, to directories within the transfer, or both.
Adding descriptive metadata to individual objects¶
Metadata can be applied to individual objects within a transfer. For example, you could apply item-level descriptive metadata to an individual image or multimedia file. The following steps will take you through the basic workflow for creating a metadata.csv file that will apply metadata to individual objects.
Create a transfer directory containing the digital objects you would like to preserve (for more information on creating a basic transfer for Archivematica, see Basic transfers.) As an example, the following directory tree displays a basic transfer called
metadataTransfer
. One digital object sits within the top-level directory, while another object is nested within a subdirectory.:metadataTransfer/ ├── audio │ └── bird.mp3 └── beihai.tif
Note that this transfer does not currently contain any metadata.
Create a CSV file called metadata.csv. The example below can be used as a template for Dublin Core metadata. The filename column must come first and the filename path must always start with
objects/
. Note that if you add column headings that are not in thedc.element
ordcterms.element
formats, Archivematica will not indicate that the metadata is Dublin Core.filename dc.title dc.creator dc.subject dc.subject dc.subject dc.description dc.publisher dc.contributor dc.date dc.type dc.format dc.identifier dc.source dc.language dc.relation dc.coverage dc.rights objects/beihai.tif Beihai, Guanxi, China, 1988 NASA/GSFC/METI/ERSDAC/ JAROS and U.S./Japan ASTER Science Team China Beihai Beihai is a city in the south of Guangxi, People’s Republic of China. NASA Jet Propulsion Laboratory February 29, 2016 image image.tif NASA Jet Propulsion Laboratory Public domain objects/audio/bird.mp3 14000 Caen, France - Bird in my garden Nicolas Germain field recording soundscapes radio aporee Bird singing in my garden, Caen, France, Zoom H6 Radio Aporee 2017-05-27 sound audio/mp3 Internet Archive Public domain Note that empty columns (e.g.
dc.contributor
) were left in to demonstrate the range of possible basic Dublin Core values. You do not need to keep empty columns.Create a subdirectory called
metadata
and place the metadata.csv file inside it.:metadataTransfer/ ├── audio │ └── bird.mp3 ├── beihai.tif └── metadata └── metadata.csv
Process the transfer as usual.
Any Dublin Core metadata formatted as in the example above will be transposed to
the METS file. The METS file for the above example includes two descriptive
metadata sections (<dmdSec>
), one for each file in the transfer. These
contain the Dublin Core metadata parsed from the metadata.csv; they include both
dc.element
and dcterms.element
metadata. Note in the metadata wrapper
(<mdWrap>
) that they are given an MDTYPE of “DC”. If there had been
non-Dublin Core metadata in the metadata.csv, there would be a separate
<mdWrap>
for the file with an MDTYPE of “OTHER”.
<dmdSec ID="dmdSec_1">
<mdWrap MDTYPE="DC">
<xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>Beihai, Guanxi, China, 1988</dc:title>
<dc:creator>NASA/GSFC/METI/ERSDAC/JAROS and U.S./Japan ASTER Science Team</dc:creator>
<dc:subject>satellite imagery</dc:subject>
<dc:subject>China|Beihai</dc:subject>
<dc:description>Beihai is a city in the south of Guangxi, People's Republic of China.</dc:description>
<dc:publisher>NASA Jet Propulsion Laboratory</dc:publisher>
<dc:contributor></dc:contributor>
<dc:date>February 29,2016</dc:date>
<dc:type>image</dc:type>
<dc:format>image/tif</dc:format>
<dc:identifier></dc:identifier>
<dc:source>NASA Jet Propulsion Laboratory</dc:source>
<dc:language></dc:language>
<dc:relation></dc:relation>
<dc:coverage></dc:coverage>
<dc:rights>Public domain</dc:rights>
</dublincore>
</xmlData>
</mdWrap>
</dmdSec>
<mets:dmdSec ID="dmdSec_2">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>14000 Caen, France - Bird in my garden</dc:title>
<dc:creator>Nicolas Germain</dc:creator>
<dc:subject>field recording</dc:subject>
<dc:subject>phonography|soundscape|sound art|soundmap|radio|ephemeral|listening|radio aporee</dc:subject>
<dc:description>Bird singing in my garden, Caen, France, Zoom H6</dc:description>
<dc:publisher>Radio Aporee</dc:publisher>
<dc:contributor></dc:contributor>
<dc:date>2017-05-27</dc:date>
<dc:type>sound</dc:type>
<dc:format>audio/mp3</dc:format>
<dc:identifier></dc:identifier>
<dc:source>Internet Archive</dc:source>
<dc:language></dc:language>
<dc:relation></dc:relation>
<dc:coverage></dc:coverage>
<dc:rights>Public domain</dc:rights>
</dcterms:dublincore>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Adding descriptive metadata to a directory¶
Metadata can also be applied to a directory within the transfer. For example, you could apply directory-level descriptive metadata to folder containing the pages of a book, where the metadata describes the book itself rather than the individual pages. The following steps will take you through the basic workflow for creating a metadata.csv file that will apply metadata to a directory of objects.
Note that the metadata.csv can contain directory-level metadata, individual object metadata, or a combination of both.
Create a transfer directory containing the digital objects you would like to preserve, organized as required within subdirectories (for more information on creating a basic transfer for Archivematica, see Basic transfers.) As an example, the following directory tree displays a basic transfer called
directoryTransfer
. The transfer contains two subfolders, which each contain two images.:directoryTransfer/ ├── CoastNews-1964-01-02 │ ├── page-01.jpg │ └── page-02.jpg └── CoastNews-1964-01-09 ├── page-01.jpg └── page-02.jpg
Note that this transfer does not currently contain any metadata.
Create a CSV file called metadata.csv. The example below can be used as a template for Dublin Core metadata. The filename column must come first and the filename path must always start with
objects/
. In the example below, the filename column contains the directory path, instead of a filename path.filename dc.title dc.publisher dc.subject dc.date dc.description dc.language dc.source objects/CoastNews-1964-01-02 Coast News, January 02, 1964 Fred Cruice Gibsons (B.C.)–Newspapers 1964/01/02 Scans of the January 2, 1964 issue of the Coast News. English British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews objects/CoastNews-1964-01-09 Coast News, January 09, 1964 Fred Cruice Gibsons (B.C.)–Newspapers 1964/01/09 Scans of the January 9, 1964 issue of the Coast News. English British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews Create a subdirectory called
metadata
and place the metadata.csv file inside it.:directoryTransfer/ ├── CoastNews-1964-01-02 │ ├── page-01.jpg │ └── page-02.jpg ├── CoastNews-1964-01-09 │ ├── page-01.jpg │ └── page-02.jpg └── metadata └── metadata.csv
Process the transfer as usual.
The METS file that results from the above example includes a <dmdSec>
for
each directory, rather than each individual file. These contain the Dublin Core
metadata parsed from the metadata.csv.
<mets:dmdSec ID="dmdSec_1">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>Coast News, January 02, 1964 </dc:title>
<dc:publisher>Fred Cruice </dc:publisher>
<dc:subject>Gibsons (B.C.)–Newspapers </dc:subject>
<dc:date>1964/01/02 </dc:date>
<dc:description>
Scans of the January 2, 1964 issue of the Coast News.
</dc:description>
<dc:language>English </dc:language>
<dc:source>
British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews
</dc:source>
</dcterms:dublincore>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_2">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>Coast News, January 09, 1964 </dc:title>
<dc:publisher>Fred Cruice </dc:publisher>
<dc:subject>Gibsons (B.C.)–Newspapers </dc:subject>
<dc:date>1964/01/09 </dc:date>
<dc:description>
Scans of the January 9, 1964 issue of the Coast News.
</dc:description>
<dc:language>English </dc:language>
<dc:source>
British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews
</dc:source>
</dcterms:dublincore>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Adding non-Dublin Core descriptive metadata¶
You may wish to capture metadata elements that are not supported by the Dublin
Core Metadata Elements Set. As shown in the examples above, Dublin Core metadata
is written to the <dmdSec>
of the METS file with the metadata type indicated
as MDTYPE="DC"
. Non-Dublin Core metadata will be written into a separate
<dmdSec>
as MDTYPE="OTHER"
.
Here is an example of a metadata.csv file containing a mix of Dublin Core and non-Dublin Core descriptive metadata.
filename | dc.title | alternative_title | dc.publisher | dates_of_publication | dc.subject | dc.date | dc.description | frequency | dc.language | dc.source | digital_file_format |
---|---|---|---|---|---|---|---|---|---|---|---|
objects/CoastNews-1964-01-02 | Coast News, January 02, 1964 | Sunshine Coast News | Fred Cruice | 1945-1995 | Gibsons (B.C.)–Newspapers | 1964/01/02 | Scans of the January 2, 1964 issue of the Coast News. | Weekly | English | British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews | jpg |
objects/CoastNews-1964-01-09 | Coast News, January 09, 1964 | Sunshine Coast News | Fred Cruice | 1945-1995 | Gibsons (B.C.)–Newspapers | 1964/01/09 | Scans of the January 9, 1964 issue of the Coast News. | Weekly | English | British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews | jpg |
This results in a METS file containing two <dmdSec>
sections for each
directory - two with MDTYPE="DC"
and two with MDTYPE="OTHER"
.
<mets:dmdSec ID="dmdSec_1">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>Coast News, January 02, 1964 </dc:title>
<dc:publisher>Fred Cruice </dc:publisher>
<dc:subject>Gibsons (B.C.)–Newspapers </dc:subject>
<dc:date>1964/01/02 </dc:date>
<dc:description>
Scans of the January 2, 1964 issue of the Coast News.
</dc:description>
<dc:language>English </dc:language>
<dc:source>
British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews
</dc:source>
</dcterms:dublincore>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_2">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="CUSTOM">
<mets:xmlData>
<alternative_title>Sunshine Coast News </alternative_title>
<dates_of_publication>1945-1995 </dates_of_publication>
<frequency>Weekly </frequency>
<digital_file_format>image/jpg</digital_file_format>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_3">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dcterms:dublincore xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2008/02/11/dcterms.xsd">
<dc:title>Coast News, January 09, 1964 </dc:title>
<dc:publisher>Fred Cruice </dc:publisher>
<dc:subject>Gibsons (B.C.)–Newspapers </dc:subject>
<dc:date>1964/01/09 </dc:date>
<dc:description>
Scans of the January 9, 1964 issue of the Coast News.
</dc:description>
<dc:language>English </dc:language>
<dc:source>
British Columbia Historical Newspapers collection, https://open.library.ubc.ca/collections/bcnewspapers/xcoastnews
</dc:source>
</dcterms:dublincore>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_4">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="CUSTOM">
<mets:xmlData>
<alternative_title>Sunshine Coast News </alternative_title>
<dates_of_publication>1945-1995 </dates_of_publication>
<frequency>Weekly </frequency>
<digital_file_format>image/jpg</digital_file_format>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Adding metadata using JSON files¶
It is possible to use a JSON file rather than a CSV to import Dublin Core metadata. The JSON file is added to the metadata directory as above.
Create a transfer directory containing the digital objects you would like to preserve (for more information on creating a basic transfer for Archivematica, see Basic transfers.) As an example, the following directory tree displays a basic transfer called
jsonMetadataTransfer
. One digital object sits within the top-level directory, while another object is nested within a subdirectory.:jsonMetadataTransfer/ ├── audio │ └── bird.mp3 └── beihai.tif
Note that this transfer does not currently contain any metadata.
Create a JSON file called metadata.json. The example below can be used as a template for Dublin Core metadata. The filename field must come first and the filename path must always start with
objects/
. Note that if you add fields that are not in thedc.element
ordcterms.element
formats, Archivematica will not indicate that the metadata is Dublin Core.[ { "filename": "objects/audio/bird.mp3", "dc.title": "14000 Caen, France - Bird in my garden", "dc.creator": "Nicolas Germain", "dc.description": "Bird singing in my garden, Caen, France, Zoom H6", "dc.subject": [ "field recording", "soundscapes", "radio aporee" ], "dc.publisher": "Radio Aporee", "dc.date": "2017-05-27", "dc.identifier": "aporee_36644_41997", "dc.source": "Internet Archive", "dc.coverage": "Caen, France", "dc.rights": "Public domain" }, { "filename": "objects/beihai.tif", "dc.title": "Beihai, Guanxi, China, 1988", "dc.creator": "NASA/GSFC/METI/ERSDAC/JAROS and U.S./Japan ASTER Science Team", "dc.description": "Beihai is a city in the south of Guangxi, People's Republic of China.", "dc.subject": [ "satellite imaging", "photography", "city" ], "dc.publisher": "NASA Jet Propulsion Laboratory", "dc.date": "February 29,2016", "dc.source": "NASA Jet Propulsion Laboratory", "dc.coverage": "Beihai, China", "dc.rights": "Public domain" } ]
Repeating fields can be listed in an array, as with
dc.subject
in the example above.Create a subdirectory called
metadata
and place the metadata.json file inside it.:metadataTransfer/ ├── audio │ └── bird.mp3 ├── beihai.tif └── metadata └── metadata.json
Process the transfer as usual.
The METS file will be populated exactly as in the CSV examples above.
Importing and validating XML metadata with source-metadata.csv¶
Users can add metadata files in XML format to their transfer, and have that metadata related to objects in the transfer and parsed into the METS file in the AIP. If formatted correctly, Archivematica can also validate the metadata to ensure it conforms with a local or linked standard.
Setting up¶
This feature is disabled by default. It’s still considered experimental and its validation rules need to be configured according to the user needs before using it.
The Metadata XML validation variables section of the MCPClient installation documentation explains how to enable and configure this feature. You can also check the sample configuration files used in the Archivematica Automated User Acceptance Tests (AMAUATs).
Adding and validating metadata¶
Create a transfer directory containing the digital objects you would like to preserve (for more information on creating a basic transfer for Archivematica, see Basic transfers.) As an example, the following directory tree displays a basic transfer called
metadataTransfer
. One digital object sits within the top-level directory, while another object is nested within a subdirectory.:metadataTransfer/ ├── audio │ └── bird.mp3 └── beihai.tif
Note that this transfer does not currently contain any metadata.
Create a CSV file called
source-metadata.csv
. It must contain three columns in the following order:filename
: a relative path of a digital object or a directory in the transfer. It must start withobjects/
.metadata
: a path of an XML file in themetadata
directory with metadata about the digital object or directory specified in thefilename
column. Optionally, this XML file can be validated using an XML schema and its contents are included in the METS file of the AIP.type
: a unique identifier for the metadata content. This identifier is used during metadata reingests to update or delete existing metadata.
This is the
source-metadata.csv
file we are going to use for themetadataTransfer
directory from above.filename metadata type objects/beihai.tif beihai.xml local objects/audio/bird.mp3 bird-dc.xml dc-xml Create the two metadata XML files listed in the
metadata
column of thesource-metadata.csv
file:beihai.xml
andbird-dc.xml
.The
beihai.xml
metadata file contains unstructured text represented as a single top level<metadata>
element with no XML namespace wrapping character data like this:<?xml version="1.0" encoding="UTF-8"?> <metadata> <![CDATA[ Beihai, Guanxi, China, 1988 Beihai is a city in the south of Guangxi, People's Republic of China. ]]> </metadata>
And the
bird-dc.xml
metadata file contains OAI-PMH Dublin Core metadata that could be validated against the OAI-PMH Version 2.0 specification and it looks like this:<?xml version="1.0" encoding="UTF-8"?> <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:title>14000 Caen, France - Bird in my garden </dc:title> <dc:creator>Nicolas Germain</dc:creator> <dc:subject>field recording </dc:subject> <dc:subject>soundscapes </dc:subject> <dc:subject>radio aporee </dc:subject> <dc:description>Bird singing in my garden, Caen, France, Zoom H6 </dc:description> <dc:publisher>Radio Aporee </dc:publisher> <dc:date>27/05/2017</dc:date> <dc:type>sound </dc:type> <dc:format>audio/mp3 </dc:format> <dc:source>Internet Archive </dc:source> <dc:rights>Public domain</dc:rights> </oai_dc:dc>
Create a subdirectory called
metadata
and place thesource-metadata.csv
file and the two metadata XML files inside.:metadataTransfer/ ├── audio │ └── bird.mp3 ├── beihai.tif └── metadata ├── source-metadata.csv ├── beihai.xml └── bird-dc.xml
Process the transfer as usual.
The METS file for the above example includes two descriptive metadata sections
(<dmdSec>
), one for each file in the transfer. Both sections are given
attributes that specify their creation time and their status is set as
original
. And the contents of the metadata XML files in the metadata
directory have been transposed here.
<mets:dmdSec ID="dmdSec_3" CREATED="2023-06-06T05:43:01" STATUS="original">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="local">
<mets:xmlData>
<metadata>
Beihai, Guanxi, China, 1988
Beihai is a city in the south of Guangxi, People's Republic of China.
</metadata>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_4" CREATED="2023-06-06T05:43:01" STATUS="original">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dc-xml">
<mets:xmlData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>14000 Caen, France - Bird in my garden </dc:title>
<dc:creator>Nicolas Germain</dc:creator>
<dc:subject>field recording </dc:subject>
<dc:subject>soundscapes </dc:subject>
<dc:subject>radio aporee </dc:subject>
<dc:description>Bird singing in my garden, Caen, France, Zoom H6 </dc:description>
<dc:publisher>Radio Aporee </dc:publisher>
<dc:date>27/05/2017</dc:date>
<dc:type>sound </dc:type>
<dc:format>audio/mp3 </dc:format>
<dc:source>Internet Archive </dc:source>
<dc:rights>Public domain</dc:rights>
</oai_dc:dc>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Note in the metadata wrapper (<mdWrap>
) that they are given an MDTYPE of
“OTHER” and an MDOTHERTYPE with the value of the type
cell from the
source-metadata.csv
file. This is useful for updating or deleting the
metadata files in the AIP during metadata reingests.
Updating metadata through metadata reingests¶
You can update the metadata contained in the METS file by reingesting your
AIP and adding a new source-metadata.csv
file and updated metadata XML
files from one of your transfer source locations before approving the reingest.
This is the new
source-metadata.csv
file we are going to use to update the metadata associated with thebeihai.tif
digital object in the previous transfer.filename metadata type objects/beihai.tif beihai-v2.xml local It’s important that in the
type
column we reuse the identifier (i.e.local
) that was set as theOTHERMDTYPE
attribute of the<dmdSec>
.Create the new metadata XML file listed in the
metadata
column of thesource-metadata.csv
file:beihai-v2.xml
.The
beihai-v2.xml
metadata file contains the same structure as before with a couple of additional sentences:<?xml version="1.0" encoding="UTF-8"?> <metadata> <![CDATA[ Beihai, Guanxi, China, 1988 Beihai is a city in the south of Guangxi, People's Republic of China. This image was created by NASA/GSFC/METI/ERSDAC/ JAROS and U.S./Japan ASTER Science Team. This image was published by the NASA Jet Propulsion Laboratory. ]]> </metadata>
Start a metadata reingest for the previous AIP.
Before approving the reingest upload the new CSV file and metadata XML file through the user interface.
Approve and finish the metadata reingest.
The METS file now includes a new descriptive metadata section (<dmdSec>
)
for the beihai.tif
digital object. It also contains an attribute that
specifies its creation time and its status is set as update
.
<mets:dmdSec ID="dmdSec_15" CREATED="2023-06-06T15:59:29" STATUS="update" GROUPID="bfd05690-6e58-4f6c-90c1-e1200b79cbc3">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="local">
<mets:xmlData>
<metadata>
Beihai, Guanxi, China, 1988
Beihai is a city in the south of Guangxi, People's Republic of China.
This image was created by NASA/GSFC/METI/ERSDAC/ JAROS and U.S./Japan ASTER Science Team.
This image was published by the NASA Jet Propulsion Laboratory.
</metadata>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_3" CREATED="2023-06-06T05:43:01" STATUS="original-superseded" GROUPID="bfd05690-6e58-4f6c-90c1-e1200b79cbc3">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="local">
<mets:xmlData>
<metadata>
Beihai, Guanxi, China, 1988
Beihai is a city in the south of Guangxi, People's Republic of China.
</metadata>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_4" CREATED="2023-06-06T05:43:01" STATUS="original">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dc-xml">
<mets:xmlData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>14000 Caen, France - Bird in my garden </dc:title>
<dc:creator>Nicolas Germain</dc:creator>
<dc:subject>field recording </dc:subject>
<dc:subject>soundscapes </dc:subject>
<dc:subject>radio aporee </dc:subject>
<dc:description>Bird singing in my garden, Caen, France, Zoom H6 </dc:description>
<dc:publisher>Radio Aporee </dc:publisher>
<dc:date>27/05/2017</dc:date>
<dc:type>sound </dc:type>
<dc:format>audio/mp3 </dc:format>
<dc:source>Internet Archive </dc:source>
<dc:rights>Public domain</dc:rights>
</oai_dc:dc>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Note that the initial descriptive metadata section for the object is still
there but its status has been updated to original-superseded
. Also, the
descriptive metadata section for the other digital object in the AIP has been
left intact in the process.
Deleting metadata through metadata reingests¶
You can delete the metadata XML files contained in the AIP and … in the METS
file by reingesting your AIP and adding a new source-metadata.csv
file from
one of your transfer source locations before approving the reingest.
This is the new
source-metadata.csv
file we are going to use to delete the metadata associated with theaudio/bird.mp3
digital object in the previous transfer. Here we assume this is the second metadata reingest of the AIP after the one in the previous section.filename metadata type objects/audio/bird.mp3 dc-xml It’s important that in the
type
column we reuse the identifier (i.e.dc-xml
) that was set as theOTHERMDTYPE
attribute of the<dmdSec>
. Note that we signal the deletion request by leaving themetadata
value empty.Start a metadata reingest for the previous AIP.
Before approving the reingest upload the new CSV file through the user interface.
Approve and finish the metadata reingest.
In the METS file the status attribute of the descriptive metadata section
(<dmdSec>
) of the audio/bird.mp3
digital object has been updated
from original
to deleted
.
<mets:dmdSec ID="dmdSec_15" CREATED="2023-06-06T15:59:29" STATUS="update" GROUPID="bfd05690-6e58-4f6c-90c1-e1200b79cbc3">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="local">
<mets:xmlData>
<metadata>
Beihai, Guanxi, China, 1988
Beihai is a city in the south of Guangxi, People's Republic of China.
This image was created by NASA/GSFC/METI/ERSDAC/ JAROS and U.S./Japan ASTER Science Team.
This image was published by the NASA Jet Propulsion Laboratory.
</metadata>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_3" CREATED="2023-06-06T05:43:01" STATUS="original-superseded" GROUPID="bfd05690-6e58-4f6c-90c1-e1200b79cbc3">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="local">
<mets:xmlData>
<metadata>
Beihai, Guanxi, China, 1988
Beihai is a city in the south of Guangxi, People's Republic of China.
</metadata>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="dmdSec_4" CREATED="2023-06-06T05:43:01" STATUS="deleted">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="dc-xml">
<mets:xmlData>
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>14000 Caen, France - Bird in my garden </dc:title>
<dc:creator>Nicolas Germain</dc:creator>
<dc:subject>field recording </dc:subject>
<dc:subject>soundscapes </dc:subject>
<dc:subject>radio aporee </dc:subject>
<dc:description>Bird singing in my garden, Caen, France, Zoom H6 </dc:description>
<dc:publisher>Radio Aporee </dc:publisher>
<dc:date>27/05/2017</dc:date>
<dc:type>sound </dc:type>
<dc:format>audio/mp3 </dc:format>
<dc:source>Internet Archive </dc:source>
<dc:rights>Public domain</dc:rights>
</oai_dc:dc>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
After this the bird-dc.xml
file has been deleted from the
objects/metadata
directory in the AIP. And note that the descriptive
metadata sections for the other digital object in have been left intact in
the process.
Importing rights metadata with rights.csv¶
Rights information can be associated with objects or directories in a transfer by creating a rights.csv file, similar to the metadata.csv file used for descriptive metadata. Archivematica implements PREMIS metadata in Archivematica, including PREMIS rights, as used here. Rights metadata added using the rights.csv will be transposed to the METS file.
Rights metadata can be applied to individual objects within a transfer, to directories within the transfer, or both.
Create a transfer directory containing the digital objects you would like to preserve. As an example, the following directory tree displays a basic transfer called
rightsTransfer
. One digital object sits within the top-level directory, while another object is nested within a subdirectory.:rightsTransfer/ ├── audio │ └── bird.mp3 └── beihai.tif
Create a file called rights.csv. The example below can be used as a template for PREMIS rights metadata. The filename column must come first and the filename path must always start with
objects/
.file basis status determination_date jurisdiction start_date end_date terms citation note grant_act grant_restriction grant_start_date grant_end_date grant_note doc_id_type doc_id_value doc_id_role objects/beihai.tif copyright copyrighted 01/01/2011 ca 01/01/2011 31/12/2013 Terms of copyright. Note about copyright. disseminate Disallow 01/01/2011 31/12/2013 Grant note Copyright documentation identifier type. Copyright documentation identifier value. Copyright documentation identifier role. objects/beihai.tif copyright copyrighted 01/01/2011 ca 01/01/2011 31/12/2013 Terms of copyright. Note about copyright. use Disallow 01/01/2011 31/12/2013 Grant note Copyright documentation identifier type. Copyright documentation identifier value. Copyright documentation identifier role. objects/audio/bird.mp3 license 09/09/2000 08/09/2010 Terms of license. migrate allow Conditional 2000-09-00 Grant note License documentation identifier type. License documentation identifier value. License documentation identifier role. objects/audio/bird.mp3 statute 01/01/2003 ca 01/01/2003 Act 2003 no. 12 part 3 s14 note about statute disseminate Conditional 01/01/2011 01/01/2050 Grant note Statute documentation identifier type. Statute documentation identifier value. Statute documentation identifier role Note that to enter multiple rights acts for the same basis, you must create two separate rows, as with rows 1 and 2 in the example above.
Create a subdirectory called
metadata
and place the rights.csv file inside it.:rightsTransfer/ ├── audio │ └── bird.mp3 ├── beihai.tif └── metadata └── rights.csv
Process the transfer as usual.
Any PREMIS rights metadata formatted as in the example above will be transposed
to the METS file. The METS file for the above example includes three rights
metadata sections (<mets:rightsMD>
).
<mets:rightsMD ID="rightsMD_1">
<mets:mdWrap MDTYPE="PREMIS:RIGHTS">
<mets:xmlData>
<premis:rightsStatement xmlns:premis="http://www.loc.gov/premis/v3" xsi:schemaLocation="http://www.loc.gov/premis/v3 http://www.loc.gov/standards/premis/v3/premis.xsd">
<premis:rightsStatementIdentifier>
<premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
<premis:rightsStatementIdentifierValue>525c2b5e-457d-464e-ba54-1b493b68c7a4</premis:rightsStatementIdentifierValue>
</premis:rightsStatementIdentifier>
<premis:rightsBasis>License</premis:rightsBasis>
<premis:licenseInformation>
<premis:licenseDocumentationIdentifier>
<premis:licenseDocumentationIdentifierType>License documentation identifier type.</premis:licenseDocumentationIdentifierType>
<premis:licenseDocumentationIdentifierValue>License documentation identifier value.</premis:licenseDocumentationIdentifierValue>
<premis:licenseDocumentationRole>License documentation identifier role.</premis:licenseDocumentationRole>
</premis:licenseDocumentationIdentifier>
<premis:licenseTerms>Terms of license.</premis:licenseTerms>
<premis:licenseNote>migrate</premis:licenseNote>
<premis:licenseApplicableDates>
<premis:startDate>09-09-2000</premis:startDate>
<premis:endDate>08-09-2010</premis:endDate>
</premis:licenseApplicableDates>
</premis:licenseInformation>
<premis:rightsGranted>
<premis:act>allow</premis:act>
<premis:restriction>Conditional</premis:restriction>
<premis:termOfRestriction>
<premis:startDate></premis:startDate>
<premis:endDate>2000-09-00</premis:endDate>
</premis:termOfRestriction>
<premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
</premis:rightsGranted>
<premis:linkingObjectIdentifier>
<premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
<premis:linkingObjectIdentifierValue>7a5e102c-983c-456c-b1fb-26a9e7564033</premis:linkingObjectIdentifierValue>
</premis:linkingObjectIdentifier>
</premis:rightsStatement>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="rightsMD_2">
<mets:mdWrap MDTYPE="PREMIS:RIGHTS">
<mets:xmlData>
<premis:rightsStatement xmlns:premis="http://www.loc.gov/premis/v3" xsi:schemaLocation="http://www.loc.gov/premis/v3 http://www.loc.gov/standards/premis/v3/premis.xsd">
<premis:rightsStatementIdentifier>
<premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
<premis:rightsStatementIdentifierValue>eab5f546-cea9-43c1-9604-7aa670f97a67</premis:rightsStatementIdentifierValue>
</premis:rightsStatementIdentifier>
<premis:rightsBasis>Statute</premis:rightsBasis>
<premis:statuteInformation>
<premis:statuteJurisdiction>ca</premis:statuteJurisdiction>
<premis:statuteCitation>Act 2003 no. 12 part 3 s14</premis:statuteCitation>
<premis:statuteInformationDeterminationDate>01-01-2003</premis:statuteInformationDeterminationDate>
<premis:statuteNote>note about statute</premis:statuteNote>
<premis:statuteDocumentationIdentifier>
<premis:statuteDocumentationIdentifierType>Statute documentation identifier type.</premis:statuteDocumentationIdentifierType>
<premis:statuteDocumentationIdentifierValue>Statute documentation identifier value.</premis:statuteDocumentationIdentifierValue>
<premis:statuteDocumentationRole>Statute documentation identifier role</premis:statuteDocumentationRole>
</premis:statuteDocumentationIdentifier>
<premis:statuteApplicableDates>
<premis:startDate>01-01-2003</premis:startDate>
</premis:statuteApplicableDates>
</premis:statuteInformation>
<premis:rightsGranted>
<premis:act>disseminate</premis:act>
<premis:restriction>Conditional</premis:restriction>
<premis:termOfRestriction>
<premis:startDate>01-01-2011</premis:startDate>
<premis:endDate>01-01-2050</premis:endDate>
</premis:termOfRestriction>
<premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
</premis:rightsGranted>
<premis:linkingObjectIdentifier>
<premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
<premis:linkingObjectIdentifierValue>7a5e102c-983c-456c-b1fb-26a9e7564033</premis:linkingObjectIdentifierValue>
</premis:linkingObjectIdentifier>
</premis:rightsStatement>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="rightsMD_3">
<mets:mdWrap MDTYPE="PREMIS:RIGHTS">
<mets:xmlData>
<premis:rightsStatement xmlns:premis="http://www.loc.gov/premis/v3" xsi:schemaLocation="http://www.loc.gov/premis/v3 http://www.loc.gov/standards/premis/v3/premis.xsd">
<premis:rightsStatementIdentifier>
<premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
<premis:rightsStatementIdentifierValue>0ed28a3f-351f-4617-a7f6-2e0cc6fda032</premis:rightsStatementIdentifierValue>
</premis:rightsStatementIdentifier>
<premis:rightsBasis>Copyright</premis:rightsBasis>
<premis:copyrightInformation>
<premis:copyrightStatus>copyrighted</premis:copyrightStatus>
<premis:copyrightJurisdiction>ca</premis:copyrightJurisdiction>
<premis:copyrightStatusDeterminationDate>01-01-2011</premis:copyrightStatusDeterminationDate>
<premis:copyrightNote>Note about copyright.</premis:copyrightNote>
<premis:copyrightDocumentationIdentifier>
<premis:copyrightDocumentationIdentifierType>Copyright documentation identifier type.</premis:copyrightDocumentationIdentifierType>
<premis:copyrightDocumentationIdentifierValue>Copyright documentation identifier value.</premis:copyrightDocumentationIdentifierValue>
<premis:copyrightDocumentationRole>Copyright documentation identifier role.</premis:copyrightDocumentationRole>
</premis:copyrightDocumentationIdentifier>
<premis:copyrightApplicableDates>
<premis:startDate>01-01-2011</premis:startDate>
<premis:endDate>31-12-2013</premis:endDate>
</premis:copyrightApplicableDates>
</premis:copyrightInformation>
<premis:rightsGranted>
<premis:act>disseminate</premis:act>
<premis:restriction>Disallow</premis:restriction>
<premis:termOfRestriction>
<premis:startDate>01-01-2011</premis:startDate>
<premis:endDate>31-12-2013</premis:endDate>
</premis:termOfRestriction>
<premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
</premis:rightsGranted>
<premis:linkingObjectIdentifier>
<premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
<premis:linkingObjectIdentifierValue>0a157acf-56ef-453e-9093-8734af92ee51</premis:linkingObjectIdentifierValue>
</premis:linkingObjectIdentifier>
</premis:rightsStatement>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="rightsMD_4">
<mets:mdWrap MDTYPE="PREMIS:RIGHTS">
<mets:xmlData>
<premis:rightsStatement xmlns:premis="http://www.loc.gov/premis/v3" xsi:schemaLocation="http://www.loc.gov/premis/v3 http://www.loc.gov/standards/premis/v3/premis.xsd">
<premis:rightsStatementIdentifier>
<premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
<premis:rightsStatementIdentifierValue>3c6f7226-b4a6-4908-ac3c-b39f0f9fc6d4</premis:rightsStatementIdentifierValue>
</premis:rightsStatementIdentifier>
<premis:rightsBasis>Copyright</premis:rightsBasis>
<premis:copyrightInformation>
<premis:copyrightStatus>copyrighted</premis:copyrightStatus>
<premis:copyrightJurisdiction>ca</premis:copyrightJurisdiction>
<premis:copyrightStatusDeterminationDate>01-01-2011</premis:copyrightStatusDeterminationDate>
<premis:copyrightNote>Note about copyright.</premis:copyrightNote>
<premis:copyrightDocumentationIdentifier>
<premis:copyrightDocumentationIdentifierType>Copyright documentation identifier type.</premis:copyrightDocumentationIdentifierType>
<premis:copyrightDocumentationIdentifierValue>Copyright documentation identifier value.</premis:copyrightDocumentationIdentifierValue>
<premis:copyrightDocumentationRole>Copyright documentation identifier role.</premis:copyrightDocumentationRole>
</premis:copyrightDocumentationIdentifier>
<premis:copyrightApplicableDates>
<premis:startDate>01-01-2011</premis:startDate>
<premis:endDate>31-12-2013</premis:endDate>
</premis:copyrightApplicableDates>
</premis:copyrightInformation>
<premis:rightsGranted>
<premis:act>use</premis:act>
<premis:restriction>Disallow</premis:restriction>
<premis:termOfRestriction>
<premis:startDate>01-01-2011</premis:startDate>
<premis:endDate>31-12-2013</premis:endDate>
</premis:termOfRestriction>
<premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
</premis:rightsGranted>
<premis:linkingObjectIdentifier>
<premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
<premis:linkingObjectIdentifierValue>0a157acf-56ef-453e-9093-8734af92ee51</premis:linkingObjectIdentifierValue>
</premis:linkingObjectIdentifier>
</premis:rightsStatement>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
Importing event metadata with premis.xml¶
In some cases, digital preservation events may occur on digital objects prior to their transfer into Archivematica. You can log information about these events using the PREMIS standard in a XML file.
Create a transfer directory containing the digital objects you would like to preserve. As an example, the following directory tree displays a basic transfer called
eventsTransfer
. One digital object sits within the objects subdirectory, while a premis.xml file sits in the metadata subdirectory.:eventsTransfer/ ├── objects │ └── bird.mp3 └── metadata └── premis.xml
To create the premis.xml file containing the event information you can use the example below as a template.
<?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>hdl</premis:objectIdentifierType> <premis:objectIdentifierValue>hdl:3847677</premis:objectIdentifierValue> </premis:objectIdentifier> <premis:objectCharacteristics> <premis:format> <premis:formatDesignation> <premis:formatName>MPEG 1/2 Audio Layer 3</premis:formatName> <premis:formatVersion></premis:formatVersion> </premis:formatDesignation> </premis:format> </premis:objectCharacteristics> <premis:originalName> objects/bird.mp3 </premis:originalName> <premis:linkingEventIdentifier> <premis:linkingEventIdentifierType>NRI Repository Event ID</premis:linkingEventIdentifierType> <premis:linkingEventIdentifierValue>NRI-016</premis:linkingEventIdentifierValue> </premis:linkingEventIdentifier> <premis:linkingEventIdentifier> <premis:linkingEventIdentifierType>NRI Repository Event ID</premis:linkingEventIdentifierType> <premis:linkingEventIdentifierValue>NRI-017</premis:linkingEventIdentifierValue> </premis:linkingEventIdentifier> </premis:object> <premis:event> <premis:eventIdentifier> <premis:eventIdentifierType>NRI Repository Event ID</premis:eventIdentifierType> <premis:eventIdentifierValue>NRI-016</premis:eventIdentifierValue> </premis:eventIdentifier> <premis:eventType>ingestion</premis:eventType> <premis:eventDateTime>2019-07-04T22:46:07.773391+00:00</premis:eventDateTime> <premis:eventDetailInformation> <premis:eventDetail>Acquired via records transfer 002/041</premis:eventDetail> </premis:eventDetailInformation> <premis:eventOutcomeInformation> <premis:eventOutcome/> <premis:eventOutcomeDetail> <premis:eventOutcomeDetailNote/> </premis:eventOutcomeDetail> </premis:eventOutcomeInformation> <premis:linkingAgentIdentifier> <premis:linkingAgentIdentifierType>repository code</premis:linkingAgentIdentifierType> <premis:linkingAgentIdentifierValue>NRI</premis:linkingAgentIdentifierValue> </premis:linkingAgentIdentifier> </premis:event> <premis:event> <premis:eventIdentifier> <premis:eventIdentifierType>NRI Repository Event ID</premis:eventIdentifierType> <premis:eventIdentifierValue>NRI-017</premis:eventIdentifierValue> </premis:eventIdentifier> <premis:eventType>virus check</premis:eventType> <premis:eventDateTime>2019-07-04T22:46:07.773391+00:00</premis:eventDateTime> <premis:eventDetailInformation> <premis:eventDetail>program="ClamAV (clamd)"; version="ClamAV 0.100.3"; virusDefinitions="25500/Thu Jul 4 08:04:41 2019"</premis:eventDetail> </premis:eventDetailInformation> <premis:eventOutcomeInformation> <premis:eventOutcome>Pass</premis:eventOutcome> <premis:eventOutcomeDetail> <premis:eventOutcomeDetailNote/> </premis:eventOutcomeDetail> </premis:eventOutcomeInformation> <premis:linkingAgentIdentifier> <premis:linkingAgentIdentifierType>repository code</premis:linkingAgentIdentifierType> <premis:linkingAgentIdentifierValue>NRI</premis:linkingAgentIdentifierValue> </premis:linkingAgentIdentifier> </premis:event> <premis:agent> <premis:agentIdentifier> <premis:agentIdentifierType>repository code</premis:agentIdentifierType> <premis:agentIdentifierValue>NRI</premis:agentIdentifierValue> </premis:agentIdentifier> <premis:agentName>Not a Real Institution</premis:agentName> <premis:agentType>organization</premis:agentType> </premis:agent> </premis:premis>
Each premis.xml file should contain one or more
premis:object
,premis:event
andpremis:agent
entity. Each entity should have its own local identifier value for linking within the file. These will be converted to Archivematica UUIDs upon import. One Object can be linked to many Events. Each Event should be linked to one Agent.Note that the
premis:originalName
value is what links thepremis:object
to theobjects\bird.mp3
file. Objects are linked to Events via thepremis:linkingEventIdentifierValue
property.Note that the
premis:eventDateTime
value should be in ISO 8601 format (e.g. 2019-07-04T22:46:07.773391+00:00)Process the transfer as usual. Check the
Characterize and extract metadata
microservice on the Transfer tab and look at the status of theLoad PREMIS events from metadata/premis.xml
job to determine whether the import was successful.
Adding metadata to bags¶
Metadata can also be added to transfers packaged in accordance with the Library of Congress BagIt specification (zipped or unzipped). Special care needs to be taken in order to ensure that Archivematica can recognize the metadata files and process them properly.
Create your metadata files. In this example, we will create a metadata.csv to add descriptive metadata to the individual objects in the bag.
filename dc.title dc.creator dc.subject dc.subject dc.subject dc.description dc.publisher dc.date dc.type dc.format dc.source dc.rights data/beihai.tif Beihai, Guanxi, China, 1988 NASA/GSFC/METI/ERSDAC/ JAROS and U.S./Japan ASTER Science Team China Beihai Beihai is a city in the south of Guangxi, People’s Republic of China. NASA Jet Propulsion Laboratory February 29, 2016 image image.tif NASA Jet Propulsion Laboratory Public domain data/audio/bird.mp3 14000 Caen, France - Bird in my garden Nicolas Germain field recording soundscapes radio aporee Bird singing in my garden, Caen, France, Zoom H6 Radio Aporee 2017-05-27 sound audio/mp3 Internet Archive Public domain Note that the filename path anticipates the structure of the bag that we will create below by including the payload directory (
data
) in the path. If your transfer includes subdirectories, those should be reflected in the path as well.Assemble your transfer materials. In this example, there are two objects, one of which is contained in a subdirectory, as well as the metadata directory containing a metadata.csv file.:
to-be-transferred/ ├── audio │ └── bird.mp3 ├── beihai.tif └── metadata └── metadata.csv
Create a bag containing the material that you would like to preserve as well as the metadata. The digital objects and the metadata directory have been added to the payload directory (
data
).:bagTest/ ├── bag-info.txt ├── bagit.txt ├── data │ ├── audio │ │ └── bird.mp3 │ ├── beihai.tif │ └── metadata │ └── metadata.csv ├── manifest-md5.txt └── tagmanifest-md5.txt
Note that when the metadata.csv was created in step 1, above, this structure had to be anticipated. Material that you add to a bag will always be inside the payload directory, so the filename path must always begin with
data
.The bagging program has also created the required bag files.
Process the transfer using the Unzipped Bag or Zipped Bag transfer type.
The METS file in the resulting AIP will include the metadata in the <dmdSec>
as in the non-bagged examples above.
The above method can be used for metadata.csv files that apply metadata to a directory, for rights.csv files, and for other types of metadata that you wish to preserve.
Note
Submission documentation can also be added to a bag using the above method.
The submissionDocumentation
directory should be nested inside the
metadata directory. See Submission documentation
for more information.
Importing other types of metadata¶
You can include other types of metadata files in the metadata
directory
other than the metadata.csv and rights.csv files. For example, you may want to
preserve the output of a specialized analysis tool alongside the file. You can
place these files in the metadata directory.:
rightsTransfer/
├── video.mp4
└── metadata
├── qctools.xml.gz
└── rights.csv
Archivematica will run various preservation tasks on this file, just as it would
on the metadata.csv or rights.csv. In the METS, the file will be listed in the
file section (<fileSec>
) alongside any other metadata files, under the file
group (fileGrp
) usage heading metadata
.
<mets:fileSec>
<mets:fileGrp USE="metadata">
<mets:file GROUPID="Group-0befdb64-c512-4dd2-98c7-16a5a312daeb" ID="file-0befdb64-c512-4dd2-98c7-16a5a312daeb" ADMID="amdSec_3">
<mets:FLocat xlink:href="objects/metadata/transfers/other-md-5f6bbf43-64b1-4bed-9296-dcf458f6db0d/qctools.xml.qz" LOCTYPE="OTHER" OTHERLOCTYPE="SYSTEM"/>
</mets:file>
<mets:file GROUPID="Group-6852937b-cd7e-4871-ac6e-564e4e14309e" ID="file-6852937b-cd7e-4871-ac6e-564e4e14309e" ADMID="amdSec_4">
<mets:FLocat xlink:href="objects/metadata/transfers/other-md-5f6bbf43-64b1-4bed-9296-dcf458f6db0d/rights.csv" LOCTYPE="OTHER" OTHERLOCTYPE="SYSTEM"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
Importing structural metadata with mets_structmap.xml¶
The files transferred to Archivematica may have a coherent hierarchical
or logical structure (e.g. sections of a book or parts of an audio file) that
has already been described in a METS structural map. Users can import these by
including a file called mets_structmap.xml
in their transfer’s
metadata
directory. The files referenced in this structural map should be
included in the transfer’s objects
directory.
Archivematica will merge this structural map into the archival information
package’s METS file by assigning it a unique structural map ID. It will also
update the file pointers (mets:fptr
) to use the UUIDs created by
Archivematica for the files in its archival information packages.
Note that Archivematica requires that CONTENTIDS
attributes in mets:fptr
elements must be used with the objects/
prefix to correctly map files to
IDs.
Example mets_structmap.xml
Using a minimal structural map example for an audio file:
<mets:mets xmlns:mets="http://www.loc.gov/METS/">
<mets:structMap TYPE="logical">
<mets:div TYPE="track" LABEL="Complete documentary">
<mets:div LABEL="Introduction" ORDER="1">
<mets:fptr FILEID="ferdinand_short_2017_01_27.mp3" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3">
<mets:area FILEID="ferdinand_short_2017_01_27.mp3" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3" BEGIN="00:00:00" END="00:00:17" BETYPE="TIME"/>
</mets:fptr>
</mets:div>
<mets:div LABEL="Outro" ORDER="2">
<mets:fptr FILEID="ferdinand_short_2017_01_27.mp3" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3">
<mets:area FILEID="ferdinand_short_2017_01_27.mp3" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3" BEGIN="00:00:18" END="00:01:13" BETYPE="TIME"/>
</mets:fptr>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>
The resulting output in the Archivematica AIP METS file will be:
<mets:structMap TYPE="logical" ID="structMap_2">
<mets:div TYPE="track" LABEL="Complete documentary">
<mets:div LABEL="Introduction" ORDER="1">
<mets:fptr FILEID="file-a47cee9a-7508-4189-aa21-76ab3d02e2a2" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3">
<mets:area FILEID="file-a47cee9a-7508-4189-aa21-76ab3d02e2a2" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3" BEGIN="00:00:00" END="00:00:17" BETYPE="TIME"/>
</mets:fptr>
</mets:div>
<mets:div LABEL="Outro" ORDER="2">
<mets:fptr FILEID="file-a47cee9a-7508-4189-aa21-76ab3d02e2a2" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3">
<mets:area FILEID="file-a47cee9a-7508-4189-aa21-76ab3d02e2a2" CONTENTIDS="objects/ferdinand_short_2017_01_27.mp3" BEGIN="00:00:18" END="00:01:13" BETYPE="TIME"/>
</mets:fptr>
</mets:div>
</mets:div>
</mets:structMap>
Here is another example of a custom METS structural map for a simple book. The
transfer’s objects/
directory contains all of the digital files used to
compile the book (e.g. cover.jpg, inside_cover.jpg, page_01.jpg, etc.) The
transfer’s metadata/
directory contains the following mets_structmap.xml
file to define the structure of the book. Upon import, Archivematica will add a
unique ID to the structMap
element and update all the FILEID
attributes
to match the UUID value for these files in the Archivematica AIP.
<mets:structMap TYPE="logical">
<mets:div TYPE="book" LABEL="How to create a hierarchical book">
<mets:div TYPE="page" LABEL="Cover">
<mets:fptr FILEID="cover.jpg" CONTENTIDS="objects/cover.jpg"/>
</mets:div>
<!-- cover -->
<mets:div TYPE="page" LABEL="Inside cover">
<mets:fptr FILEID="inside_cover.jpg" CONTENTIDS="objects/inside_cover.jpg"/>
</mets:div>
<!-- inside cover -->
<mets:div TYPE="chapter" LABEL="Chapter 1">
<mets:div TYPE="page" LABEL="Page 1">
<mets:fptr FILEID="page_01.jpg" CONTENTIDS="objects/page_01.jpg"/>
</mets:div>
<mets:div TYPE="subchapter" LABEL="Subchapter 1.1">
<mets:div TYPE="page" LABEL="Page 2">
<mets:fptr FILEID="page_02.jpg" CONTENTIDS="objects/page_02.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 3">
<mets:fptr FILEID="page_03.jpg" CONTENTIDS="objects/page_03.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 4">
<mets:fptr FILEID="page_04.jpg" CONTENTIDS="objects/page_04.jpg"/>
</mets:div>
</mets:div>
<!-- Subchapter 1.1 -->
<mets:div TYPE="subchapter" LABEL="Subchapter 1.2">
<mets:div TYPE="page" LABEL="Page 5">
<mets:fptr FILEID="page_05.jpg" CONTENTIDS="objects/page_05.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 6">
<mets:fptr FILEID="page_06.jpg" CONTENTIDS="objects/page_06.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 7">
<mets:fptr FILEID="page_07.jpg" CONTENTIDS="objects/page_07.jpg"/>
</mets:div>
</mets:div>
<!-- Subchapter 1.2 -->
</mets:div>
<!-- Chapter 1 -->
<!-- Chapters 2 and 3, each with their own subchapters as in Chapter 1, omitted from this example. -->
<mets:div TYPE="afterword" LABEL="Afterword">
<mets:div TYPE="page" LABEL="Page 20">
<mets:fptr FILEID="page_20.jpg" CONTENTIDS="objects/page_20.jpg"/>
</mets:div>
</mets:div>
<!-- afterword -->
<mets:div TYPE="index" LABEL="Index">
<mets:div TYPE="page" LABEL="Index, page 1">
<mets:fptr FILEID="index_01.jpg" CONTENTIDS="objects/index_01.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Index, page 2">
<mets:fptr FILEID="index_02.jpg" CONTENTIDS="objects/index_02.jpg"/>
</mets:div>
</mets:div>
<!-- index -->
<mets:div TYPE="page" LABEL="Back cover">
<mets:fptr FILEID="back_cover.jpg" CONTENTIDS="objects/back_cover.jpg"/>
</mets:div>
<!-- back cover -->
</mets:div>
<!-- book -->
</mets:structMap>
</mets:mets>
</mets:structMap>
The resulting output in the Archivematica AIP METS file will be:
<mets:structMap TYPE="logical" ID="structMap_2">
<mets:div TYPE="book" LABEL="How to create a hierarchical book">
<mets:div TYPE="page" LABEL="Cover">
<mets:fptr FILEID="file-89dea0eb-663f-4c86-b2e0-4f41a7654fcd" CONTENTIDS="objects/cover.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Inside cover">
<mets:fptr FILEID="file-fd3f32cc-eef2-4d8e-aa1c-a9ad06ac03b4" CONTENTIDS="objects/inside_cover.jpg"/>
</mets:div>
<mets:div TYPE="chapter" LABEL="Chapter 1">
<mets:div TYPE="page" LABEL="Page 1">
<mets:fptr FILEID="file-709ff24e-7594-4bae-b5fe-9be1103805fb" CONTENTIDS="objects/page_01.jpg"/>
</mets:div>
<mets:div TYPE="subchapter" LABEL="Subchapter 1.1">
<mets:div TYPE="page" LABEL="Page 2">
<mets:fptr FILEID="file-12b79f5e-853e-4767-a1f8-221540e2df63" CONTENTIDS="objects/page_02.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 3">
<mets:fptr FILEID="file-a2c1ec4b-e165-4c67-94f1-6d63aa78df1a" CONTENTIDS="objects/page_03.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 4">
<mets:fptr FILEID="file-cc4474e7-0640-4824-8c30-fd9309b752ca" CONTENTIDS="objects/page_04.jpg"/>
</mets:div>
</mets:div>
<!-- Subchapter 1.1 -->
<mets:div TYPE="subchapter" LABEL="Subchapter 1.2">
<mets:div TYPE="page" LABEL="Page 5">
<mets:fptr FILEID="file-5d19ca92-5f93-46c6-a1bd-65b3c6af8025" CONTENTIDS="objects/page_05.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 6">
<mets:fptr FILEID="file-7f760fdd-173c-4158-a673-b8231ae30d1c" CONTENTIDS="objects/page_06.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Page 7">
<mets:fptr FILEID="file-3db99d4e-323a-4d75-be45-74772597d560" CONTENTIDS="objects/page_07.jpg"/>
</mets:div>
</mets:div>
<!-- Subchapter 1.2 -->
</mets:div>
<!-- Chapter 1 -->
<!-- Chapters 2 and 3, each with their own subchapters as in Chapter 1, omitted from this example. -->
<mets:div TYPE="afterword" LABEL="Afterword">
<mets:div TYPE="page" LABEL="Page 20">
<mets:fptr FILEID="file-465bb720-a801-401e-880f-49a1416cb444" CONTENTIDS="objects/page_20.jpg"/>
</mets:div>
</mets:div>
<!-- afterword -->
<mets:div TYPE="index" LABEL="Index">
<mets:div TYPE="page" LABEL="Index, page 1">
<mets:fptr FILEID="file-6a3be87f-a0e1-4d6f-bd39-aef8fe289542" CONTENTIDS="objects/index_01.jpg"/>
</mets:div>
<mets:div TYPE="page" LABEL="Index, page 2">
<mets:fptr FILEID="file-9af8ab15-ff76-4094-8114-0e94d9245093" CONTENTIDS="objects/index_02.jpg"/>
</mets:div>
</mets:div>
<!-- index -->
<mets:div TYPE="page" LABEL="Back cover">
<mets:fptr FILEID="file-335db20c-752f-4a94-a679-4fde4d2777f5" CONTENTIDS="objects/back_cover.jpg"/>
</mets:div>
<!-- back cover -->
</mets:div>
<!-- book -->
</mets:structMap>
Archivematica 1.16.0
Contents
- Import metadata
- Importing descriptive metadata with metadata.csv
- Importing and validating XML metadata with source-metadata.csv
- Importing rights metadata with rights.csv
- Importing event metadata with premis.xml
- Adding metadata to bags
- Importing other types of metadata
- Importing structural metadata with mets_structmap.xml
Search
Open the general index or type your search in the search box.
Available projects
Archivematica
- Version 1.16.0 (stable-current)
- Version 1.15.1 (stable-previous)
- Version 1.14.1 (legacy)
- Version 1.13.2 (legacy)
- Version 1.12.2 (legacy)
- Version 1.11.2 (legacy)
- Version 1.10.2 (legacy)
- Version 1.9.3 (legacy)
- Version 1.8.1 (legacy)
- Version 1.7.2 (legacy)
- Version 1.6.1 (legacy)
- Version 1.5 (legacy)
- Version 1.4 (legacy)
Archivematica Storage Service
- Version 0.22.0 (stable-current)
- Version 0.21.1 (stable-previous)
- Version 0.20.1 (legacy)
- Version 0.19.0 (legacy)
- Version 0.18.1 (legacy)
- Version 0.17.1 (legacy)
- Version 0.16.1 (legacy)
- Version 0.15.1 (legacy)
- Version 0.14.1 (legacy)
- Version 0.13.0 (legacy)
- Version 0.12.0 (legacy)
- Version 0.11.1 (legacy)
- Version 0.10 (legacy)
- Version 0.9 (legacy)
- Version 0.8 (legacy)
License
Archivematica documentation by Artefactual Systems Inc. is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.