Multimedia Storage System documentation

NEP-143-3 Multimedia storage system

This package offers a multimedia file storage system (MSS) with a REST API.

Overview

The different functions offered by this code base are the following:

  • Provide a unified CANARIE REST interface for a collection of multimedia files

The documentation for this project can be found here .

Infrastructure Overview

This solution relies on the Celery distributed task queue and RabbitMQ messaging broker to dispatch processing requests. Also, the REST interface uses the Flask WEB framework.

Basic Usage

Interface instantiation

Note

Before starting the application, one must apply his own configuration values, see Configuration section.

For validation purposes, usage is as follows:

python run_local.py --help

This command can launch a built-in Flask WEB server. The «-d» options launches the WEB server in debug mode. Debug mode is useful for automatic reloading of code and stack trace forwarding. See the Flask documentation for more information.

Warning

The REST interface in run_local / debug mode uses a built-in Web Server. While this Web Server is useful for a closed environment, it is not recommended as a Web Server for a production environment. Care should be taken to configure a WSGI gateway to a production-ready WebServer such as Apache or GUnicorn behind a reverse-proxy server such as NGinx.

User’s Guide

Describes the typical usage of the Multimedia Storage System REST API functions.

Source code documentation

This section documents the actual code modules for anyone interested in interfacing with the code base or to study the code internals.

Code structure

  • Shared interface between MSS and Service Gateway
  • Common software package shared between MSS/Service Gateway and worker services, speeding up the development of new worker services.
    • Defines message format and contents along with processing methodology

Indices and tables