Batch ingest multiple datastreams per asset (Tiered ingest)
What this does
Tiered Ingest allows you to group all of the files corresponding to a simple asset's datastreams (including archival files, publication files, other derivatives created outside of Islandora, with the exception of RELS-EXT) into a sub-directory.
When ingesting derivative files, with this method, they may be overwritten by the DAMS software.
The DAMS software will determine the asset's Content model based on the file type (MIME type) of the primary media file, which is ingested into the OBJ datastream. Particularly with AV content, this can lead to unwanted results (e.g. an audio file being ingested with the Video content model). Some media file formats can be used for different kinds of content. Consult with the DAMS Management team when planning your ingest project.
This tiered batch ingest method is NOT suitable for paged content (complex/compound assets with children). See Batch ingest complex assets (paged content) for instructions on how to ingest assets comprised of multiple pages.
The tiered ingest allows you to store additional files with a digital asset, and you can use this method to ingest externally created derivative datastreams (e.g. for streaming audio). See Content models for a breakdown of the expected datastreams per content model, and for information which datastreams can be published to e.g. the Collections Portal.
Staging folder structure
All of the files you are ingesting as part of one asset will be staged in one directory per asset, as a sub-directory of a batch job folder.
Each sub-directory corresponds to one asset and must contain at least a manifest file for the key datastreams (datastreams.txt).
The batch job folder can contain just one asset folder, but would still need the extra nesting
Sample folder structure
eid1234_example-batch-submission/ (batch job folder)
├── asset1/
│ ├── datastreams.txt
│ ├── modsfile.xml
│ ├── primaryfile.tif
│ ├── anyarbitraryderivativefile.ext
│ ├── anyarbitrarycomponentfile.ext
│ └── anymediaphotographfile.ext
├── asset2_audio_example/
│ ├── datastreams.txt
│ ├── modsfile.xml
│ ├── audiofile.wav
│ ├── derivative_audiofile_for_streaming.mp4 (e.g. for creating PROXY_MP4 datastream, which is required for streaming audio)
│ └── audio_transcript.txt
└── asset3_video_example/
├── datastreams.txt
├── modsfile.xml
├── videofile.mp4
├── video_captions.vtt
└── video_transcript.txt
└── page02_custom_ocr.txt
Step 2: Create datastreams.txt manifest
Subdirectories in the batch job folder MUST each contain a manifest file named datastreams.txt
. The manifest file specifies the intended structure of the DAMS asset, for instance pointing to the MODS XML containing the metadata for the asset, or specifying which additional datastreams should be created from staged files.
Each line of the manifest file contains an argument-value pair in the following format:
<ARGUMENT>==<VALUE>
Use 2 (two) equal signs to separate arguments and values.
Manifest Arguments
Refer to Anatomy of DAMS digital assets and Content models for a list of allowed/expected datastreams per content model. Consult with the DAMS Management Team for use cases not covered by the datastreams listed in this documentation.
Manifest generator script
Sample manifests
Sample generic datastreams.txt manifest file
OBJ==primaryfile.ext
MODS==metadata.xml
# optional, if no MODS file is included, minimal metadata is automatically generated during ingest
PDF==custom.pdf
# optional
ARCHIVAL_FILE==originalversionof_primaryfile.ext
# optional, use for archival file (e.g. uncropped scan)
COMPONENT1==componentfile1.ext
COMPONENT2==componentfile2.ext
# optional, can for instance be used in cases where a primary image is stitched from multiple component images; increment for additional files in same directory
# DO NOT use for complex objects that can be modeled as paged content or Islandora component assets!
MEDIAPHOTOGRAPH==anymediaphotographfile.ext
# optional, can be used for images documenting physical media, cases, covers, etc.; use MEDIAPHOTOGRAPH if there is one image only
MEDIAPHOTOGRAPH1==anymediaphotographfile.ext
MEDIAPHOTOGRAPH2==anymediaphotographfile.ext
# optional, can be used for images documenting physical media, cases, covers, etc.; increment for multiple images documenting the physical carrier(s)
Sample datastreams.txt manifest file for audio content
OBJ==audiofile.wav
MODS==metadata.xml
# optional, if no MODS file is included, minimal metadata is automatically generated during ingest
TRANSCRIPT==audiotranscript.txt
# Textual representation of linguistic content in audio and video assets. REQUIRED for audio assets to be publishable. Transcripts MUST be in plain text.
PROXY_MP4==audioderivative.mp4
# optional; audio content can be provided as streaming media, which adds a limited technical hurdle against a simple download of a complete MP3 audio file. If you prefer to deliver audio content as streaming media, you need to externally create an MP4 derivative and ingest it into a datastream labeled PROXY_MP4.