Knowledge Base (Display) Knowledge Base (Display)

Release notes 0.9.4

BIRT Engine

The new 4.2 Birt engine is embedded, instead of the 3.7.2 engine in v0.9.3. You can discover new notable features implemented on "Donuts" charts, Excel datasource, derived measures, enhanced aggregate filter, etc.

Parameters window size

In preferences mode, the parameters window size can now be customized. Some projects only need one or two small parameters such a date range or an invoice number, and it is not very ergonomic to display a huge dialog window. The option is controled in the same section as drill-through window size. This section has therefore been renamed (though you can of course customize all labels in localization properties files).

Note the sliders widgets are now displayed in a more compact manner, on the  same line as the input field.

Client-side localization

some client-side messages are not localized in v0.9.3, particularly:
  • The parameters validator error messages
  • The 'request cancelled' message

It is fixed in 0.9.4. Note this screenshot both illustrates the client-side localization and the parameters window size feature described above.

List & metadata caches

In ehcache.xml, these caches are set up as "eternal", wich means they never expire. If you change this and define an expiration time, in 0.9.3  you may sometimes encounter a null exception (the first call after a cache element has expired). It is fixed in 0.9.4.

Gatein 3.3 final release

  • The reportlet has been successfully tested on the new Gatein 3.3 release. In this version, an important issue has been fixed related to the portlet 286 headers. In the previous releases, when a reportlet was dragged on a new portal page, then the first run failed: it required a page refresh to work correctly. It is fixed on this new Gatein version.
  • In v0.9.3, a few reportlet issues prevent it to work with the Gatein-JBoss7 bundle . they are all fixed in v0.9.4
  • Though the JBoss7 Bundle has still a critical issue for using the reportlet (GTNPORTAL-2466). Fortunately, pending it is fixed the Gatein team gave a nice workaround, explained in the 'Install on Gatein JBoss7' knowledge base article.

Liferay - Application context name

  • In the liferay-plugin-package.xml, the context name 'VisioneoReporting' has been replaced by 'visioneo-reportlet'. Obviously this modification is not very exciting, but it had to be done before the v1.0. 'VisioneoReporting' was an old context name, and not consistent anymore with the whole site communication.
  • The context name is used by the portal as an ID, to match the portlet windows with an application. Therefore, if you used the 'VisioneoReporting' context name in your Liferay portal and then deploy the v0.9.4 as it is, Liferay won't recognize the existing reportlet windows defined in your pages. There are 3 options:
    • Modify the liferay-plugin-package.xml to set the context name you want
    • Delete existing reportlet windows in portal pages, and replace them with the new v0.9.4 reportlet
    • Liferay user interface allows you to manually set the context name when a plugin is installed. You can then keep using the former 'VisioneoReporting' name. Curiously this handling works for Liferay 5.x and 6.0.x , but not for Liferay 6.1.x. With 6.1.x, a context name set in liferay-plugin-package.xml overrides your custom context name. Since Liferay 6.1.x is currently not recommended for production environments it should not be a problem. However if you use this version, choose one of the two previous suggestions instead.

This context name should never change anymore.

Excel native format

In v0.9.4, a new option takes advantage of the native emitter Excel plugin, to be able to export in a binary Excel format.

Compared to the default Excel XML export, there are many advantages:

  • It is a native .xls format instead of an xml file, therefore there is no warning when a user opens it on MS-Excel
  • It can be opened both in MS-Excel,  Excel viewer, OpenOffice & LibreOffice (when Excel XML can only be opened on MS-Excel)
  • Certain features such nested tables are managed in a more properly manner. Some exports won't even be able to be opened with the Excel XML format, and perfectly work with this native format
  • The output file is smaller
  • It is possible to export in multiple excel sheets (one sheet per page). As you can see on the above screen a checkbox allows to control this option.
  • Reports images (charts & static images) are embedded, whereas they are removed by the Excel XML format. Images may be a little bit stretched, anyway you can resize them directly in Excel / Open & Libre Office. Here is below a screenshot of a report mixing charts and cross-tables, exported with the native Excel format and opened with LibreOffice.

A drawback is that generation time is sometimes slower than Excel XML export. If it is run on complex reports it may be a problem.  You should carefully qualify your existing BIRT reports with this export format.

Note it was planned to include the .xlsx format (Excel 2007-2010) as well, but currently this format has been disabled. 

Rendering cache & Exported files

Sometimes for large reports, even if a Birt document is already in cache, exporting in Pdf, Excel or any format may result in a long generation time. In v0.9.3, the rendering cache is only used to render html format. In v0.9.4 it is extended to all formats (Pdf, Excel, Open Office,...)! This major feature has two benefits:

  • If a report is long to be exported in a specific format, this is only damaging the first time it is requested. Next exports in this format will be available in a sub-second time for all users. You won't believe how fast your cached exports are in this new release! 
  • Simultaneous identical exports are synchronized. It works exactly like the document cache, for example:
    • A user runs and cancels a large Excel export several times in a row
    • Several users run the same large export request nearly at the same time
The engine is now synchronizing simultaneous export requests: only the first one is processed by the Birt Engine, the next requests get directly the result from the rendering cache!

