New versions of the Servoy JasperReports Plugin released

We are pleased to announce that two new versions of the Servoy JasperReports plugin have just been made available.

Please refer to the corresponding wiki pages for details:

Regards,
Andrei

Thanks, Andrei.

For v4.0 plugin, what version of iReport should I use? 4.1.1? it’s not the latest release…

upgrade to the (currently) latest version of the Jasper Reports library, which is 4.6

The plugin include the jars of the version 4.6 of jasper

And thanks a lot for the new plugin. IS planned to upgrade this beta to the final relase?

Hi Andrei,

I see several differences in properties of the Jasper Report plugin between version 3.2.0 and 3.3.0 ! (property reportDirectory is deprecated for example) :(

Where are those changes documented ?

Regards,

juan.cristobo:
Thanks, Andrei.

For v4.0 plugin, what version of iReport should I use? 4.1.1? it’s not the latest release…

Hi Juan,

You should be able to use the latest version of iReport, 4.6.0.

Regards,
Andrei

lwjwillemsen:
Hi Andrei,

I see several differences in properties of the Jasper Report plugin between version 3.2.0 and 3.3.0 ! (property reportDirectory is deprecated for example) :(

Where are those changes documented ?

Regards,

Hi Lambert,

Please check the release notes for details on this; have missed to add this info yesterday, about the deprecations.
Added also in the code.

Regards,
Andrei

Andrei Costache:

juan.cristobo:
Thanks, Andrei.

For v4.0 plugin, what version of iReport should I use? 4.1.1? it’s not the latest release…

Hi Juan,

You should be able to use the latest version of iReport, 4.6.0.

Regards,
Andrei

Thanks. I was confused because in release notes you say that the plugin is update to work with iReport version [u]4.1.1[/u]

juan.cristobo:

Andrei Costache:

juan.cristobo:
Thanks, Andrei.

For v4.0 plugin, what version of iReport should I use? 4.1.1? it’s not the latest release…

Hi Juan,

You should be able to use the latest version of iReport, 4.6.0.

Regards,
Andrei

Thanks. I was confused because in release notes you say that the plugin is update to work with iReport version [u]4.1.1[/u]

That was just a reference to a closed issue; the comments on that issue do specify that we have updated to most recent jasper library version.
Sorry about the confusion, maybe i should have just added the issue number not the title of the case.

Regards,
Andrei

Hi Andrei,

Please check the release notes for details on this; have missed to add this info yesterday, about the deprecations.
Added also in the code.

I can’t find them in the release notes 3.3.0 or 3.3.0b…

Regards,

lwjwillemsen:
Hi Andrei,

Please check the release notes for details on this; have missed to add this info yesterday, about the deprecations.
Added also in the code.

I can’t find them in the release notes 3.3.0 or 3.3.0b…

Regards,

On the https://www.servoyforge.net/projects/se … ease_Notes page:
Issues related to „client portion of the JasperReports depends on absolute server side dirs to be set” has also been fixed – using paths relative to the server dirs now. Fixed in plugin and bean.
Do note that this fix deprecates the reportDirectory property and replaces it by the relativeReportsDirectory; also the extraDirectories property has been deprecated and is replaced by the relativeExtraDirectories property. Please refer to the sample code for more details

Hope this helps,
Andrei

Ok, Andrei, thanks.

Regards,

Hi Andrei,

what is the reason why you have switched from absolute to relative path to the report directory?

I’m in trouble to set a working path in directory.jasper.report on servoy-admin.
Do you have an example how it works if the reports folder is on a different direction and/or drive as the Servoy server? The absolut path setting should be E:\Reports\compiled\ on Windows and /Volumes/ServerData/Reports/compiled/ on Mac.

Regards

tgs:
Hi Andrei,

what is the reason why you have switched from absolute to relative path to the report directory?

I’m in trouble to set a working path in directory.jasper.report on servoy-admin.
Do you have an example how it works if the reports folder is on a different direction and/or drive as the Servoy server? The absolut path setting should be E:\Reports\compiled\ on Windows and /Volumes/ServerData/Reports/compiled/ on Mac.

Regards

Hi Thomas,

We have switched to a relative-to-the-server path because of a security concern: that absolute path setting should be private info of the server and a client should not have to deal with that, or be able to set it. Other users with plugins have already removed such info.
Therefore, now, the absolute reports directory will be a server side setting, thus configured on the server, and clients are able to set paths/directories only relative to that.

Hope this helps,
Andrei

Andrei Costache:
Therefore, now, the absolute reports directory will be a server side setting, thus configured on the server, and clients are able to set paths/directories only relative to that.

Hi Andrei,

I’m trying to understand, but I don’t.
I thought that the report is generated and displayed from the server?
For that I set the absolute path to the reports directory on the servoy-admin site. Clients don’t get this info except I made an application.output(plugins.jasperPluginRMI.reportDirectory), or?
It would be very helpful if you have an example string for a path setting in servoy-admin to the report directory on the server machine and/or on a different drive.

Regards

Hi Thomas,

Before making this setting with relative paths, on (or from) a client you could set absolute paths that would point to directories on the server. This is not ok.
So on a client you could do plugins.jasperPluginRMI.reportDirectory=“C:/path/to/reports/”, which would point to “C:/path/to/reports/” on the server; but a client should not be able to do that.

Now, on the Application Server admin page, you have the directory.jasper.report setting and here (only) you can set a full path to the reports directory; therefore on the admin page you can set the directory.jasper.report property to the value “C:/path/to/reports/”. But from a client you cannot do plugins.jasperPluginRMI.reportDirectory=“D:/another/path” anymore. You can do plugins.jasperPluginRMI.relativeReportsDirectory=“/subpath/in/reports”, which will actually mean the client looks for reports in “C:/path/to/reports/subpath/in/reports”, so it follows a relative-to-the-server-setting path. You won’t be able to set absolute paths now from a client. If you don’t set the relativeReportsDirectory to anything, it will by default look just in the server side set path.

I hope my current answer is more clear than my previous one :).

Regards,
Andrei

Hi Andrei,

thank you for your detailed answer and discription! This makes it now clear and the jasperreport plugin 4.0.0b1 with iReport 4.6.0 reports is running well in my debug client.

One more question about the commons-beanutils-1.8.0.jar in the servoy_jasperreports folder:
Are there any differences and maybe bad issues if I take the commons-beanutils-1.8.2.jar from the iReport content?

Regards

Andrei Costache:

Now, on the Application Server admin page, you have the directory.jasper.report setting and here (only) you can set a full path to the reports directory; therefore on the admin page you can set the directory.jasper.report property to the value “C:/path/to/reports/”. But from a client you cannot do plugins.jasperPluginRMI.reportDirectory=“D:/another/path” anymore. You can do plugins.jasperPluginRMI.relativeReportsDirectory=“/subpath/in/reports”, which will actually mean the client looks for reports in “C:/path/to/reports/subpath/in/reports”, so it follows a relative-to-the-server-setting path. You won’t be able to set absolute paths now from a client. If you don’t set the relativeReportsDirectory to anything, it will by default look just in the server side set path.

So we have to set an absolute path in the admin pages of the application server, this is a problem for us. We are installing the application server on servers of our customers. We don’t want to manually set this property (and create the directory and test for read/write the directory) at every installation. Therefor in our solution we are now forcing the report-path to a directory relative to the application-server-dir. Wouldn’t it be nice if we could use something like $APPLICATION_SERVER_DIR in the directory.jasper.report property?

tgs:
Hi Andrei,

One more question about the commons-beanutils-1.8.0.jar in the servoy_jasperreports folder:
Are there any differences and maybe bad issues if I take the commons-beanutils-1.8.2.jar from the iReport content?

Regards

Thomas,

Version 1.8.2 of commons-beanutils does contain differences from 1.8.0; you can try the replacement you mentioned, but we would not recommend this, as it may cause (other) library issues with the jasperreports engine itself and possibly other libs.

Regards,
Andrei

Andrei Costache:
We have switched to a relative-to-the-server path because of a security concern: that absolute path setting should be private info of the server and a client should not have to deal with that, or be able to set it. Other users with plugins have already removed such info.
Therefore, now, the absolute reports directory will be a server side setting, thus configured on the server, and clients are able to set paths/directories only relative to that.

Hi Andrei,

I am all for preventing the clients from being able to change the reports root directory so the new “relative…” path properties are fine. However we still need to be able to get the path for the root reports directory - in other words, deprecating the reportDirectory property is fine but please introduce a method getReportDirectory()

Hi Rossen,

The reportDirectory property, which has been deprecated, still returns the admin page setting. So legacy behavior should work consistently.
If needed you can use that. But we advise using the new (“relative…”) way.

Regards,
Andrei