Media Metadata

From CollectiveAccess Documentation
Revision as of 18:22, 30 May 2018 by Julia (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

CollectiveAccess can extract metadata such as titles, descriptions, dates, georeferences and technical information embedded in uploaded media and automatically add it to catalogue records, streamlining workflow. Catalogue data can also be embedded into media as they are downloaded from CollectiveAccess. This can be useful if you want metadata to "travel" with a downloaded file.

CollectiveAccess supports inserting of extracted metadata into the following catalogue items:

- objects ("ca_objects")
- object representations ("ca_object_representations")

CollectiveAccess can embed as XMP metadata into media catalogue data from any item related to the media's ca_object_representations record. Relationships may be specified as relative to the ca_object_representations record or a ca_objects record.

NOTE: *only* XMP fields are supported for embedding. See for a list.

This configuration file allows you to define how metadata is extracted and inserted into the catalogue ("import" mappings), and how metadata is embedded into media downloaded from CollectiveAccess ("export" mappings). You can specify different import and export mappings for different types of a catalogue item. For example, you could have a mapping for "video" objects, another for "photograph" objects and a third for everything else.

Each catalogue item may have a default mapping used for all types for which a mapping has not been otherwise specified. If you don't specify at least one mapping applicable to a catalogue item type, either type-specific or default, processing will not be performed.

Keys for inserting extracted embedded metadata into a catalogue item

For a given type, keys are embedded metadata fields, and the values are an associative list of metadata element codes, intrinsic field values, preferred_labels or nonpreferred_labels. The specifier for embedded metadata fields are formed by concatenating the metadata system (ex. "EXIF", "IPTC", "XMP"), any sub-categories and the field name using colons (":"). For systems such as XMP, simply add the field name onto "XMP:" (ex. "XMP:Description"). For EXIF, which uses nested sub-categories, specifier can be more complex. For example: EXIF:IFD0:Model would represent the model of camera used to create the image.

To map the media's file name use the syntax: system:filename.

import_mappings = {
	ca_objects = {
		__default__ = {
			XMP:Title = {
			XMP:Description = {
	ca_object_representations = {
		__default__ = {
			system:filename = {

Extracting embedded EXIF

Embed EXIF data such as georeference and creation date using the following directives (see conf file for additional instructions):

extract_embedded_exif_georeferencing_to =
extract_embedded_exif_georeferencing_to_container = 
extract_embedded_exif_creation_date_to = 
extract_embedded_exif_creation_date_to_container = 

Embedding metadata into CollectiveAccess media at download

Exiftool has to be installed for this feature to work. NOTE: you won't see an error message if it isn't!

Mappings are defined per table and type in the configuration file. The __default__ rule catches undefined types and acts as a fallback. For example:

export_mappings = {
	ca_objects = {
		__default__ = exiftool_test,
	ca_object_representations = {
		__default__ = exiftool_photocredit,

Personal tools