Universal Office Converter (unoconv)

Revision as of 08:30, 17 May 2016 by Damyon Wiese (talk | contribs) (Additional Resources)

Jump to: navigation, search

Installing unoconv

"unoconv" is a command line program that is used to convert between different office document file formats. It uses an instance of LibreOffice to do the conversion and is used by the assignment module to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment module will only allow annotations when students upload a pdf document.

The steps required to install unoconv are different depending on the operating system that you have installed Moodle on.

Installing unoconv on Linux

The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with:

(Ubuntu 16.04 LTS)

apt-get install unoconv

If your package manager contains an older version of the package, you will have to find a newer version and install it manually (Debian Testing). Unoconv itself is just a python script, so it has few dependencies.

Installing unoconv on OS X


Installing unoconv on Windows


Run a unoconv listener

unoconv uses a client/server when processing documents. By default, when there is no running server - each time unoconv runs it will start a server, send it's request and shutdown the server when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server when the second request is still processing - and the second conversion request fails. A more robust way to install unoconv is to start a server at boot time, and run a script to monitor it and restart it if it crashes.


Offload processing to a different server

Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests.

How to do this:


Additional Resources

The unoconv documentation site has additional information on installation of unoconv and troubleshooting tips when it is not working.