[Erp5-report] r43123 kazuhiko - in /erp5/trunk/utils/cloudooo/cloudooo: ./ handler/ooo/ han...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Feb 7 11:59:03 CET 2011


Author: kazuhiko
Date: Mon Feb  7 11:59:03 2011
New Revision: 43123

URL: http://svn.erp5.org?rev=43123&view=rev
Log:
no longer use Xvfb.

Removed:
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/xvfb.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testXvfb.py
Modified:
    erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt
    erp5/trunk/utils/cloudooo/cloudooo/README.txt
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/application.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/cloudoooTestCase.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/runCloudOOoUnitTest.py
    erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testInterface.py
    erp5/trunk/utils/cloudooo/cloudooo/paster_application.py
    erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf
    erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf.in
    erp5/trunk/utils/cloudooo/cloudooo/samples/sample.conf

Modified: erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/CHANGES.txt [utf8] Mon Feb  7 11:59:03 2011
@@ -1,3 +1,7 @@
+1.2.2 (2010-02-07)
+==================
+  - No longer use Xvfb.
+
 1.2.1 (2010-01-21)
 ==================
   - Improve ERP5 compatibility.

Modified: erp5/trunk/utils/cloudooo/cloudooo/README.txt
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/README.txt?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/README.txt [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/README.txt [utf8] Mon Feb  7 11:59:03 2011
@@ -6,34 +6,12 @@ Install Cloudooo
   Warnings:
       - you must have installed setuptools>=0.6c11 in this python.
 
-Install Dependencies in Mandriva
-================================
+Install LibreOffice / OpenOffice.org
+====================================
 
-  $ 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
+  Install LibreOffice or OpenOffice.org.
+    - http://www.libreoffice.org/download/
+    - http://download.openoffice.org/
 
 Create Configuration File
 =========================
@@ -43,8 +21,8 @@ Create Configuration File
 
   The next step is define some attributes in cloudooo.conf:
     - working_path - folder to run the application. This folder need be created.
-    - uno_path - full path to UNO library;
-    - soffice_binary_path - full path to soffice.bin;
+    - 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
 ===============
@@ -67,45 +45,38 @@ 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.
+- XMLRPC + WSGI will be one bridge for easy access to LibreOffice / OpenOffice.org. This will implement one XMLRPC server into WSGI (Paster).
 
-- Xvfb is used to run Openoffice.org. This is controlled by Daemon(cloudooo).
+- 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 OpenOffice.org by time.
+- Only a process will have access to LibreOffice / OpenOffice.org by time.
 
 - All clients receive the same object(proxy) when connects with XMLRPC Server.
 
-Xvfb and OpenOffice
+Managing LibreOffice / OpenOffice.org process
 
- - 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;
+ - 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 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;
+  - 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
-     - 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
+     - '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

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/application.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/application.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/application.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/application.py [utf8] Mon Feb  7 11:59:03 2011
@@ -60,18 +60,16 @@ class Application(object):
           Process(process_pid).kill()
       delattr(self, "process")
 
-  def loadSettings(self, hostname, port, path_run_dir, display_id, **kwargs):
+  def loadSettings(self, hostname, port, path_run_dir, **kwargs):
     """Define attributes for application instance
     Keyword arguments:
     hostname -- Host to start the instance.
     port -- Expected a int number.
     path_run_dir -- Full path to create the enviroment.
-    display_id -- Display to open the OpenOffice.
     """
     self.hostname = hostname
     self.port = port
     self.path_run_dir = path_run_dir
-    self.display_id = display_id
     self.timeout = kwargs.get('start_timeout', 20)
 
   def restart(self):

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/openoffice.py [utf8] Mon Feb  7 11:59:03 2011
@@ -33,7 +33,6 @@ from subprocess import Popen, PIPE
 from threading import Lock
 from zope.interface import implements
 from application import Application
-from cloudooo.handler.ooo.application.xvfb import xvfb
 from cloudooo.interfaces.lockable import ILockable
 from cloudooo.utils.utils import logger, convertStringToBool
 from cloudooo.handler.ooo.utils.utils import waitStartDaemon, \
@@ -83,7 +82,7 @@ class OpenOffice(Application):
     """Define request attribute as 0"""
     self.request = 0
 
-  def loadSettings(self, hostname, port, path_run_dir, display_id,
+  def loadSettings(self, hostname, port, path_run_dir,
                    office_binary_path, uno_path, default_language,
                    environment_dict=None, **kw):
     """Method to load the configuratio to control one OpenOffice Instance
@@ -94,7 +93,7 @@ class OpenOffice(Application):
     """
     if environment_dict is None:
       environment_dict = {}
-    Application.loadSettings(self, hostname, port, path_run_dir, display_id)
+    Application.loadSettings(self, hostname, port, path_run_dir)
     self.office_binary_path = office_binary_path
     self.uno_path = uno_path
     self.default_language = default_language
@@ -131,33 +130,28 @@ class OpenOffice(Application):
 
   def start(self):
     """Start Instance."""
-    if not xvfb.status():
-      xvfb.restart()
     self.path_user_installation = join(self.path_run_dir, \
         "cloudooo_instance_%s" % self.port)
     if exists(self.path_user_installation):
       removeDirectory(self.path_user_installation)
     # Create command with all parameters to start the instance
     self.command = [join(self.office_binary_path, self._bin_soffice),
+         '-headless',
          '-invisible',
          '-nologo',
          '-nodefault',
          '-norestore',
          '-nofirststartwizard',
          '-accept=socket,host=%s,port=%d;urp;' % (self.hostname, self.port),
-         '-display',
-         ':%s' % self.display_id,
          '-env:UserInstallation=file://%s' % self.path_user_installation,
          '-language=%s' % self.default_language,
          ]
-    # To run the instance OOo is need a environment. So, the "DISPLAY" of Xvfb
-    # is passed to env and the environment customized is passed to the process
+    # To run soffice.bin, several environment variables should be set.
     env = self.environment_dict.copy()
     env["LANG"] = "UTF-8"
     env["HOME"] = self.path_user_installation
     env["TMP"] = self.path_user_installation
     env["TMPDIR"] = self.path_user_installation
-    env["DISPLAY"] = ":%s" % self.display_id
     self._startProcess(self.command, env)
     self._cleanRequest()
     Application.start(self)

Removed: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/xvfb.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/xvfb.py?rev=43122&view=auto
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/xvfb.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/application/xvfb.py (removed)
@@ -1,78 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2009-2010 Nexedi SA and Contributors. All Rights Reserved.
-#                    Gabriel M. Monnerat <gabriel at tiolive.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# guarantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-from subprocess import Popen, PIPE
-from cloudooo.utils.utils import logger
-from cloudooo.handler.ooo.utils.utils import waitStartDaemon, remove_file
-from zope.interface import implements
-from application import Application
-from cloudooo.interfaces.application import IApplication
-from os.path import exists
-
-
-class Xvfb(Application):
-  """Start and control Xvfb. It is used to open/run
-  instances OpenOffice.
-  """
-  implements(IApplication)
-
-  name = "xvfb"
-
-  def loadSettings(self, hostname, port, path_run_dir, display_id, **kwargs):
-    """Method to load the configuration to run and monitoring the Xvfb.
-
-    Keyword Arguments:
-    virtual_screen -- the display number
-    """
-    Application.loadSettings(self, hostname, port, path_run_dir, display_id)
-    self.virtual_screen = kwargs.get('virtual_screen', '0')
-    self.process_name = "Xvfb"
-
-  def start(self):
-    """Method to start Virtual Frame Buffer."""
-    self.command = ["Xvfb", "-ac", ":%s" % self.display_id, \
-        "-screen", self.virtual_screen, "800x600x16", \
-        "-fbdir", self.path_run_dir]
-    self.process = Popen(self.command, close_fds=True)
-    waitStartDaemon(self, self.timeout)
-    Application.start(self)
-    logger.debug("Xvfb pid - %s" % self.pid())
-
-  def stop(self):
-    """Stop Xvfb processes and remove lock file in file system"""
-    Application.stop(self)
-    lock_filepath = '/tmp/.X%s-lock' % self.display_id
-    if exists(lock_filepath):
-      remove_file(lock_filepath)
-
-    display_filepath = '/tmp/X11/X%s' % self.display_id
-    if exists(display_filepath):
-      remove_file(display_filepath)
-
-
-xvfb = Xvfb()

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/handler.py [utf8] Mon Feb  7 11:59:03 2011
@@ -33,7 +33,6 @@ from base64 import decodestring, encodes
 from os import environ, path
 from subprocess import Popen, PIPE
 from cloudooo.handler.ooo.application.openoffice import openoffice
-from cloudooo.handler.ooo.application.xvfb import xvfb
 from zope.interface import implements
 from cloudooo.interfaces.handler import IHandler
 from cloudooo.handler.ooo.mimemapper import mimemapper
@@ -116,7 +115,6 @@ class OOHandler:
   def _callUnoConverter(self, *feature_list, **kw):
     """ """
     if not openoffice.status():
-      xvfb.restart()
       openoffice.start()
     command_list = self._getCommand(*feature_list, **kw)
     stdout, stderr = self._subprocess(command_list)

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/cloudoooTestCase.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/cloudoooTestCase.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/cloudoooTestCase.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/cloudoooTestCase.py [utf8] Mon Feb  7 11:59:03 2011
@@ -31,7 +31,6 @@ import sys
 from ConfigParser import ConfigParser
 from os import path, mkdir
 from os import environ, putenv
-from cloudooo.handler.ooo.application.xvfb import xvfb
 from cloudooo.handler.ooo.application.openoffice import openoffice
 from cloudooo.handler.ooo.utils.utils import waitStartDaemon
 from cloudooo.handler.ooo.mimemapper import mimemapper
@@ -60,9 +59,6 @@ def startFakeEnvironment(start_openoffic
   config.read(conf_path)
   uno_path = config.get("app:main", "uno_path")
   working_path = config.get("app:main", "working_path")
-  virtual_display_id = int(config.get("app:main", "virtual_display_id"))
-  virtual_display_port_int = int(config.get("app:main",
-                                            "virtual_display_port"))
   hostname = config.get("server:main", "host")
   openoffice_port = int(config.get("app:main", "openoffice_port"))
   office_binary_path = config.get("app:main", "office_binary_path")
@@ -82,14 +78,6 @@ def startFakeEnvironment(start_openoffic
       not environ.has_key('URE_BOOTSTRAP'):
     putenv('URE_BOOTSTRAP', 'vnd.sun.star.pathname:%s' % fundamentalrc_file)
 
-  xvfb.loadSettings(hostname,
-                  virtual_display_port_int,
-                  working_path,
-                  virtual_display_id,
-                  virtual_screen='1')
-  xvfb.start()
-  waitStartDaemon(xvfb, 10)
-
   if start_openoffice:
     default_language = config.get('app:main',
                                   'openoffice_user_interface_language', False,
@@ -97,7 +85,6 @@ def startFakeEnvironment(start_openoffic
     openoffice.loadSettings(hostname,
                             openoffice_port,
                             working_path,
-                            virtual_display_id,
                             office_binary_path,
                             uno_path,
                             default_language)
@@ -109,16 +96,12 @@ def startFakeEnvironment(start_openoffic
     if not mimemapper.isLoaded():
         mimemapper.loadFilterList(hostname, port, **kw)
     openoffice.release()
-    return openoffice, xvfb
-
-  return xvfb
-
+    return openoffice
 
 def stopFakeEnvironment(stop_openoffice=True):
-  """Stop Openoffice and Xvfb """
+  """Stop Openoffice """
   if stop_openoffice:
     openoffice.stop()
-  xvfb.stop()
   return True
 
 
@@ -140,8 +123,6 @@ class CloudoooTestCase(unittest.TestCase
     self.tmp_url = path.join(self.working_path, "tmp")
     check_folder(self.working_path, self.tmp_url)
     self.uno_path = config.get("app:main", "uno_path")
-    self.virtual_display_id = config.get("app:main", "virtual_display_id")
-    self.virtual_display_port_int = config.get("app:main", "virtual_display_port")
     self.afterSetUp()
 
   def afterSetUp(self):

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/runCloudOOoUnitTest.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/runCloudOOoUnitTest.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/runCloudOOoUnitTest.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/runCloudOOoUnitTest.py [utf8] Mon Feb  7 11:59:03 2011
@@ -66,7 +66,6 @@ def run():
 
   DAEMON = getattr(module, 'DAEMON', False)
   OPENOFFICE = getattr(module, 'OPENOFFICE', False)
-  XVFB = getattr(module, 'XVFB', False)
 
   TestRunner = unittest.TextTestRunner
   suite = unittest.TestSuite()
@@ -89,19 +88,11 @@ def run():
       process.wait()
   elif OPENOFFICE:
     chdir(ENVIRONMENT_PATH)
-    openoffice, xvfb = startFakeEnvironment(conf_path=server_cloudooo_conf)
+    openoffice = startFakeEnvironment(conf_path=server_cloudooo_conf)
     try:
       TestRunner(verbosity=2).run(suite)
     finally:
       stopFakeEnvironment()
-  elif XVFB:
-    chdir(ENVIRONMENT_PATH)
-    startFakeEnvironment(start_openoffice=False,
-                         conf_path=server_cloudooo_conf)
-    try:
-      TestRunner(verbosity=2).run(suite)
-    finally:
-      stopFakeEnvironment(stop_openoffice=False)
   else:
     chdir(ENVIRONMENT_PATH)
     TestRunner(verbosity=2).run(suite)

Modified: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testInterface.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testInterface.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testInterface.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testInterface.py [utf8] Mon Feb  7 11:59:03 2011
@@ -33,7 +33,6 @@ from cloudooo.handler.ooo.application.op
 from cloudooo.manager import Manager
 from cloudooo.handler.ooo.mimemapper import MimeMapper
 from cloudooo.handler.ooo.filter import Filter
-from cloudooo.handler.ooo.application.xvfb import Xvfb
 from cloudooo.handler.ooo.monitor.request import MonitorRequest
 from cloudooo.handler.ooo.granulator import OOGranulator
 from cloudooo.interfaces.document import IDocument, IOdfDocument
@@ -159,7 +158,6 @@ class TestInterface(unittest.TestCase):
   def testIApplication(self):
     """Test if OpenOffice implements IApplication"""
     self.assertTrue(IApplication.implementedBy(OpenOffice))
-    self.assertTrue(IApplication.implementedBy(Xvfb))
     application_method_list = ["start", "stop", "pid",
                               "status", "restart",
                               "loadSettings", "getAddress"]

Removed: erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testXvfb.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testXvfb.py?rev=43122&view=auto
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testXvfb.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/handler/ooo/tests/testXvfb.py (removed)
@@ -1,67 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2009-2010 Nexedi SA and Contributors. All Rights Reserved.
-#                    Gabriel M. Monnerat <gabriel at tiolive.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# guarantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-from cloudoooTestCase import CloudoooTestCase, make_suite
-from cloudooo.handler.ooo.application.xvfb import Xvfb
-
-
-class TestXvfb(CloudoooTestCase):
-
-  def afterSetUp(self):
-    """Instanciate a xvfb object"""
-    self.xvfb = Xvfb()
-    self.xvfb.loadSettings(self.hostname,
-                          int(self.virtual_display_port_int),
-                          self.working_path,
-                          self.virtual_display_id,
-                          virtual_screen='1')
-
-  def testPid(self):
-    """Test pid function to validate if the return is correctly"""
-    self.assertEquals(self.xvfb.pid(), None)
-    self.xvfb.start()
-    self.assertNotEquals(self.xvfb.pid(), None)
-    self.assertTrue(self.xvfb.status())
-    self.xvfb.stop()
-    self.assertEquals(self.xvfb.pid(), None)
-    self.assertEquals(self.xvfb.status(), False)
-
-  def testStatus(self):
-    """Test if xvfb is started and stopped correctly"""
-    self.assertFalse(self.xvfb.status())
-    try:
-      self.xvfb.start()
-      self.assertTrue(self.xvfb.status())
-    finally:
-      self.xvfb.stop()
-    self.assertFalse(self.xvfb.status())
-
-
-def test_suite():
-  return make_suite(TestXvfb)
-

Modified: erp5/trunk/utils/cloudooo/cloudooo/paster_application.py
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/paster_application.py?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/paster_application.py [utf8] Mon Feb  7 11:59:03 2011
@@ -33,7 +33,6 @@ import os
 
 import cloudooo.handler.ooo.monitor as monitor
 from cloudooo.handler.ooo.application.openoffice import openoffice
-from cloudooo.handler.ooo.application.xvfb import xvfb
 from cloudooo.wsgixmlrpcapplication import WSGIXMLRPCApplication
 from cloudooo.utils.utils import convertStringToBool, configureLogger
 from cloudooo.handler.ooo.mimemapper import mimemapper
@@ -41,8 +40,6 @@ from cloudooo.handler.ooo.mimemapper imp
 def stopProcesses(signum, frame):
   monitor.stop()
   openoffice.stop()
-  xvfb.stop()
-
 
 def application(global_config, **local_config):
   """Method to load all configuration of cloudooo and start the application.
@@ -52,16 +49,11 @@ def application(global_config, **local_c
       e.g debug_mode=logging.DEBUG
   working_path -- Full path to create the environment of the processes.
       e.g working_path='/var/run/cloudooo'
-  virtual_display_port -- Port to start the Xvfb.
-  virtual_display_id -- Sets the display.
-      e.g virtual_display_id='99'
-  application_hostname -- Sets the host to Xvfb and Openoffice.
-  virtual_screen -- Use to define the screen to Xvfb
-      e.g virtual_screen='0'
-  office_binary_path -- Full Path of the OOo executable.
-      e.g office_binary_path='/opt/openoffice.org3/program'
-  uno_path -- Full path to pyuno library.
-      e.g uno_path='/opt/openoffice.org/program'
+  application_hostname -- Sets the host to Openoffice.
+  office_binary_path -- Folder where soffice.bin is installed.
+      e.g office_binary_path='/opt/libreoffice/program'
+  uno_path -- Folder where UNO library is installed.
+      e.g uno_path='/opt/libreoffice/basis-link/program/'
   """
   prefix = 'env-'
   environment_dict = {}
@@ -87,23 +79,13 @@ def application(global_config, **local_c
   cloudooo_path_tmp_dir = path.join(working_path, 'tmp')
   if not path.exists(cloudooo_path_tmp_dir):
     mkdir(cloudooo_path_tmp_dir)
-  # The Xvfb will run in the same local of the OpenOffice
   application_hostname = local_config.get('application_hostname')
   openoffice_port = int(local_config.get('openoffice_port'))
-  # Before start Xvfb, first loads the configuration
-  xvfb.loadSettings(application_hostname,
-                    int(local_config.get('virtual_display_port')),
-                    working_path,
-                    local_config.get('virtual_display_id'),
-                    virtual_screen=local_config.get('virtual_screen'),
-                    start_timeout=local_config.get('start_timeout'))
-  xvfb.start()
 
   # Loading Configuration to start OOo Instance and control it
   openoffice.loadSettings(application_hostname,
                           openoffice_port,
                           working_path,
-                          local_config.get('virtual_display_id'),
                           local_config.get('office_binary_path'),
                           local_config.get('uno_path'),
                           local_config.get('openoffice_user_interface_language',

Modified: erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf [utf8] Mon Feb  7 11:59:03 2011
@@ -8,10 +8,10 @@ debug_mode = True
 # are stored. In this folder is necessary create a folder tmp, because this
 # folder is used to create all temporary documents.
 working_path = /hd/cloudooo/run
-# Folder where OpenOffice Uno interpreter is installed
-uno_path = /opt/openoffice.org3/basis-link/program
-# Folder where OpenOffice Binarie is installed
-office_binary_path = /opt/openoffice.org3/program
+# Folder where UNO library is installed
+uno_path = /opt/libreoffice/basis-link/program
+# Folder where soffice.bin is installed
+office_binary_path = /opt/libreoffice/program
 #
 ## Monitor Settings
 #
@@ -33,14 +33,6 @@ application_hostname = localhost
 # OpenOffice Port
 openoffice_port = 4062
 #
-## Xvfb Settings
-#
-# Default port to xvfb
-virtual_display_port = 6097
-# ID of the virtual display where OOo instances are launched
-virtual_display_id = 97
-virtual_screen = 0
-#
 ## Environment Variable Settings (env-KEY = value)
 #
 # specify preferrable library locations

Modified: erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf.in
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf.in?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf.in [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/samples/cloudooo.conf.in [utf8] Mon Feb  7 11:59:03 2011
@@ -11,9 +11,6 @@ enable_memory_monitor = @ENABLE_MEMORY_M
 limit_memory_used = @MAXIMUM_USE_BY_OPENOFFICE@
 application_hostname = @APPLICATION_HOSTNAME@
 openoffice_port = @OPENOFFICE_PORT@
-virtual_display_port = @XVFB_PORT@
-virtual_display_id = @XVFB_DISPLAY_ID@
-virtual_screen = @XVFB_SCREEN_NUMBER@
 
 [server:main]
 use = egg:PasteScript#wsgiutils

Modified: erp5/trunk/utils/cloudooo/cloudooo/samples/sample.conf
URL: http://svn.erp5.org/erp5/trunk/utils/cloudooo/cloudooo/samples/sample.conf?rev=43123&r1=43122&r2=43123&view=diff
==============================================================================
--- erp5/trunk/utils/cloudooo/cloudooo/samples/sample.conf [utf8] (original)
+++ erp5/trunk/utils/cloudooo/cloudooo/samples/sample.conf [utf8] Mon Feb  7 11:59:03 2011
@@ -8,10 +8,10 @@ debug_mode = True
 # are stored. In this folder is necessary create a folder tmp, because this
 # folder is used to create all temporary documents.
 working_path = /hd/cloudooo/run
-# Folder where OpenOffice Uno interpreter is installed
-uno_path = /opt/openoffice.org3/basis-link/program
-# Folder where OpenOffice Binarie is installed
-office_binary_path = /opt/openoffice.org3/program
+# Folder where UNO library is installed
+uno_path = /opt/libreoffice/basis-link/program
+# Folder where soffice.bin is installed
+office_binary_path = /opt/libreoffice/program
 #
 ## Monitor Settings
 #
@@ -33,13 +33,13 @@ application_hostname = localhost
 # OpenOffice Port
 openoffice_port = 4062
 #
-## Xvfb Settings
+## Environment Variable Settings (env-KEY = value)
 #
-# Default port to xvfb
-virtual_display_port = 6097
-# ID of the virtual display where OOo instances are launched
-virtual_display_id = 97
-virtual_screen = 0
+# specify preferrable library locations
+# env-LD_LIBRARY_PATH = /opt/erp5/trunk/parts/fontconfig/lib:/opt/erp5/trunk/parts/libpng/lib:/opt/erp5/trunk/parts/zlib/lib
+#
+# specify preferrable executable locations
+# env-PATH = /opt/erp5/trunk/parts/imagemagick/bin:/opt/erp5/trunk/parts/w3m/bin
 
 [server:main]
 use = egg:PasteScript#wsgiutils



More information about the Erp5-report mailing list