Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install cloudooo

How to install cloudooo

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install cloudooo
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.0 Available View build log
1.0.9 Available View build log
Windows (64-bit)
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.0 Available View build log
1.0.9 Available View build log
Mac OS X (10.5+)
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.0 Available View build log
1.0.9 Available View build log
Linux (32-bit)
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.0 Available View build log
1.0.9 Available View build log
Linux (64-bit)
1.2.3 Available View build log
1.2.2 Available View build log
1.2.1 Available View build log
1.2.0 Available View build log
1.1.0 Available View build log
1.0.9 Available View build log
 
License
GPLv3
Lastest release
version 1.2.3 on Apr 2nd, 2011

Install Cloudooo

$ python2.6 setup.py install

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

Install LibreOffice / OpenOffice.org

Install LibreOffice or OpenOffice.org.

Create Configuration File

The configuration file is used to start the application using paster. $ cp ./cloudooo/samples/samples.conf . # Copy to current folder

The next step is define some attributes in cloudooo.conf:
  • working_path - folder to run the application. This folder need be created.
  • uno_path - folder where UNO library is installed (ex. /opt/libreoffice/basis-link/program/)
  • soffice_binary_path - folder where soffice.bin is installed (ex. /opt/libreoffice/program/)

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 to LibreOffice / OpenOffice.org. This will implement one XMLRPC server into WSGI (Paster).
  • PyUno is used to connect to LibreOffice / OpenOffice.org stated with open socket. The features will be handled all by pyuno.
  • Only a process will have access to LibreOffice / OpenOffice.org by time.
  • All clients receive the same object(proxy) when connects with XMLRPC Server.

Managing LibreOffice / OpenOffice.org process

  • start 'soffice.bin'; - Pyuno start 'soffice.bin' processes and the communication is through sockets; - 'soffice.bin' processes run in brackground;
  • control 'soffice.bin'; - If the socket lose the connection, cloudooo kills the process, restartes processes and submit again the file;
XMLRPC Server - XMLRPC + WSGI
  • Send document to 'soffice.bin' and return the document converted with metadata;
    • XMLRPC receives a file and connects to 'soffice.bin' process by pyuno;
    • The pyuno opens a new document, 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 'soffice.bin', 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
    • 'soffice.bin' is stalled; - finalize the process, start 'soffice.bin' and submit the document again(without restart the cloudooo);
    • 'soffice.bin' is crashed; - finalize the process, verify if all the process was killed, start 'soffice.bin' and submit the document again(without restart the cloudooo)
    • 'soffice.bin' received the document and stalled; - if 'soffice.bin' 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

1.2.3 (2010-04-01)

  • Eggify handlers
  • Configuration file tells to cloudooo which handler must be loaded
  • Update interface (not implemented yet)

1.2.2 (2010-02-07)

  • No longer use Xvfb.

1.2.1 (2010-01-21)

  • Improve ERP5 compatibility.

1.2.0 (2010-01-19)

  • Support LibreOffice3.3rc3.

1.1.0 (2010-01-13)

  • Refactor runCloudOOoUnitTest.py to control better the daemon process
  • Use argparse instead of optparse
  • Refactor tests to use boolean asserts to validate True or False.
  • Use python-magic to validate the output documents according to mimetype.
  • Change folder structure of cloudooo to put handler, mimemapper, helpers related to handler in same folder than handler.
  • Refactor code to use json instead of jsonpickle.
  • Add getTableItem, getTableItemList and getTableMatrix for OOGranulate
  • Add getParagraphItemList and getParagraphItem for OOGranulate
  • Add getImageItemList and getImage for OOGranulate
  • Add OdfDocument
  • Add granulate interface.

1.0.9

  • use pkg_resources to get helper scripts.
  • move internal scripts to helper folder.
  • removed cloudooo as dependency of internal scripts.
  • modified way that the filters of OpenOffice.org are passed.

1.0.8

  • Remove all attributes that works with cloudooo script paths.
  • Use all scripts according to your python eggs.
  • Fixed problem when a spreadsheet will be converted to html.

1.0.7

  • Remove entry points, treat those as ordinary files.
  • Search all script files using pkg_resources.

Subscribe to package updates

Last updated Apr 2nd, 2011

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.