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¶