View source | View content page | Page history | Printable version   

Projects:Upgrade Jasper Libraries/Functional&Technical Specifications



The objective of this project is the upgrade of the JasperReports library which is used within Openbravo for report generation.

Functional requirements

Jaspersoft Studio

As of version 5.5.0, Jaspersoft Studio is the official design client for JasperReports. iReport will remain as a supported product in maintenance-only mode until December 31, 2015.

With this project, the JasperReports library is being upgraded to version 6.0.0. For this reason, the Jaspersoft Studio is going to be the supported and recommended design client to work with Openbravo reports. The recommended version is 6.0.0. It can be downloaded from here.

New Features

Apart from the ability to use the new design client, several new features are included inside the new version, that will be available and ready to use in Openbravo.

Technical requirements

The technical requirement of this project is to get up-to-date report designs, in accordance with the current JasperReports schema.

For the already existing reports, it will be necessary to update its definition by replacing or updating the obsolete report elements being currently used. I should be check if the new java classes provided by the JasperReports API have changed (See the API Change number PR15Q3.3).

JasperReports distribution provides some utility tasks that will be used in order to update all the standard .jrxml and .jasper report definition automatically. An update sample task can be found here.

On the other hand, the new JasperReport library includes a dependency with the iText library, version 5.5.0. The version used in Openbravo until now is 2.1.7 so this library should be upgraded too. Due to this change, the following should be noted:

The code will be reviewed and modified to ensure that the license terms are fullfilled. This results in a public API change reported here (number PR15Q3.4).

Along with this library, two new libraries are required to be included in the distribution

Finally, the published modules should be reviewed in order to check how they are affected by this new library changes. In particular, the following modules are affected:

A new version of each one of them should be published, adapting the code if required, removing the duplicated libraries and a new dependecy with core should be established for each one of them.

Performance Requirements

The only performance requirement of this project is just to make the library upgrade transparent in terms of report rendering time, i.e., after the library upgrade the time spent to render the reports should be, at least, equal to the time spent before the upgrade.

Retrieved from ""

This page has been accessed 4,281 times. This page was last modified on 28 July 2015, at 06:50. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.