Knowledge Base (Display) Knowledge Base (Display)

Report parameters in friendly URLs

URL report parameters (V3.0)

From version 3.0 we can send report parameters through friendly URL links: this allows to cumulate benefits of restful parameters and portlet parameters

Please note accessing URL parameters is not supported by official JSR Portlet specifications, currently it has been implemented for Liferay portals only.

 

Demonstration

Using this feature, we can create a link to specific data of a report from any document (including PDF) or from any html fragment such a blog, a forum or an article. For example, this link is setting the value of "Year" parameter: Economic report - Year 2010

We can of course set multiple report parameters in a same URL. Here we send both year and viewType parameters: Economic charts 2011

Priority order

URL parameters have priority on portlet preferences and portlet sessions. The priority order used to evaluate a report parameter is:

  1. Regular portlet parameter (dialog parameter, external parameter, event IPC) (if not secured)
  2. URL parameter  (if not secured)
  3. Portlet session
  4. Portlet preference  (if not secured)
  5. BIRT default value

Prefix

In a portal context URLs might contain many unexpected parameters, this is why it looks more reasonable to prefix report parameters in a friendly-URL.

  • By default this prefix is: birt_
  • Example: if a report has a BIRT parameter named "Year" we can set its value through URL using "birt_Year":

www.mydomain.com/myFriendlyURL?birt_Year=2010

Nevertheless you can leave this property blank in reportlet.properties if you don't want a prefix: 

parameter.url.prefix=

Easy loading tests

This was actually one of the major factor of this new feature: taking advantage of URL report parameters make loading tests much easier to design. For example, we can setup 25 fictive session users running continuously every 10 seconds a reporting action from a predefined list of friendly-URLs, and set random parameter values in URL.

This simple scenario emulates 9000 reports generated per hour. 

Limitation

This feature perfectly mimics the behavior of a restful application and will be very useful in many situations. However, remember usually portlets don't directly work with URL parameters and it has currently a significant limitation: if a  same user runs simultaneously several links pointing to a same page, then URL report parameters might be mixed in his portal session. Most of the time values of the first URL clicked would override other simultaneous actions, and they would finally return a same BIRT output.

Please take this into consideration if you plan to take advantage of URL report parameters: this feature is perfect for loading tests and to provide a link to a report in a forum, a document, an article etc. but not to provide a list of links pointing to a same friendly portal URL.

Average (0 Votes)