Public | Automated Build

Last pushed: 2 years ago
Short Description
Short description is empty for this repo.
Full Description

ONIX2 Processor

Creates a book metadata document from each Product entry in an ONIX 2.1 document.


This service will create a queue that binds to the Marvin exchange and will collect all messages which have Content-Type: application/vnd.blinkbox.books.ingestion.file.pending.v2+json and Referenced-Content-Type: application/onix2+xml (these would normally be sent by the Watcher).

Each of these inbound messages contains a token (a reference to a file previously stored by the Storage Service) which is translated to a downloadable URL, retrieved and processed, creating a book metadata record for each book referenced in the ONIX document.

Every book metadata record is pushed onto the Marvin exchange as an application/ document, which will be picked up by Magrathea and stored for content audits, delivery to shop and so on.


This service is designed to run in a blinkbox Books Marvin ingestion environment, as such it both requires other services to run and only has directly useful output when paired with the rest of a Marvin deployment.

Please check out the Marvin readme for more information on how a Marvin environment hangs together.

This service requires:

  • A Storage Service to retrieve data from
  • A RabbitMQ instance with:
    • a Marvin headers exchange
    • a Mapping headers exchange
  • (Optional) a Graylog instance for sending log messages to


  • There is a helpful application - bin/onix2bbb - which will output human readable YAML representations of book metadata stored in an ONIX file.
Docker Pull Command
Source Repository