Most Powerful Open Source ERP

How To Install and Use Cloudooo

How To showing how to install and use an cloudooo file conversion server.
  • Last Update:2016-02-11
  • Version:001
  • Language:en

Cloudooo is a Free Software licensed under the terms of GNU GPL. You can get the source code, in the following subversion repository or as static package:

Table of Contents

Installation

Via python:

$ svn co https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo

$ cd cloudoo

$ python2.6 setup.py install

Warning: you must have installed setuptools>=0.6c11 in this python.

Via easy_install (source code):

$ easy_install-2.6 https://svn.erp5.org/repos/public/erp5/trunk/utils/cloudooo

or easy_install (static package):

$ easy_install-2.6 -f http://www.nexedi.org/static/packages/source/ cloudooo

Warning: you must have installed setuptools>=0.6c11 in this python.

Installing Dependencies in Mandriva

$ urpmi xvfb # System Dependencies

Install OpenOffice.org

Was used for testing the package's official openoffice.org. Follow these steps to install:

Download Package from the official site

x86_32

$ wget http://download.services.openoffice.org/files/stable/3.2.0/OOo_3.2.0_LinuxIntel_install_wJRE_en-US.tar.gz

x86_64

$ wget http://download.services.openoffice.org/files/stable/3.2.0/OOo_3.2.0_LinuxX86-64_install_wJRE_en-US.tar.gz

Unpack the tar.gz and Install

$ tar zxvf OOo_3.2.0_LinuxX86-64_install_wJRE_en-US.tar.gz

$ cd OOO320_m12_native_packed-1_en-US.9483/RPMS

$ rpm -i *.rpm # install all packages together

The installation is in /opt Note: Make sure that you start openoffice.org and from Tools->Options->Jave you uncheck "Use a Java runtime environment". When JRE is not used following filters willnot be supported (also check here):

  • draw.xhtml
  • impr.xhtml, uop
  • calc.xhtml, pxl, uos
  • writer.xhtml, pdb, psw, uot, 2003.doc.xml, docbook.xml

Create Configuration File

The configuration file is used to start the application using paster.

$ cp ./cloudooo/samples/cloudooo.conf . # Copy to current folder which is the root cloudoo folder

The next step is define some attributes in cloudooo.conf:

  • uno_path - full path to UNO library
  • soffice_bin_path - full path to soffice.bin

Run Application

$ paster serve ./cloudooo.conf

or run as a daemon:

$ paster serve ./cloudoo.conf --daemon

Stop Application

$ kill -1 PASTER_PID

Warning: always use SIGHUP because only with this signal all processes are stopped correctly.

Cloudooo Description

  • XMLRPC + WSGI will be one bridge for easy access OpenOffice.org. This will implement one XMLRPC server into WSGI (Paster).
  • PyUno is used to connect to OpenOffice.org stated with open socket. The features will be handled all by pyuno.
  • Xvfb is used to run Openoffice.org. This is controlled by Daemon(cloudooo).
  • Only a process will have access to OpenOffice.org by time.
  • All clients receive the same object(proxy) when connects with XMLRPC Server.

Xvfb and OpenOffice

  • configure and start Xvfb.
  • Use a single Xvfb.
  • the xvfb will be started with the XMLRPC Server.
  • When start the Daemon(cloudooo), it configures Xvfb, next opens the openoffice(with pyuno) and start XMLRPC Server.
  • control Xvfb.
  • start openoffice.
  • Pyuno start the openoffice processes and the communication is through sockets.
  • Openoffice processes run in brackground and in virtual display.
  • control openoffice.
  • The socket can't lose the connection, if this occurs should kill the process and submit again the file.

XMLRPC Server - XMLRPC + WSGI

  • Send document to openoffice and return the document converted with metadata.
  • XMLRPC receives a file and connects to a openoffice by pyuno.
  • The pyuno opens a new openoffice, write, add metadata and returns the document edited or converted to xmlrpc and it return the document to the user.
  • When finalize the use of openoffice, should make sure that it was finalized.
  • Export to another format.
  • Invite document and return metadata only.
  • Edit metadata of the document.
  • Problems and possible solution.
  • OpenOffice is stalled.
  • finalize the process, start openoffice and submit the document again(without restart the cloudooo).
  • Openoffice is crashed.
  • finalize the process, verify if all the process was killed, start openoffice and submit the document again(without restart the cloudooo).
  • OpenOffice received the document and stalled.
  • if openoffice isn't responding, kill the process and start.
  • The document that was sent is corrupt.
  • write in log the error and verify that the process aren't in memory.

Related Articles