Knowledge Base (Display) Knowledge Base (Display)

Release notes 0.9.2

 In this release a huge work is done related to the robustness, the security and the exceptions management. 

JBoss 7 Application Server

  • The 0.9.1 release already supported JBoss 4, 5, 6 Application Server. The 0.9.2 release now supports the awesome JBoss 7 as well !  

Inter-portlet communication 

  • In 0.9.1, it was already possible to send the report parameters through an external portlet event. For example, to send the year, office and products parameters to your reports, use this string in an event:  year=2011&office=paris&products=PR02345,PR984343   In 0.9.2, it is now possible to send the report as well: __report=visio-chart-radar&year=2011&office=paris&products=PR02345,PR984343    The engine will look for the visio-chart-radar.rptdesign file in your reports hierarchy, and display it in the reportlet window with the query parameters received. The new report is then persistent for further requests, exactly like if it was selected with the toolbar ajax report browser.
However, please note that sending the __report parameter in an event only makes sense if you use one single reportlet window on your portal page.
  • The 0.9.1 release has an issue with IPC: the Ajax URL mix the portlet render parameters received from an event, and the dialog/drillthrough parameters values. In some situations it leads to unexpected behaviours, if you use at the same time an external parameters portlet and the dialog parameters / a drillthrough action. It is fixed in 0.9.2.

Birt report design errors

  • In the 0.9.1 release, if one of the birt reports design available is not valid, the whole engine reports list is not filled and the reportlet won't work. It is fixed in 0.9.2: whatever the errors in the report designs, the valid reports will still work and the wrong rptdesigns are smartly highlighted in the ajax report browser, such in the screen below.

Session optimization

  • The portlet session has been simplified and reduced, for robustness and scalability considerations, and to prepare the clustering mode.
  • In some  very specific situations, a null exception happened when the portal page layout was modified, due to the session management. it is fixed in 0.9.2

Components updates

  • To fix issues related to the diskstore cache feature, the ehcache core has been updated to the latest 2.5.2 release.

Client-side fixes

  • The default report thumbnail triggers an infinite loop in the web browser when the reportlet server is shutdowned, due to the html "onerror" attribute. It is fixed in 0.9.2.
  • An error message is displayed in the web browser console when a report does not have a valid thumbnail, even if the default thumbnail is displayed. It is fixed in 0.9.2
  • The client-side javascript logs much more messages in the console, to easily pinpoint the precise cause of possible issues. This logging can of course still be turned on/off for each reportlet window, using the preferences mode (default is off).

Toolbar display for touchepad

  • In 0.9.1, the popup toolbar is displayed when the mouse enters in the reportlet window. This event can be difficult to trigger on touchpad devices, therefore in 0.9.2 double-click somewhere in the reportlet window displays the toolbar as well.

Drill-through toolbar

  • In the 0.9.1 release, only the "Back" option is available in the drillthrough toolbar. The 0.9.2 adds the "Fast print" and the "Hide toolbar" option.
  • The drill-through toolbar now uses the same object class as the main reportlet toolbar, and therefore has the same behaviour: it is automatically hidden when you move the mouse out of the drill window, and shown when the mouse reenters in this window.
  • If you use this new "Hide toolbar" option, the drillthrough toolbar remains hidden even if you drill successively through several reports. To use the toolbar again, just move the mouse out of the window and reenter, or double-clik somewhere in the drill window..

Abstract ajax resource

The ajax resources establish a direct link between the client web browser and the reportlet. Since the portal is not directly involved, the security  management related to these resources is very sensitive. The 0.9.2 release implements an abstract ajax resource to harmonise the security and the exceptions handling. It makes the reportlet much more robust and secured.

  • Session

Some portals don't correctly detect if a session has expired or not for ajax requests. Therefore the reportlet ajax resources now return a smart exception message in the reportlet window, if the portal session has timed out. For instance, if you want to select a new report:

Note if your portal manages this ajax timed-out session, the portal markup will be displayed instead of the above screen. For example, with Pluto:

  • Context consistency

Each ajax resource now checks if the request context is consistent. For instance, if a browser resource is requested whereas  the "display browser"  preference is set to false, the reportlet assumes a user may try to hack the client-side interface and an exception is raised:

  • Security

All the ajax resources are uniformly checked to avoid any security issue related to a client-side interface hacking. Of course this requires to enable the "useSecurityRole" init parameter. For instance, if an admin dialog resource is requested by a not admin user:

  • Server-side exceptions

The possible unexpected exceptions display a general message and a stacktrace in the reportlet window. For instance, if the requested report design is not found by the engine:

To produce this exception, the .rptdesign file set as a report preference in the relevant reportlet window has been manually deleted, and the cache has been cleared. 

Client-side exceptions

The 0.9.2 release now displays some client-side exceptions in the user interface. The images used are preloaded to be displayed even if the server is down. For example, if a user tries to open the ajax report browser whereas the server has been shutdowned, or the network connection is off:

Note the client-side exceptions are still not localized, it is scheduled for a further release.

Configuration

  • By default, the birt document cache is not anymore disk persistent . Therefore if the application server is restarted, all the cached entries are refreshed. Modify the ehcache.xml configuration file to control this behaviour.

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 (0 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