This article covers installation process for Aeroo reporting engine on Linux servers. If you find this article useful or want to add some information related to this topic, please feel free to express your opinion on Aeroo Reports & OpenOffice.org Reporting Engine dedicated forum.
Development project pages are located on Launchpad.
- For Aeroo Reports - OpenERP modules:
- For Aeroo Reports Library - Python module:
https://launchpad.net/aeroolib
Environment dependencies
1.Open ERP server v. 6.x
2.OS: any Linux 32bit or 64bit. (tested on Ubuntu 10.04 server and Centos5.6 64bit)
Note: Clients can work on all OS systems that support OpenERP.
Note: This module is tested on Windows, and works on this operating system as well with custom compiled OpenERP server. Installation manual yet to be written.
Download: Sources available from launchpad via Bazaar.
Source online: https://launchpad.net/aeroo
Download: Packaged module available from https://launchpad.net/aeroo/+download
How to get module
1.Download Aeroo module through launchpad via Bazaar ( A distributed revision control system ).
# cd /usr/src # bzr branch https://launchpad.net/aeroo # bzr branch https://launchpad.net/aeroolib
Installation (Dependencies and Base system setup)
System Requirements:
- Python 2.4.x or higher (http://www.python.org/doc/)
- Aeroolib (bzr branch lp:aeroolib)
- Genshi (http://genshi.edgewall.org/)
- OpenOffice Python
- OpenOffice.org-pyuno
- python-lxml
Note: Server does not require “x” windows to be running, in order to run this module.
System Dependencies:
Names of dependencies may differ regarding your Linux distribution.
- Aeroolib: A templating library able to output odt files
- python-genshi: Toolkit for stream-based generation of output for the web
- pycairo: Python bindings for the cairo library
- python-openoffice: Python libraries for interacting with OpenOffice.org
- openoffice.org-pyuno : Python bindings for OpenOffice.org
- OpenOffice.org v.2.3.x or above.
- python-lxml - pythonic binding for the libxml2 and libxslt libraries
Aeroo Reports Installation
1.Install Aeroo Reports Library - Python module:
# bzr branch lp:aeroolib # cd aeroolib/ # sudo python ./setup.py install
2.Restart openerp-server
3.Install Aeroo - OpenERP module via Administration-> Modules Management
a)Manually: Copy Aeroo modules to $serverpath/openerp-server/addons/..
b)Through OpenERP interface: Administration/Modules/Update Modules List
c)Install necessary modules via OpenERP standard module installation interface:
- OpenERP module - report_aeroo
Description of module: This is base Aeroo Report Engine module. It can be installed alone and does only basic .odt/.ods output for reports. No need for OpenOffice/LibreOffice UNO environment setup if you use this module only.
- OpenERP module - report_aeroo_ooo
(Do not install at this point! Installation is described in section report_aeroo_ooo installation)
Description of module: This is module for adding additional reports outputs such as .pdf, .doc, .xls. As it depends on OpenOffice/LibreOffice conversion capabilities, an OpenOffice/LibreOffice UNO environment setup is necessary.
- OpenERP module - report_aeroo_printscreen
Description of module: This is module for printing any GTK client interface object to desired output. Note: It doesn‘t work from web client, cause it has no Print Screen capabilities.
- OpenERP module - report_aeroo_sample
Description of module: This is module for adding sample reports for easier understanding basic reporting templates.
4.Restart OpenERP server.
If everything went well, system is ready for reports printing basic .odt reports.
OpenERP module - report_aeroo_ooo - module installation.
This module depends on correct OpenOffice/LibreOffice UNO runtime setup on installation server machine and local or remote running OpenOffice/LibreOffice service in headless mode, if you plan to do conversion via TCP/IP network on dedicated reporting server.
OpenOffice/LibreOffice UNO environment setup.
Setup an OpenOffice/LibreOffice UNO environment, it is done by simply installing of OpenOffice and python-openoffice packages.
Note: These dependencies are required only for support of additional report output formats like PDF:
- openoffice.org-base
- openoffice.org-calc (required)
- openoffice.org-core (required)
- openoffice.org-draw
- openoffice.org-graphicfilter
- openoffice.org-headless (required)
- openoffice.org-impress
- openoffice.org-sdk
- openoffice.org-testtools
- openoffice.org-ure
- openoffice.org-writer (required)
Note: To avoid problems of dependencies we recommend to installation full OpenOffice/LibreOffice meta package on both- target system and remote system if necessary.
Note: Headless OpenOffice below version 3.x. requires package – OpenOffice Headless. Package permits OpenOffice to launch in service mode. If you have OpenOffice 3.x or above, then you don‘t need to install this package, because in versions 3.x or above OpenOffice Headless is already implemented.
If you get an error message like this:
/usr/lib64/openoffice.org/program/soffice.bin X11 error: Can‘t open display: Set DISPLAY environment variable, use -display option or check permissions of your X-Server (See "man X" resp. "man xhost" for details)
...when starting OpenOffice in shell with "-headless" switch - it means that package openoffice-headless is not installed.
Testing OpenOffice headless mode.
To test if OpenOffice is correctly set up, go to OpenOffice installation directory and launch it in headless mode.
# ./soffice -nologo -nofirststartwizard -headless -norestore -invisible "-accept=socket,host=localhost,port=8100,tcpNoDelay=1;urp;" &
Then test with telnet:
# telnet localhost 8100
If you get something like this:
Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is ‘^]‘. `ø‘com.sun.star.bridge.XProtocolPropertiesUrpProtocolPropertiesÜZī?kÎ@ëÚøBE^[[?6c
...then OpenOffice is up and listening to port 8100.
Note: In order to use uno module included in OpenOffice, your OpenOffice distribution must be compiled for the same version of python than you use for Open ERP server!
Installing and configuring report_aeroo_ooo module
Install report_aeroo_ooo module via OpenERP standard module installation interface.
Restart OpenERP server.
Note: Make sure you made correct UNO environment setup, if you get an error - “importError: No module named pyuno, when installing report_aeroo_ooo module or restarting server.
Configure connection parameters to OpenOffice.org service
Administration->Customization->Aeroo Reports->Configure OpenOffice.org connection
- Open wizard;
- Fill in your custom values;
- Save;
On success you should receive message:"Connection to the OpenOffice.org instance was successfully established and PDF convertion is working."
If it fails with error :
Connection to OpenOffice.org instance was not established or convertion to PDF unsuccessful! It was unable to connect to OpenOffice.org or OpenOffice.org was unable to perform PDF conversion.
Your setup of Aeroo Reporting in OpenERP is complete.