Running OpenOffice From Remote Machine

Showing results for 
Search instead for 
Did you mean: 

Running OpenOffice From Remote Machine

0 0 2,457

Obsolete Pages{{Obsolete}}

The official documentation is at:

OpenOfficeInstallationThird-Party Libraries
Sometimes there is a need to run Alfresco and OpenOffice on separate machines.

Remote Machine Setup

On the remote machine create a script to launch OpenOffice that contains

'<Path to soffice>' '-accept=socket,host=<IP or DNS name>,port=<listening on>;urp;StarOffice.ServiceManager' -nologo -headless -nocrashreport -nofirststartwizard -nologo -norestore &

This will start an instance of OpenOffice running on the machine.  If this machine is running headless, follow the instructions here to configure the virtual framebuffer.


'/usr/bin/soffice' '-accept=socket,host=,port=8100;urp;StarOffice.ServiceManager' -nologo -headless -nocrashreport -nofirststartwizard -nologo -norestore &

You can use an init script like this as well.
If you have a firewall enabled on this machine, make sure your firewall is open for the port specified.

Alfresco Configuration

From 3.4.11 and 4.1.1

Set the following alfresco global properties:<OpenOffice host ip address>
ooo.port=<OpenOffice port number>
ooo.enabled=true is set to localhost by default so needs to be overridden.

Sub-system approach

Following the movement of OpenOffice transformations into a sub-system, the original configuration offered by this page did not work ([See this ticket in Jira]). However the basic approach of overriding spring beans still held. Instead of overriding beans in the general application context, beans in the OOoDirect subsystem context needed to be overridden.

Original approach

On the Alfresco side, you need to create a remote-openoffce-context.xml file in the extensions directory (ex. tomcat/shared/classes/alfresco/extension)

In this file place:


        <bean id='openOfficeConnection' class='net.sf.jooreports.openoffice.connection.SocketOpenOfficeConnection'>
                <constructor-arg type='java.lang.String' value=''/>
                <constructor-arg type='int' value='8100'/>

        <bean id='transformer.OpenOffice' class='org.alfresco.extension.repo.content.transform.RemoteOpenOfficeContentTransformer' parent='baseContentTransformer' >
<property name='connection'>
  <ref bean='openOfficeConnection' />
<property name='documentFormatsConfiguration'>


Set the values of the constructor arguments equal to the IP or DNS name and port of the machine running OpenOffice.

Next, you need to install the remoteOpenOffice-0.1.amp file.  Use the Alfresco Module Management Tool (alfresco-mmt) to install the amp file.

NOTE: From 2.2 SP1 onwards the RemoteOpenOfficeContentTransformer class will be available ready packaged out of the box. The configuration file mentioned above will be available as a sample extension.