Third-party software integration: OpenOffice.org

From OpenKM Documentation
(Redirected from OpenOffice.org)
Jump to: navigation, search

Contents

OpenKM can convert some document types to PDF. This is a great help if need to read an Microsoft Office / OpenOffice.org document and you don't have the software installed in the computer.


Nota clasica.png OpenKM has been roughly tested with recent build of OpenOffice.org and LibreOffice, but in more recent Linux distros the most common used is LibreOffice.

In a recent Ubuntu or Debian release, you can install it simply as:

 $ sudo aptitude install openoffice.org

or

 $ sudo aptitude install libreoffice

In a recent Redhat/CentOS 6/7 or Fedora release, you can use:

sudo yum install libreoffice libreoffice-headless

To configure OpenKM and LibreOffice integration you have several configuration properties, but the most important one is system.openoffice.path with should be set to the OpenOffice (/usr/lib/openoffice) or LibreOffice (/usr/lib/libreoffice) installation path.

Learn more about OpenOffice / LibreOffice configuration parameters at Enable OpenOffice.org integration.

OpenKM 5.1

Configuration parameters are the same as OpenKM 5.0, but in this case they should not go into OpenKM.cfg file, but they are stored at database and configured at Administration > Configuration.

You can also configure OpenKM to use a remote server for OpenOffice document conversion.

system.openoffice.server=http://localhost:8080/converter/convert

Nota clasica.png This feature is under development and actually not released for public testing.


Nota idea.png If you have problems with OpenOffice / LibreOffice integration, take a look at OpenOffice configuration issues.

OpenKM 5.0

In this OpenKM some things changes. You can configure OpenOffice.org listen port and a maximun conversion tasks:

system.openoffice.path=/usr/lib/openoffice
system.openoffice.tasks=5
system.openoffice.port=2222

In case of LibreOffice and Linux, the system.openoffice.path property should be set to /usr/lib/libreoffice. Note that system.openoffice.tasks and system.openoffice.port have already a default value and is not needed to be set.


Nota advertencia.png Starting from OpenKM 5.0 you don't need to start OpenOffice.org as a service because OpenKM will take case of this. You only need to set the system.openoffice configuration property in OpenKM.cfg to the path of a working OpenOffice.org installation.

Linux

system.openoffice.path=/usr/lib/openoffice

Windows

system.openoffice.path=C:/Program Files/OpenOffice.org 3

or

system.openoffice.path=C:\\Program Files\\OpenOffice.org 3

Nota idea.png If you have problems with OpenOffice / LibreOffice integration, take a look at OpenOffice configuration issues.

OpenKM 4.x and older versions

You need an OpenOffice.org installation in the OpenKM server, and also this OpenOffice.org application has to be running in server mode (also known as headless). In Debian / Ubuntu, depending of you OpenOffice.org version you will have to install an X11 virtual server or not:

$ apt-get install xvfb

And start it using this command:

$ xvfb-run /usr/lib/openoffice/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

From OpenOffice.org 2.3, it is not necessary the X11 virtual server but you should install these packages:

$ aptitude install openoffice.org-headless openoffice.org-java openoffice.org

But before of this, you must enable a couple of repositories:

 deb http://en.archive.ubuntu.com/ubuntu/ hardy-updates universe
 deb http://en.archive.ubuntu.com/ubuntu/ hardy-updates multiverse

This script simplifies the start process (For security reasons, you should no start OpenOffice.org as root):

#!/bin/sh
unset DISPLAY
/usr/lib/openoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo
 -headless -nofirststartwizard

OpenOffice.org will listen at port 8100, so you can check that the application has started running this:

$ netstat -putan | grep 8100

Also you can configure OpenOffice.org as a service with this script:

#!/bin/bash
# openoffice.org headless server script
#
# chkconfig: 2345 80 30
# description: headless openoffice server script
# processname: openoffice
#
# Author: Vic Vijayakumar
# Modified by Paco Avila and Federico Ch. Tomasczik
#
SOFFICE=/usr/bin/soffice
PIDFILE=/var/run/openoffice-server.pid
set -e
case "$1" in
    start)
        if [ -f $PIDFILE ]; then
            echo "OpenOffice headless server has already started."
            sleep 5
            exit
        fi
        echo "Starting OpenOffice headless server"
        $SOFFICE -headless -nologo -nofirststartwizard -accept="socket,host=127.0.0.1,port=8100;urp" & > /dev/null 2>&1
        touch $PIDFILE
        ;;
    stop)
        if [ -f $PIDFILE ]; then
            echo "Stopping OpenOffice headless server."
            killall -9 soffice && killall -9 soffice.bin
            rm -f $PIDFILE
            exit
        fi
        echo "Openoffice headless server is not running."
        exit
        ;;
    *)
        echo "Usage: $0 {start|stop}"
        exit 1
esac
exit 0

Change the permissions to this file:

$ chmod 0755 /etc/init.d/openoffice

Install openoffice init script links:

For Debian based distros like Ubuntu

$ update-rc.d openoffice defaults

For RedHat based distros like CentOS

$ chkconfig --add openoffice

And this script will launch OpenOffice.org on every system reboot. Also you can launch it manually this way:

$ /etc/init.d/openoffice start

More info at:

Windows

Install Windows Server 2003 Resource Kit Tools in your computer for example at c:\tools

Create a openoffice service cd c:\tools

instsrv openoffice c:\tools\srvany.exe

Modify system registry using regedit, got to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\openoffice

Add key Parameters

Into Parameters add mew parameters key Application as REG_SZ ( String value ) with your server soffice.exe path, for example C:\Archivos de programa\OpenOffice.org 3\program\soffice.exe

Into Parameter add new parameters key AppParameters as REG_SZ with value -nofirststartwizard -nologo -headless -accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager

To start service type:

net start openoffice

To ensure service is well installed:

netstat -anp tcp

To delete the service type:

sc delete openoffice

More info at: