Jasper 7.5 Upgrade – Migration Guide for Custom Jasper 1.0 Dashboards
Overview
If you have written custom Jasper 1.0 Dashboards that you would like to continue using, follow the migration guide below to evaluate and migrate them.
-
How to Find Your Jasper Dashboards and Where They are Stored
-
How to Check and Fix Your URL Handlers and Report Parameters
NOTE: Jasper Studio is the iReports replacement. For instructions on installing Jasper Studio 7.5, please refer to (Deprecated) Jasper Studio 7.5 Installation.
How to Find Your Jasper Dashboards and Where They are Stored
Jasper 1.0 Dashboards created do not automatically migrate to Jasper 7.5.
We recommend that you use the query below to find the names and locations of your Jasper Dashboards. After analyzing your Jasper Dashboards, if you determine that they need to be kept, you should start your migration process immediately by following this guide.
*Use the following SQL Query to find Jasper 6.3 Dashboards that will be gone in 7.5. =================================================================
select r.resourcetype ,decode(substr(f.uri, 1, length('/organizations/cmic/CMiC_Dashboards')) , '/organizations/cmic/CMiC_Dashboards', '*CMiC Standard - No Longer Supported*' , 'Client Custom - Will not run - Needs Conversion' ) Standard_Or_Custom ,f.uri || '/' || r.name FULL_URI_PATH ,r.label ,r.description ,r.update_date Last_Date_Modified ,r.creation_date Last_Time_Imported from js63.jiresource r inner join js63.jiresourcefolder f on f.uri like '/organizations/cmic/CMiC_Dashboards%' and f.id = r.parent_folder order by r.resourcetype ,f.uri ,r.name;
Migrating Jasper 1.0 Dashboards
If you have created Jasper 1.0 Dashboards that you want to keep, you will have to recreate those with these components:
-
iReports widgets (compatible with Jasper 6.3)
-
Input controls
-
URLs
CMiC is not supporting or offering any training for Jasper 2.0 Dashboards. Therefore, should you decide to keep your current Jasper Dashboard, you will need to:
-
Check your Report URL Handlers
-
Update your Report parameters
With Jasper 7.5, iReports will continue to run without any special migrations. However, if you have created Jasper 1.0 Dashboards with iReports that mimic traditional Jasper Dashboard widgets, you will have to:
-
Check your Report URL Handlers
-
Update your Report Parameters
Jasper Database Schema JS75
During the Jasper reporting engine update, data in the Jasper Server 6.3 schema will move to Jasper Server 7.5.
Remember, if you wrote custom reports or database objects that rely on the JS63 database schema, you would have to upgrade them to use Jasper 7.5.
While most changes are to the schema names, some tables and columns have also changed. Since Jaspersoft does not provide any documentation of their schemas, it will be up to you to make and verify the necessary changes. This will ensure that your Jasper Dashboard continues to work as expected.
How to Check and Fix Your URL Handlers and Report Parameters
The REPORT_URL_HANDLER_FACTORY parameter does not exist in Jasper 7.5, and this may cause runtime errors. To prevent this, run the SYS_REPORT_PROBLEMS_JS63 report before upgrading to Jasper 7.5 to determine if you are using the correct report parameters.
If you wish to check your report parameters after upgrading to Jasper 7.5, you can run the SYS_REPORT_PROBLEMS_JS75 report.
If you encounter a runtime error that looks like this:
PM3010Error:
2020-10-09T15:01:17,438 ERROR SecureExceptionHandlerImpl,[ACTIVE] ExecuteThread: '63' for queue: 'weblogic.kernel.Default (self-tuning)':116 - Report design not valid :
-
Parameter not found : REPORT_URL_HANDLER_FACTORY
-
Parameter not found : REPORT_URL_HANDLER_FACTORY
Then you should check that you are using these Jasper 7.5 report parameters. If not, add them:
-
LoggedInUsername (new)
-
is_Running_on_JasperServer (modified)
iReport Parameters
-
LoggedInUsername - Use this parameter to find out the runtime user or whoami.
-
is_Running_on_JasperServer - If this parameter returns a value, your report is running on the Jasper server. If it's null, you are running locally.
Use this XML snippet within your Jasper report to set the above parameters:
<parameter name="LoggedInUsername" class="java.lang.String" isForPrompting="false">
<parameterDescription><![CDATA[Jasper Server parameters (null if run in iReports)]]>
</parameterDescription>
</parameter>
<parameter name="is_Running_on_JasperServer" class="java.lang.Boolean" isForPrompting="false">
<parameterDescription><![CDATA["true" if running in JasperServer / "false" if running in iReports]]>
</parameterDescription>
<defaultValueExpression><![CDATA[Boolean.valueOf($P{LoggedInUsername} != null)]]>
</defaultValueExpression>
</parameter>