Avalon's batch ingest feature provides a method of building one or more media items at a time from uploaded content and metadata outside the user interface. A batch ingest is started by uploading an ingest package consisting of one manifest file and zero or more content files to the Avalon dropbox. For your convenience there is a demo ingest package available to download and import into test systems. Follow the instructions below to ensure a successful batch upload.
An ingest package is the combination of content and metadata that make up a single batch.
When a new collection is created, Avalon creates a subdirectory with the name of that collection (substituting underscores for any blanks), beneath the Avalon dropbox directory. The package (manifest file and associated content files) must be uploaded to that collection-named subdirectory or in a subdirectory beneath it. All items included in a single ingest package will be uploaded to the same collection. The following is a very simple package that has been uploaded:
The manifest file is a spreadsheet (
ods) containing the metadata for the items to be created, as well as the names of the content files that make up each item. In this case, the manifest file is named
batch_manifest.xlsx. See batch_manifest_template_R3_2.xlsx for an Excel example file. Required fields are in bold. Note: Neither the spreadsheet filename nor any folder/directory names above it can have blanks in them–substitute underscores.
|1||Michael's First Test Batchemail@example.com|
|2||Bibliographic ID||Main Title||Creator||Date Issued||File||Label||File||Label|
|3||123456||Test item 1||Klein, Michael B.||2012||content/file_1.mp3||Part 1||content/file_2.mp4||Part 2|
|4||789012||Test item 2||Northwestern||1951||content/file_3.mp4|
Row 1, Column A contains a reference name for the batch. This is mostly for your reference so we recommend naming the batch file according to what will help you remember the contents.
Row 1, Column B contains the submitter's email address (or username, depending on how your system is set up) to be used for notifications and exceptions. The submitter's email or user name must be listed as a manager, editor, or depositor for the collection in which this batch is deposited in the Avalon dropbox.
Row 2 specifies the names of the metadata fields supplied in the following rows. Main Title, Creator, Date Issued, and File are required. These fields are shown in bold in the Excel example file. Each subsequent row represents a single media item to be created. Metadata values are specified first, followed by a list of content files to be attached to each item. Note: Make sure none of the field names in row 2 have leading or trailing blanks, or the field names will not be recognized by Avalon and will report an error.
Content files listed in the manifest file must have the correct path noted for where those files are located in the Avalon dropbox, relative to the manifest file. Additionally, all content files must include a file extension. If necessary, include any directories or subdirectories (note the paths listed in columns E and G in the above example).
Multivalued fields are specified by multiple columns with the same header, e.g. Topical Subject in the following example:
|1||Michael's Second Test Batchfirstname.lastname@example.org|
|2||Main Title||Creator||Date Issued||Topical Subject||Topical Subject||File|
|3||Nachos: A Memoir||Klein, Michael B.||2012-12-22||Meat||Cheese||content/tasty_tasty_nachos.mp4|
MODS mapping: identifier
Used to identify the original catalog record from which metadata was generated.
Identifies the type of bibliographic ID supplied in the Bibliographic ID column. Valid types include "local", "oclc", lccn", and "other". If no bibliographic ID type is included, the type “Other” will be used as default. The value of "local" maps to "Catalog Key" in the Resource Description Form.
MODS mapping: relatedItem@displayLabel/location/urlRepeatable
In addition to the descriptive fields, there are five supported operational fields:
Avalon supports ingest of multiple derivatives that may be selected with the High/Medium/Low gear-buttons of the video player during playback. The “File” field in the manifest and the naming convention of the files in the Avalon dropbox directory must be formatted correctly for the batch ingest to be successful. Avalon will know what filename to look for from the manifest file, find the quality levels specified in the dropbox directory, and ingest the formatted files accordingly. It is not required to have all three quality tiers for multiple file ingest.
For a single Avalon item, input a filename in the “File” field and input “Yes” in the “Skip Transcoding” field of the manifest file. Add multiple files for this Avalon item to the dropbox directory. The “File” field as well as the file names of your different quality files in the Avalon dropbox directory must be formatted with the following convention:
|File Name in Manifest File||filename.mp4|
|Files in Dropbox Directory||filename.high.mp4; filename.medium.mp4; filename.low.mp4|
Example manifest file for multiple file ingest of different quality files for a single avalon item:
Michael's Third Test Batch
Multiple Quality Ingest
Klein, Michael B.
Each batch will generate 2 emails to the user listed at the top of the manifest.
Once Avalon detects the presence of an unprocessed manifest file, it will first verify that the metadata columns are recognizable, that the required columns are present and have values in them, and that the package is complete (i.e., all content files specified in the manifest are present and not open by any other processes) before attempting to ingest.
If the package is incomplete or in error, it will not be processed and an error file will be generated in the same directory as the manifest file (e.g., batch_manifest.xlsx.error). The error file will contain details of what was missing, and will email the same information to the user specified in the manifest.
To re-run a successfully completed batch, remove the *.processed file from the batch directory (e.g., batch_manifest.xlsx.processed).