First page Back Continue Last page Image

Current Architecture

XML-RPC

REST

cloudooo

Ooo Handler

ffmpeg Handler

imagemagick Handler

CLI/UNO

monitor

CLI

CLI

Mime Mapper

IManager

IHandler

Temp Storage


Notes:

The current structure of cloudooo is partly inspired by oood, an openoffice conversion daemon authored originally by Bartek Gorny as part of ERP5 document management system. Oood has been implemented successfully by Nexedi to convert large scale document databases in an international organization. Through this experience, it has gained reliability, by allocating a pool of single threaded openoffice conversion daemons and monitoring the activity of running daemons.

The Federal Fluminense Institute (IFF) and Nexedi decided to refactor oood in order to use it not only with ERP5 but also with Plone. Another purpose of the refactoring was to use modern standards such as WSGI and to introduce a component architecture so that other conversion tools could be used beyond openofffice.org. This has lead to cloudooo, which is now the default conversion server of ERP5 and is designed to be used by community as part of any CMS/ECM. A demo site, www.cloudooo.org, was created to show the conversion capabilities of cloudooo daemon.

Cloudooo receives incoming conversion requests through XML-RPC or REST. Based on the mime type, a conversion handler is selected by the Mime Mapper and invoked. The converted result is brought back to the requester. Current handlers are based on openoffice.org, ffmpeg, imagemagick. They support many office and multimedia file formats. The openoffice.org handlers uses the monitoring facility so that a pool of headless openoffice servers can be allocated. Dead or faulty openoffice.org processes are killed automatically. Openoffice.org processes are also killed after a defined number of conversions.

Other handlers are simple wrappers for command line tools. Cloudooo manages the generation of temporary files for conversion and garbage collection of unused temporary files.

All parameters of cloudooo are configured through a simple text based configuration file.