PDF Output plugin iText dependency should be updated

I noticed a clash between the iText used by the pdf_output plugin and the Jasper Reports plugin - and my VelocityReport plugin incidentally ;-)
The latest JasperReports (as well as the VelocityReport plugin) is using iText 2.1.7, while the pdf_output plugin is using 2.0.3, these two jars are not compatible!

To avoid any more jar hell, it would be nice if Servoy would update the iText library of the pdf_output plugin to the latest usable iText version, which is 2.1.7. This way all these plugin would play nicely together instead of forcing the user to choose one or the other or having to manually tweak their jnlp (which is not recommanded in these time of Oracle signed version restrictions).

I vote for an update of iText in the pdf_output plugin for the upcoming Servoy 5.1.3

Case #288452 opened for this.

  • 1 What He Said! :wink:

+1

My vote too!!!

So iText v.2.17 implements pdf digital signature with ocsp and timestamping support.

Best regards!

Perhaps it would be more acceptable to the design community to have the itext jar file in ONE place that other jars refer to rather than being inside the various plugin directories when Servoy has control of making of these jar files?

A major improvement would be to have a kind of jar-discovery service with a way to dynamically load dependencies if not present…

Like Maven does, or maybe using something similar to Eclipse/OSGi bundles where libraries can be exported and private ClassLoaders can isolate from the rest of the other plugins (but not from the main libs). Something to think about for Servoy 6 maybe?

In any case, there is definitely room for improvement and with the new constraints that Oracle has forced on us with Java 6u19/20, it might be a good time to rethink all this in a definitive way.

2 problems with a class loader per plugin.

1> we have to implement webstarts stuff our self for the plugins (because they cant be jnlp files anymore of webstart itself, we have to do all that our self in the plugin manager)
(loading, caching, checking for changes)

2> then it will be harder for us to support direct scripting of classes in plugins or beans… (so Packages…xxxxx in javascript code where xxxx is a class from a plugin), but this is still possible by asking all the classloaders…

I made some tests, replacing the itext.jar shipped in the /plugins/pdf_output/ folder with the one from the latest JasperReports plugin (v2.1.7 - signed by Servoy) and the plugin still works fine, meaning it should be straightforward to update, so I really hope that this will be fixed with Servoy 5.1.3.

Thanks in advance!