Knowledge Base (Display) Knowledge Base (Display)

 

Release notes v3.2

Among many improvements, version 3.2 is introducing two major UI components: a pagination portlet and a great toolbar portlet. For a better integration in portal themes, jQuery UI is progressively replaced with alloyUI. But the most important enhancement is the ability to manage BIRT resources (libraries, images, localization files, shared scripts etc.) through native 'document & media' folders!

            

Turn your portal into a complete reporting platform!

 

Overview

 

AlloyUI Toolbar portlet

Visioneo now includes an amazing alloyUI toolbar widget!

  • Cross-browser: this toolbar is perfect on desktop & mobile devices
  • Responsive: the orientation is switched from horizontal to vertical layout  depending on screen resolution
  • Supports automatically your portal theme. For example the picture below shows how it is rendered with the default theme of Liferay 7.
  • Ergonomic export: available documents pop just below the toolbar (see 'Download' link in the picture), whereas in older versions users had to scroll in the report window to access document links

 

 

  • Select toolbar actions for each portlet window through simple preferences!

 

 

Combined with the pagination portlet described in next section, this component is intended to replace the embedded toolbar popping at the top left corner: you might notice it is now disabled in many page samples of the gallery

The embedded toolbar is of course still available if you want to use it, but it had a couple of drawbacks:

  • It was not performing well enough with mobile devices
  • It dit not take advantage of the portal theme.
  • It sometimes prevents from clicking hyperlinks at the top left corner of reports
  • The new toolbar is much easier to customize because it is a separate portlet: it ships with its own javascript and css resources referenced in liferay-portlet.xml. 

 

This is still enabled by default but we can remove it in one click in portlet preferences:

 

A new superb pagination portlet is natively included!

See it in action with a BIRT report having 1300 pages

 

  • It can be dragged from the control panel of your portal onto the page body. This allows to design flexible page layouts: we can arrange the pagination above, below or beside a report window!

 

  • Simple but useful portlet preferences

 

  • This component is automatically using your portal theme! For instance here is below what it looks like with the default theme of Liferay 7. In this example, notice we take advantage of a fluid 1-2-1 page layout to arrange side by side the toolbar portlet and the pagination portlet. 

 

 

BIRT resources in 'Document & Media'  Professional Edition

Here is the huge enhancement of Visioneo PE: now BIRT resources can be natively managed through "Document & Media" portlets of your portal!

Of course in previous versions, using 'Document & Media' folders was already possible for report-designs (.rptdesign). Version 3.2 is extending this ability to any resource used by your BIRT reports:

  • BIRT libraries (.rptlibrary) 
  • Shared javascript files (.js)
  • Background images (.jpg recommended)
  • Java libraries (.jar)
  • Translation files (.properties)
  • Etc..
Gone are the days when deploying BIRT resources was a headache!  No more time wasted: we publish, update and remove resources at any time through the native portal UI and we take advantage of powerful document management abilities of the portal such:
  • Access permissions based on user role and / or site membership
  • Versioning
    • a new version is automatically created when we edit a resource
    • rollback in one click to a previous version
  • TeamWorking
  • Workflow

How to setup a resource path?

We can dynamically setup a resource path just by clicking a button!  In Visioneo repository, a select action is available just next to the "BIRT Resource path" input:

Clicking this button allows to choose a Document & media folder as a resource path:

 

We can setup a different 'resource path' for each site of the portal! Although the site-based approach for resources was already available in version 3.1 with file system folders, it is actually meaningful with document & media folders: logged as admin we just need to click "Content->Document & Media" from a site as shown below to manage BIRT reports & resources of this site!

 

     >>    

  • Using 'document & media' folders is facultative: if you prefer to keep using a file system path for one specific site or for all sites, then just set an absolute URI in the repository portlet. 
  • If you upgrade from a previous version, by default the repository portlet will of course use the former "Resource path" settings, allowing to migrate smoothly BIRT resources to a 'Document & Media' folder later if you plan to do so. 

AlloyUI tooltips

jQuery UI tooltips have been replaced with elegant AlloyUI tooltips. 
  • This component is perfect both for desktop and touch devices
  • It makes use of your existing portal theme
  • AlloyUI tooltips are easier to manage, especially to control the stack order

 

Better UI dialogs management  

UI dialogs have been improved for tablet devices. 

Visioneo dialogs already performed very well in previous versions both with Android and older Apple IOS, but a couple of minor issues have appeared starting from IOS8: they are addressed in Visioneo 3.2! 

  • Now both drillthrough and parameter dialogs are always maximized in portrait orientation
  • Better support for IOS8 and later (IPads/IPhones)
    • Scroll in drillthrough windows with touch events
    • Parameter windows is correctly centered, and it always pops up at the top of the page
  • A disgraceful vertical scrollbar was sometimes appearing during parameters loading, this is fixed
Javascript issue fixed in drillthrough windows
  • A javascript issue was occuring in rare circumstances (hyperlink without "href" attribute in BIRT report content), disabling "Back to previous report" and "Fast print" options of drillthrough dialog.

Delayed loading fragments

In this new version the loading fragment is not immediately displayed on user actions, there is a short delay before we see "Loading" and "Rendering" steps.

Thus when a report is rendered very fastly end-users won't even notice there has been a server request, leading to a more pleasant user experience.  For instance most of the time the page navigation of this report should not trigger the loading fragment, although it depends on many factors (the latency of your internet connection, your location,  how busy the server is etc.) . Similarly when a report has been recently rendered and is cached, most of the time users should not see the loading fragment.   

