Inter-portlet communication Inter-portlet communication

Overview

You can implement your own portlet to manage the report parameters exactly as you need, and synchronize the reportlet windows with a standard 286 event or an ajax event. As you can see in this example, thus it is possible to control several reports, even if their  parameters are heterogeneous! For instance, the crosstable above uses all the parameters sent by the external portlet, whereas the radar chart is only concerned by the year parameter. This mechanism is very flexible and powerful.

Standard portlet events

Community edition allows to synchronize your reportlet windows through standard JSR 286 portlet events. See the knowledge base article "Inter-portlet communication" for more informations. This is a great feature, however as you can see in this demo when you click on the "event" button, your portal has to refresh the page to send an event. It makes navigation less smooth as it could be with a full ajax communication, as described below. 

Ajax events

The professional edition can synchronize your reportlet windows through ajax requests, without a full page refresh! Using this feature will dramatically improve users' perception of your application

Sending an ajax event has never been easier: you just have to invoke a javascript function in your client-side portlet code (for instance in  'onClick' event of HTML buttons). No declaration, no include, no specific code or API, just invoke a function with your query string as parameter and the magic happens, whatever your portal is! For example, in this live demo example:

visioneoManagerIPC.sendEvent("Year=2009&View=1");

More informations in the knowledge base article "Ajax inter-portlet communication" .

Furthermore, as you can see the "Back to previous report" toolbar option works with ajax events, when it is reinitialized by standard portlet events.