Skip to content

Qucosa Media Type

Ralf Claussnitzer edited this page Feb 16, 2015 · 11 revisions

The Qucosa Repository Project uses a Fedora Repository and several auxiliary services. However, Fedora's data model is not restricting the form of digital assets or how their content is created and updated. That's totally application specific.

A media-type is a contract between an API and its clients.

The Qucosa Media Type defines a vendor specific data format and protocol for the Qucosa Repository that is understood and implemented by the Qucosa SWORD File Handler.

When the SWORD service encounters a deposit request for this media-type it activates the Qucosa File Handler to carry out that request depending on HTTP request method (PUT, POST, DELETE) and deposit URL (collection and object IDs).

METS/XML as media format

The base format for data for the Qucosa media-type is an application of the Library of Congress (LOC) Metadata Encoding and Transmission Standard (METS). Within the METS XML schema Qucosa metadata is embedded using the Metadata Object Description Schema (MODS). The last part of the media-type name .mets+xml denotes the fact that XML is used to encode a METS document.

A Qucosa METS XML document describes MODS metadata, auxiliary Qucosa repository information and references attachments such as local or URL referenced files. Whether MODS or attachment sections have to be present is defined in the context of the particular protocol function such as ingest or update. For example, sending an ingest requires valid a METS/MODS document being send via POST to a valid collection URL (as specified in the SWORD service document), while an update protocol operation allows a less complete METS document to be send via PUT to a valid URL (of a previously ingested deposit).

Control flow

A service that accepts application/vnd.qucosa.mets+xml documents offers the following HTTP methods:

  • POST is used to ingest a given deposit into a specified collection.

  • PUT is used to update a specified deposit using a full or partially defined METS/XML document.

  • DELETE is used to delete a specified deposit. Whether the deposit is indeed purged from the repository or just gets marked a 'deleted' depends on the deletion strategy of the file handler. The Qucosa File Handler changes the state of the Fedora object representing the deposit to 'DELETED'.

Retrieving resource

Retrieving a representation of the just ingested object is not in the scope of the SWORD service. Instead, GET is used to retrieve the ingest receipt of an ingest operation. This is a derivation from the AtomPub roots of SWORD and not implemented in the Qucosa File Handler but by the SWORD Service it self.

However, after a successful ingesting operation element is included in the ingest receipt referencing a METS representation of the object. Note that this only works if the Qucosa METS Disseminator is configured properly.

Learn about Media Types and their role in API design