The default delay is set to 650ms, it can be customized in a JSP page: see "data-visio-delay" attribute in visioneoPortlet_loadview.jsp.

Direct link to portlet preferences

If no report has been selected in a portlet window, a button offers a direct link to edit preferences

Of course the common way to edit preferences is still to click the top-right corner icon of the portlet window, but this new button is more convenient especially for new users and tablet users: we can't miss it!

Portlet preferences theme

In Liferay, preferences of visioneo portlet now take advantage of your portal theme:

 

In non-Liferay portals, jQuery UI theme is still used for preferences but it is much more discrete than it was with previous versions. For example here is how it renders in Gatein:

 

Callback API on export

'doExport' method supports a callback function as third argument

visioneoManagerIPC.doExport(format,namespace, callback);

This callback function receives an event with a status and the URL of the requested document. Here is a concrete example:

visioneoManagerIPC.doExport('PDF','', function(event){
  //do stuff with event.url and event.status
  //For example load the document in a 'Document & media' folder of your portal, attach it to a mail etc...
});

A such mechanism offers many possibilities in your custom portlets! By default the URL returned is valid 15 minutes before being cleaned by the engine. This delay is more than enough to do anything we like with documents in this callback function. It can be customized if necessary with property cleartask.maxoldtime in reportlet.properties.

Better performances

In terms of report generation time, the most impressive enhancements had already been embedded in version 3.1. However Visioneo 3.2 comes with further optimizations which should significantly improve performances. This version can fit to any context having a large number of reporting-users, as long as BIRT reports are well designed.

 

Important reminders related to performances

 

The sample page below has multiple report windows. As you can see by yourself, the generation time is stable in a parallel context because each reporting request is processed in a separate task. These tasks are smartly balanced across processor cores by the application server.

 

 

A "well designed" report is a very subjective assertion. At least keep in mind these fundamental principles:

  • Always use a connection pool to access a database from BIRT datasources. 
  • Use wisely report parameters to extract a reasonable dataset size. Most of performance troubles happen when data filters are applied inside the report, whereas they should be applied in the dataset query. Please visit report data volume article for more informations. 
  • Have a strict quality insurance control on new reports. As you can see with most of live samples, with Visioneo 3.2 a BIRT report requiring a generation time longer than 1 - 2 seconds (except for the first execution) should probably be optimized.
  • Long generation time can happen with large reports, in particular those containing many charts but they should be exceptions. For instance, export-actions of this example (76 charts on 19 pages) last from 6 to 15 seconds when they are not cached. For such reports here are a couple of suggestions:
    • Limit the population of users having access to large reports
    • Limit the number of report parameters of large reports, and enable the cache in portlet preferences (see "Use reports cache" in screen below): the less report parameters we have, the more likely cache entries will be hit. This is always a matter of compromise, but for instance with such synthesis reports we would typically have two parameters:
      • a period-based parameter (month, week,..)
      • a 'geography' parameter (country, region, agency,...)

Visioneo cache management is based on the leading java framework ehcache, it is extremely robust and efficient

 

Security 

  • Security improved for requests in portals running without a security manager.
  • If your portal has a security manager enabled (PACL in Liferay) this enhancement is pointless: portlets are already 100% secured with PACL

New report-designs

Report-design samples have been included or updated

Community & Professional Edition

  • 'Interactivity impact' is included: it was announced in v3.1 but the report-design was missing in the package.
  • 'City performance' is updated (optimized for Excel and responsive layout)
  • 'Cascading parameter' is updated (optimized for Excel and responsive layout)
  • Lighter themes  in visioneo-commons.rptlibrary (lightness, dark, ocean, country: background images are removed)

Professional Edition

  • Interactive table sample is included in Visioneo PE 3.2! This report is based on classic models sample and does not have any resource dependency: it will work as it is in your own BIRT Eclipse designer 4.5. If you need this sample, feel free to get a 30-day-trial to be able to download visioneo PE and locate visioneo-interactive-table.rptdesign within. By the way you will be able to appreciate the fantastic repository management of the professional edition!

Minor fixes & enhancements

  • Cache key fixed for recursive drill in new window
  • CSS separator removed for list parameters, numeric parameters and text parameters
  • Help icons (in parameters dialog and external parameters): jQuery UI icons have been replaced with AlloyUI icons 
  • JS console object more robust: some JS plugins define a custom javascript console without implementing all methods usually offered. Visioneo portlets are now protected against this error case. 
  • Now all portlets have their own separate localization properties file under <visioneo root>/WEB-INF/classes/org/visioneo/localization. This implies few redundancies across translation files but it is cleaner, easier to customize and easier to maintain.
  • Etc.

Liferay 7

Intensive tests have already been run with Liferay 7 alpha: Visioneo portlets work like a charm! 

 

Visioneo packages uploaded to Liferay Marketplace are optimized for Liferay 6.2+ CE & EE. Obviously, Liferay 7 is not officially supported since at the time of writing this article it is still in alpha 2 version.

If you want to try visioneo 3.2 with an early Liferay 7 portal you just need to add it as a supported version in this file: <visioneo app>/WEB-INF/liferay-plugin-package.properties

liferay-versions=6.2.0+,6.2.10+,7.0.0+

Tags: release notes
Average (0 Votes)
Most Recent
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