Archivematica 1.10.2 is a legacy release, and these documents are no longer being maintained.

Import metadata

Archivematica can recognize descriptive and/or rights 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 metadata and rights metadata that will transpose the contents of the metadata files into the 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 and/or rights 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

Archivematica natively supports the Dublin Core Metadata Element Set, the basic 15 Dublin Core metadata elements. 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.

  1. 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.

  2. 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 the dc.element format, 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 (i.e. dc.contributor) were left in to demonstrate the full range of possible Dublin Core values. You do not need to keep empty columns.

  3. Create a subdirectory called metadata and place the metadata.csv file inside it.:

    metadataTransfer/
    ├── audio
    │   └── bird.mp3
    ├── beihai.tif
    └── metadata
       └── metadata.csv
    
  4. 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. 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.

  1. 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.

  2. 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
  3. 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
    
  4. 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.

  1. 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.

  2. 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 the dc.element format, 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.

  3. Create a subdirectory called metadata and place the metadata.json file inside it.:

    metadataTransfer/
    ├── audio
    │   └── bird.mp3
    ├── beihai.tif
    └── metadata
       └── metadata.json
    
  4. Process the transfer as usual.

The METS file will be populated exactly as in the CSV examples above.

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.

  1. 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
    
  2. 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 2011-01-01 ca 2011-01-01 2013-12-31 Terms of copyright. Citation of copyright. Note about copyright. disseminate Disallow 2011-01-01 2013-12-31 Grant note Copyright documentation identifier type. Copyright documentation identifier value. Copyright documentation identifier role.
    objects/beihai.tif copyright copyrighted 2011-01-01 ca 2011-01-01 2013-12-31 Terms of copyright. Citation of copyright. Note about copyright. use Disallow 2011-01-01 2013-12-31 Grant note Copyright documentation identifier type. Copyright documentation identifier value. Copyright documentation identifier role.
    objects/audio/bird.mp3 license       2000-09-09 2010-09-08 Terms of license. Note about license. migrate allow Conditional   2000-09-00 Grant note License documentation identifier type. License documentation identifier value. License 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.

  3. Create a subdirectory called metadata and place the rights.csv file inside it.:

    rightsTransfer/
    ├── audio
    │   └── bird.mp3
    ├── beihai.tif
    └── metadata
        └── rights.csv
    
  4. 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="info:lc/xmlns/premis-v2" xsi:schemaLocation="info:lc/xmlns/premis-v2 http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd">
        <premis:rightsStatementIdentifier>
          <premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
          <premis:rightsStatementIdentifierValue>acfb8ae7-249e-4ff9-a5da-040c8160a856</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>2000-09-09</premis:startDate>
            <premis:endDate>2010-09-08</premis:endDate>
          </premis:licenseApplicableDates>
        </premis:licenseInformation>
        <premis:rightsGranted>
          <premis:act>allow</premis:act>
          <premis:restriction>Conditional</premis:restriction>
          <premis:termOfRestriction>
            <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>00367530-3d6f-4b9c-8ce7-13c7662a7a87</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="info:lc/xmlns/premis-v2" xsi:schemaLocation="info:lc/xmlns/premis-v2 http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd">
        <premis:rightsStatementIdentifier>
          <premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
          <premis:rightsStatementIdentifierValue>4ea7a41b-fbff-414b-aad0-c10aa471c147</premis:rightsStatementIdentifierValue>
        </premis:rightsStatementIdentifier>
        <premis:rightsBasis>Copyright</premis:rightsBasis>
        <premis:copyrightInformation>
          <premis:copyrightStatus>copyrighted</premis:copyrightStatus>
          <premis:copyrightJurisdiction>ca</premis:copyrightJurisdiction>
          <premis:copyrightStatusDeterminationDate>2011-01-01</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>2011-01-01</premis:startDate>
            <premis:endDate>2013-12-31</premis:endDate>
          </premis:copyrightApplicableDates>
        </premis:copyrightInformation>
        <premis:rightsGranted>
          <premis:act>disseminate</premis:act>
          <premis:restriction>Disallow</premis:restriction>
          <premis:termOfRestriction>
            <premis:startDate>2011-01-01</premis:startDate>
            <premis:endDate>2013-12-31</premis:endDate>
          </premis:termOfRestriction>
          <premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
        </premis:rightsGranted>
        <premis:linkingObjectIdentifier>
          <premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
          <premis:linkingObjectIdentifierValue>ef3517aa-8480-4a1f-9b3d-627c25561b12</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="info:lc/xmlns/premis-v2" xsi:schemaLocation="info:lc/xmlns/premis-v2 http://www.loc.gov/standards/premis/v2/premis-v2-2.xsd">
        <premis:rightsStatementIdentifier>
          <premis:rightsStatementIdentifierType>UUID</premis:rightsStatementIdentifierType>
          <premis:rightsStatementIdentifierValue>049f1b41-d547-43a0-9130-087d0d6f9421</premis:rightsStatementIdentifierValue>
        </premis:rightsStatementIdentifier>
        <premis:rightsBasis>Copyright</premis:rightsBasis>
        <premis:copyrightInformation>
          <premis:copyrightStatus>copyrighted</premis:copyrightStatus>
          <premis:copyrightJurisdiction>ca</premis:copyrightJurisdiction>
          <premis:copyrightStatusDeterminationDate>2011-01-01</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>2011-01-01</premis:startDate>
            <premis:endDate>2013-12-31</premis:endDate>
          </premis:copyrightApplicableDates>
        </premis:copyrightInformation>
        <premis:rightsGranted>
          <premis:act>use</premis:act>
          <premis:restriction>Disallow</premis:restriction>
          <premis:termOfRestriction>
            <premis:startDate>2011-01-01</premis:startDate>
            <premis:endDate>2013-12-31</premis:endDate>
          </premis:termOfRestriction>
          <premis:rightsGrantedNote>Grant note</premis:rightsGrantedNote>
        </premis:rightsGranted>
        <premis:linkingObjectIdentifier>
          <premis:linkingObjectIdentifierType>UUID</premis:linkingObjectIdentifierType>
          <premis:linkingObjectIdentifierValue>ef3517aa-8480-4a1f-9b3d-627c25561b12</premis:linkingObjectIdentifierValue>
        </premis:linkingObjectIdentifier>
      </premis:rightsStatement>
    </mets:xmlData>
  </mets:mdWrap>

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.

  1. 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.

  2. 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
    
  3. 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.

  4. 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>

Back to the top