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.
Package information¶
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