Install Cloudooo ================ $ python2.6 setup.py install Warning: you must have installed setuptools>=0.6c11 in this python. Install 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 instalation is in /opt Create Configuration File ========================= The configuration file is used to start the application using paster. $ cp ./cloudooo/samples/cloudooo.conf . # Copy to current folder Next steps is: - Replace the paths of UNO and soffice to OpenOffice.org path in your machine; - Define the python path in python_path; - Define the path to unoconverter.py and unomimemapper.py # This files are created when setup.py is executed Run Application =============== $ paster serve ./cloudooo.conf Description of Daemon --------------------- - 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