This project provides a system that integrates OpenERP with the Pentaho reporting system. End users of OpenERP can design reports using Pentaho report designer v5.0, and install/access them from inside the OpenERP interface.
- Support for OpenERP 6.1 and 7.0.
- OpenERP data can be accessed via SQL, objects, custom python procedures, or via "Pentaho Data Integration" tools.
- Report parameters specified in the designer are automatically prompted for when the report is run from OpenERP.
- Parameters can be generated dynamically from various data sources.
Pentaho Report designer is the software separate from this project that is used to design the report templates. You can download the designer here.
We have prepared a number of instructional videos for the designer here. Keep in mind that while these videos are for version 3.9 of the designer, they are still applicable.
At the time of writing, this project was working with version 3.9.1 of the Pentaho report designer, however this version is no longer supported and may stop working at any time. If you wish to use version 3.9.1, please follow the instructions to install the required plugin for the report designer.
Version 5.0 is the latest version of the report designer, and does not require the above steps, as it comes bundled with all required plugins (data sources etc).
This project encompasses two separate components:
This is a Java web application that can be deployed in a suitable container such as Apache Tomcat. This component does the actual rendering of the reports based upon the definitions created in the Pentaho Report Designer, which is separate from this project. The Java Server communicates with OpenERP to retrieve the required data, and works with the OpenERP module (described below) to prompt the user for any required parameters, and provide selections for these parameters.
The other component in this project is the OpenERP Module. This module allows OpenERP to communicate with the Java Server to render reports created with the Report Designer. For a more detailed explanation, look at the description of the module in OpenERP, or here.
Reports can be designed and created using the Pentaho Report Designer (which is software that is separate from this project).
The report server needs to be installed and running. The quickest and easiest way is to download and use a pre-built .war file from here. This file will be rebuilt and updated on a semi-regular basis, but if the absolute latest version is required, you will have to build it yourself following the instructions below.
The report server needs an application container such as Apache Tomcat for it to run in. Installation and deployment on Tomcat or any other application container is beyond the scope of this document, however the Tomcat website has very detailed documentation on how to do so.
The OpenERP module needs to be installed and configured, as explained here.
Finally, you will need to deploy your reports. Instructions for doing this can be found in the module description under the "Report Actions" heading.
To build the Java server component, a suitable Java Development Kit needs to be installed.
Also needed are Apache Ant and Apache Ivy. Ant is the build system, and Ivy downloads all of the dependencies required.
To build the project execute:
$ cd <extracted_path>/java_server
$ ant
Two files will be generated in the 'dist' directory. The first file, 'pentaho-reports-for-openerp.war', can be deployed using a servlet engine such as Tomcat. The second file, 'pentaho-reports-for-openerp.jar', is used when running the built in standalone test server.
The standalone test server running on port 8090 can be started after a successful build using the following command:
$ ant launch
For production deployment, however, it is recommended that the server be hosted in an application container. Instructions on how to deploy the war file on Tomcat can be found here.
This module is installed like any other OpenERP module. Briefly:
- Place the 'openerp_addon' folder on the filesystem, somewhere that is accessible to the OpenERP server.
- Update 'openerp-server.conf' file, and include the full path to this folder on the 'addons_path' line.
- Restart OpenERP and log in as a user with administrator rights.
- Go to Settings -> Update Modules List and click Update.
- Go to Settings -> Installed Modules, remove the 'Installed Modules' filter and search for 'pentaho'.
- Install the 'Pentaho reports for OpenERP' module.
After installation, the module still needs to be configured. Refer to the module description for detailed instructions on how to do this.
The description of the OpenERP module contains an overview of creating report actions, as well as defining and using report parameters.
When generating a Pentaho report at the same time as parsing the email template, OpenERP might raise the following exception:
TransactionRollbackError: could not serialize access due to concurrent update
The OpenERP module 'willow_pentaho_email_patch' works around this issue. However, it is not a perfect solution to the problem and we are open to suggestions and pull requests.
This project was developed by Willow IT, using the libraries and extensions developed by De Bortoli Wines, Australia (Pieter van der Merwe in particular) for the Pentaho reporting system. The OpenERP addon also derives from and/or is inspired by the Jasper Reports addon developed by NaN-tic.
Willow IT contributions:
- Deepak Seshadri - OpenERP-Pentaho server connector (Java)
- Richard deMeester - frontend and core functions, automated wizard and action implementation, documentation and videos
- Douglas Parker - additional integration
- Jon Wilson - inspiration, testing, and whipping
- Thomas Cook - documentation
This project has been developed over time to meet specific requirements as we have needed to meet them. If something is wrong, or you have suggestions, please contribute via the git issues tab, or let us know at:
We will be endeavouring to create a library of sample and useful reports. Check at http:www.willowit.com.au where we will announce when and where this is available. In the meantime, if you develop any reports or templates that you would consider worth sharing, please email them through with some description or details.