jasperreports
jasperreports copied to clipboard
Upgrading existing reports with subreports to version 7.0.0 removes all subreports instead of updating the format
I'm not quite sure if this is the correct project to submit the issue, if it is wrong, please tell me where to go :)
I have tried to upgrade existing reports to the new version using the JasperStudio 7.0.0 but instead of upgrading the subreport parts, the Studio completely removes them.
Please see the following example: Example_before_upgrade.zip
And then the upgraded example: Example_after_upgrade.zip
This is the code from the old report which should have been upgraded.
<group name="cover">
<groupHeader>
<part uuid="7aed05b9-1301-4a53-b47e-34289560bc0c">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportExpression><![CDATA["Example_cover.jasper"]]></subreportExpression>
</p:subreportPart>
</part>
<part evaluationTime="Report" uuid="56ab525c-754f-4f48-a52c-7cc23934be3d">
<property name="net.sf.jasperreports.bookmarks.data.source.parameter" value="REPORT_DATA_SOURCE"/>
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportExpression><![CDATA["Example_toc.jasper"]]></subreportExpression>
</p:subreportPart>
</part>
</groupHeader>
<groupFooter>
<part uuid="88decbbe-63ad-45cc-9e03-5dadc50004d5">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportExpression><![CDATA["Example_backcover.jasper"]]></subreportExpression>
</p:subreportPart>
</part>
</groupFooter>
</group>
And this is how it looks if I create the example again with the JasperStudio in version 7.0.0. So I suspect this is what it should have been updated to:
<group name="cover">
<groupHeader>
<part uuid="7aed05b9-1301-4a53-b47e-34289560bc0c">
<component kind="subreportPart">
<expression><![CDATA["Example_cover.jasper"]]></expression>
</component>
</part>
<part uuid="56ab525c-754f-4f48-a52c-7cc23934be3d" evaluationTime="Report">
<property name="net.sf.jasperreports.bookmarks.data.source.parameter" value="REPORT_DATA_SOURCE"/>
<component kind="subreportPart">
<expression><![CDATA["Example_toc.jasper"]]></expression>
</component>
</part>
</groupHeader>
<groupFooter>
<part uuid="88decbbe-63ad-45cc-9e03-5dadc50004d5">
<component kind="subreportPart">
<expression><![CDATA["Example_backcover.jasper"]]></expression>
</component>
</part>
</groupFooter>
</group>
How did you convert the JRXML file? I used JSS CE 7 on a MacOS, opened your Example.jrxml from the "before_upgrade" zip and when I looked at its source tab, I see the new syntax and the two parts converted properly. When I save it, it has this new syntax and it appears intact.
Thank you, Teodor
I have followed your comment from here: https://github.com/TIBCOSoftware/jasperreports/issues/442#issuecomment-2184710113
I can verify that opening the file manually does work. I'll test this a bit more but since we have a lot of reports I would like to use the batch update instead.
Thank you, Martin
Can you please go to Settings/Jaspersoft Studio/Compatibility page and in the first combobox "Version", select the already existing option that says "Always use current" and hit "Apply and Close". Then try again to update your files with the right-click option.
Thank you, Teodor
This indeed did the trick. Although it has been selected before, reselecting it and hitting "Apply and Close" fixed it. I was now able to convert all reports.
Thank you, Martin
This is interesting reading and has made me wonder - is it possible for JasperSoft Studio 6.x CE to co-exist on the same computer (Mac in my scenario) with JasperSoft Studio 7.x CE or do they share a common location for settings ?
This is interesting reading and has made me wonder - is it possible for JasperSoft Studio 6.x CE to co-exist on the same computer (Mac in my scenario) with JasperSoft Studio 7.x CE or do they share a common location for settings ?
I can only comment with my limited knowledge but what I observed is that it creates a folder for each version below the path ~/.config/Jaspersoft Studio/ on Linux. On Mac it is a bit different, you have a Library folder in your home directory which probably contains a Jaspersoft Studio folder as well. But I can not verify that because I don't have access to a mac.
From my point of view this issue can be closed. This answer solved my problem: https://github.com/TIBCOSoftware/jasperreports/issues/447#issuecomment-2188684456
Hi, I just want add a couple of notes to kinda reply to some questions above:
- considering that your multiple instances of JSS will share the same workspace, I would advice to modify the .ini file so you can specify different workspaces for each one.
- it could make sense to work with multiple projects with different compatibility set at project preferences level instead of modifying when needed the global one
- the "last" or "current" in terms of version should default to the currently installed JRL version of the running JSS instance
If you are facing additional problems with the compatibility settings, please provide all the steps and current workspace status. For example if you had previously setup compatibility at workspace or project level, if you played with multiple JSS instances etc. Thanks! Regards, Massimo.