Excel, Word, Open & Libre Office documents are compressed in memory before being cached. Though, caching  these exported documents increases significantly the average rendering entry size. {Therefore from this release, the ehcache properties "maxElemenstInMemory" and "maxElementsOnDisk" are not precised enough, they are not used anymore in the default ehcache.xml file. These properties are replaced by "maxBytesLocalHeap" and "maxBytesLocalDisk". You can of course set the values you want, depending on the size of your JVM heap memory}. => this modification has finally been abandoned, "maxElements" properties are still used.

Note in v0.9.4, the max "sleeping time" for requests waiting for the end of a previous synchronized  report generation has been increased from 60 seconds to 120 seconds. If this limit is exceeded, an exception is thrown such:

Error when processing the export resource: report <report name> Lock timeout. Waited more than 120000ms to acquire lock for key.

SVG format

In v0.9.3, when the preferences mode is used to enable SVG format, charts already cached are not affected. It is fixed in v0.9.4

Word export

In v0.9.3, Word exports ignore page breaks set up in Birt reports. It is fixed in v0.9.4

Non-string parameters with a null default value

In v0.9.3, when a non-string parameter (integer, date, ...)  is defined with a null default value in your Birt report design, in many situations an exception is thrown and the report is not generated. It is fixed in 0.9.4.

This is a great news, it should resolve most Birt issues currently reported!

Date, Datetime, Time parameters format

In v0.9.3, when you apply the "displayText" method on a date report parameter, it is displayed in a technical manner. For example, if you  utilize in an expression:

params["myDateParameter"].displayText ,displayed value will be in this form: YYYY-mm-DD.

It is fixed in v0.9.4, using a localized display short format. For example in french: DD/mm/YYYY, in english: mm/DD/YYYY, etc.   In a similar manner, DateTime and Time parameters displayed values are improved too.

Report centering

In v0.9.4, when your report does not fill the whole reportlet window, it is now correctly centered in this window.

Autosuggest widget

You can see this widget in action in 'Sales breakdown chart' demo parameters. In v0.9.4 it is now multi-line and dynamically resizable, which is very useful for multi-selections. Unlike other multi-select widgets, it keeps your selection order intact. You may take advantage of this in your Birt reports, for example to prepare an ordered round of customers.

Parameters group name issue

In v0.9.3, if a group display name is not filled in your Birt report, a null exception is displayed in the parameters dialog. Fixed in v0.9.4, the group name is used instead, when this display name is blank or null.

Multiselect combobox

In live demo, this widget appears in the first group of 'welcome' report parameters. In v0.9.3, there is a bug with Firefox: users cannot check any option. It is fixed in v0.9.4.  

Ajax Inter-portlet communication

Although the Professional Edition is not yet available, an amazing top feature of this release is already in demo! Visit Inter-portlet communication section to see client-side eventing in action!  Community Edition v0.9.4 allows to test if your ajax events are correctly recognized. See the knowledge base article "Ajax inter-portlet communication" for more informations.

If you wonder what are the differences between Community & Professional Editions, currently the answer is simple: this client-side ajax eventing is the only one. In the future, most new features will be developped for Community Edition. The purpose of this commercial edition will be to finance Community Edition developpement, and an appropriate balance must be progressively found between these two versions. A knowledge base article related to the features roadmap should be soonly available.

Toolbar admin option

  • In tab 'initialization', loaded value of the 'patterBlackList' parameter is now correctly displayed. This parameter is used to protect your reportlet against potential SQL injection attack.Note it was only a display issue. Furthermore, in v0.9.4 this blacklist has been complemented by new potentially dangerous characters.
  • In tab "initialization", categories "non instanceable" and "instanceable" are updated in v0.9.4. See the knowledge base article "Declare multiple reportlet engines" to understand what this "instanceable" property means.

  • In tab "System", you are now informed if your reportlet currently runs on a 32 bits or a 64 bits Java Virtual Machine. Obviously you should already know this but that  information is sometimes difficult to find out, and may be useful for troubleshooting when you report an issue.

Knowledge base

A tag navigation portlet has been added on the page to make the knowledge base much easier and more pleasant to use.

New interesting articles have been added:

  • Loading tests results
  • Document & rendering caches management. If you plan to use the reportlet in your project, you should read it carefully.
  • How to add reports & subfolders
  • How to modify reportlet styles
  • How to embed your own theme
  • How to automatically adjust charts size
  • Getting started with Inter-Portlet Communication (IPC)
  • Declare multiple reportlet engines
  • Report data volume

Report samples

New samples have been added to the v0.9.4 distribution and the live demo:

Code optimization

The code is progressively enhanced  and optimized throughout the beta phase, to make it as efficient and maintainable as possible.           

Tags: release notes
Average (2 Votes)
Most Recent
Release notes v3.2 24 November 2015
Release notes v3.1 26 September 2015
Release notes v2.2 19 August 2015
Release notes v1.4.1 06 December 2013
Release notes v1.4.0 03 December 2013
Release notes v1.3.0 13 October 2013
Release notes v2.0 26 September 2013
Release notes v2.1 01 August 2013