Metadata Mapping and Remediation¶
About¶
Metadata from the Digital Library of Tennessee is shared to the Digital Public Library of America as MODS v3.5 where it is mapped to DPLA Map v4.0. While DLTN wrote and adopted a metadata application profile in 2016, the metadata application profile does not precisely align with our mapping to Map 4. Because of this, the DLTN committee provides a crosswalk from many popular metadata formats to DLTN MODS and MAP v.4 to help providers ready their metadata for participation in DLTN.
Metadata Transformations¶
DLTN_XSLT is the Git repository where all current metadata transforms are maintained. When possible, transforms are written at the provider level. While legacy transforms do not necessarily follow this practice, all current transforms are written around an identity transform. By following this practice, our XSL transforms are more easily modified when new needs arise.
Most legacy transforms may make use of a remediation template for genres or subjects. These transforms replace strings and insert URIs into the output MODS record.
ContentDM IIIF Mapping¶
DLTN automatically generates and provides a link to the IIIF manifest of an object for ContentDM providers when one exists. The manifest is generated by the content_dm_catalog_manifest_generator. The code here creates an XML record of all objects in a set that have a IIIF manifest. This is necessary since compound objects in ContentDM do not have a IIIF manifest (only the parts have a manifest). The XML record is then parsed by the corresponding XSL transform and the IIIF manifest in included in the MODS record at /mods:location/mods:url[@note=”iiif-manifest”].
Metadata QA¶
Before new sets are added or existing sets are reharvested, all records from a set are piped into MongoDB using dltn_metadata_qa. This messy at best application provides an easy mechanism for us to understand metadata practices across an entire collection. variety.js is an additional tool that we use to analyze an entire collection and look for records that do not meet our minimum requirements.
Unit Tests¶
All metadata transforms should be accompanied with a unit test. The unit test should test validity of the output of the sample data versus its associated xsl transform. This unit test should be automatically executed by TravisCI and help simplify testing and limit mistakes before ingests.