Jump to content
We've recently updated our Privacy Statement, available here ×

jpadre

Members
  • Posts

    31
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

jpadre's Achievements

Contributor

Contributor (5/14)

  • Week One Done
  • One Month Later
  • One Year In
  • First Post Rare
  • Collaborator Rare

Recent Badges

0

Reputation

  1. Jaspersoft® Studio 8.2.0 Source Build Guide
  2. JasperReportsⓇ IO - Professional 3.1 Edition Release Notes
  3. This article describes how to add a Plain Text exporter to the Report, AdHoc, and Scheduler exporters list for JasperReports Server 7.9+. For earlier versions of JasperReports Server, refer to this article. Steps to enable Plain text exporter to Report: 1. Navigate to the WEB-INF/flows/viewReportBeans.xml file. 2. Uncomment entry for key txt,“<entry key="txt" value-ref="txtExporterConfiguration"/>” in the exporterConfigMap bean. 3. Navigate to the /WEB-INF/applicationContext-remote-services.xml. 4. Uncomment entry for txt, <entry key="txt" value-ref="remoteTxtExporter"/> in the remoteExportersMap bean. Steps to enable Plain text exporter to AdHoc: 1. Navigate to the /WEB-INF/applicationContext-adhoc.xml. 2. Uncomment entry for key txt “<entry key="txt" value="jasper.report.view.hint.export.txt" />” in the exportFormatLabels bean. Steps to enable Plain text to Scheduler: 1. Navigate to the WEB-INF/flows/reportJobBeans.xml. 2. Uncomment the following bean: <bean class="com.jaspersoft.jasperserver.war.dto.ByteEnum"> <property name="code"> <util:constant static-field="com.jaspersoft.jasperserver.api.engine.scheduling.domain.ReportJob.OUTPUT_FORMAT_TXT"/> </property> <property name="labelMessage"> <value>report.output.txt.label</value> </property> </bean> 3. Navigate to the /WEB-INF/applicationContext-report-scheduling.xml. 4. Uncomment entry for TXT , <value>TXT</value> in the availableReportJobOutputFormats bean. 5. Uncomment entry for txt, <entry key="txt" value-ref="jobTxtExportParameters"/> in the jobExportParametersMap. After restarting the JRS server, “Text only" exporter will be available to the list of exporters for Report and AdHoc. In Scheduler, you will able to see Plain Text(.txt) option in the list of formats.
  4. With the latest cumulative patch for JasperReports Server 8.0.x, we have introduced support for Java 17 in runtime mode. It's important to note that Java 17 is supported only when JasperReports Server is deployed on Tomcat 9.0.x. For further details regarding allowed combinations, please refer to our Platform Support Guide. There are three possible scenarios for installing the hotfix to enable Java 17 support, depending on the use case: Current Deployment on Java 8/11 with System Upgrade to Java 17 (Easiest Option): If your JasperReports Server 8.0.x is currently deployed on Java 8 or 11, and you plan to upgrade the system to Java 17, this is the most straightforward scenario.New Deployment with Java 17 Already Installed: For cases where JasperReports Server 8.0.x has not yet been deployed, but the system already has Java 17 installed, this scenario applies.Deployment from Docker Images: If your deployment strategy involves utilizing Docker images for JasperReports Server 8.0.x, this scenario is relevant for you.Case 1 - JasperReports Server 8.0.x is already deployed (On-prem installation) - Upgrading System Java to Java 17If you already have JasperReports Server 8.0.x deployed, we assume that it currently uses Java 8/11. To begin the process of enabling Java 17 support, follow these steps: 1. Upgrade System Java to Java 17: First upgrade the system's Java version to Java 17. This can usually be done by downloading and installing Java 17 from the official Oracle website or any supported Java 17 build. 2. Update JAVA_HOME or JRE_HOME: After installing Java 17, update the JAVA_HOME (or alternatively JRE_HOME) environment variable to point to the location where Java 17 is installed. This ensures that the system recognizes the new Java version. 3. Configure Additional JAVA_OPTS Properties in Tomcat: To allow JasperReports Server to utilize Java 17, you have to configure additional JAVA_OPTS properties in Tomcat. Refer to the Installation Guide for detailed information on where and how these properties can be set. export JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/javax.security.auth.login=ALL-UNNAMED --add-opens java.base/javax.security.auth=ALL-UNNAMED --add-opens java.base/jdk.internal.access.foreign=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED" Important: If your current JAVA_OPTS includes the "-XX:+UseConcMarkSweepGC" garbage collector setting, it should be removed, as this option is deprecated in Java 17. 4. Proceed with Hotfix Installation: Once the system is upgraded to Java 17 and the necessary configurations are in place, proceed with the hotfix installation using the provided steps in the Readme file inside the hotfix archive. Case 2 - New Deployment with Java 17 Already InstalledIf you are starting a fresh deployment of JasperReports Server 8.0.x, and your system already has Java 17 installed, follow these steps: 1. Download and Extract the Required Archives: Download the TIB_js-jrs_8.0.x_bin.zip archive and extract its contents.Next, download the cumulative-hotfix archive and extract it. Inside, you will find two archives: js-install.zip and jasperserver-pro.zip.2. Apply Hotfix to JasperReports Server Buildomatic: Begin by extracting the js-install.zip archive.Follow the steps provided in the readme.txt file included in the js-install.zip archive to apply the hotfix to JasperReports Server Buildomatic.3. Proceed with JasperReports Server Installation: After successfully applying the hotfix to JasperReports Server Buildomatic, you can proceed with the JasperReports Server installation.Refer to the Installation Guide for detailed instructions on how to install the war file using Buildomatic.4. Patch the Deployed jasperserver-pro Application with Hotfix: Once the installation is complete, the jasperserver-pro application will be deployed.Extract the contents of jasperserver-pro.zip (from the cumulative hotfix archive).Follow the steps provided in the readme.txt file to apply the hotfix to the deployed jasperserver-pro application.5. Configure Additional JAVA_OPTS Properties in Tomcat: To allow JasperReports Server to utilize Java 17, you have to configure additional JAVA_OPTS properties in Tomcat. Refer to the Installation Guide for detailed information on where and how these properties can be set. export JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang.ref=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.nio.channels.spi=ALL-UNNAMED --add-opens java.base/java.nio.channels=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/javax.security.auth.login=ALL-UNNAMED --add-opens java.base/javax.security.auth=ALL-UNNAMED --add-opens java.base/jdk.internal.access.foreign=ALL-UNNAMED --add-opens java.base/sun.net.util=ALL-UNNAMED --add-opens java.base/sun.nio.ch=ALL-UNNAMED --add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED" 7. Now you can start Tomcat. Case 3 - Deployment from Docker ImagesIf you plan to build a new Docker image with JasperReports Server on Java 17, you will need to patch the Buildomatic and jasperserver-pro.war file and then make changes to the Dockerfiles. In this example, we assume that you deploy JasperReports Server using our https://github.com/TIBCOSoftware/js-docker/ project. 1. Download and Extract Required Archives: Download the TIB_js-jrs_8.0.x_bin.zip archive and extract its contents.Next, download the cumulative-hotfix archive and extract it. Inside, you will find two archives: js-install.zip and jasperserver-pro.zip.2. Apply Hotfix to JasperReports Server Buildomatic: Begin by extracting the js-install.zip archive.Follow the steps provided in the readme.txt file included in the js-install.zip archive to apply the hotfix to JasperReports Server Buildomatic.3. Patch the jasperserver-pro.war File: Navigate to the extracted jasperreports-server-pro-8.0.x-bin folder where jasperserver-pro.war is located.Create a backup of the original jasperserver-pro.war file.Extract the contents of jasperserver-pro.war into a new temp folder:mkdir /tmp/jasperserver-pro cd /tmp/jasperserver-pro jar xvf /opt/jasperreports-server-pro-8.0.x-bin/jasperserver-pro.war Extract the contents of jasperserver-pro.zip (from the cumulative hotfix archive) into a different location.Follow the steps provided in the readme.txt file to apply the hotfix, but instead of applying it to the apache-tomcat/webapps/jasperserver-pro location, you have to patch the files in the newly created /tmp/jasperserver-pro.Archive back patched jasperserver-pro files into a new warfile:cd /tmp/jasperserver-pro jar cvf ../jasperserver-pro.war * 4. Copy the Patched war File: Copy and replace the patched jasperserver-pro.war file into the extracted jasperserver directory /opt/jasperreports-server-pro-8.0.x-bin/.5. Set New Docker Base Images: Before building new Docker images, set the new Docker base images as follows:For the jasperserver-webapp image, use: tomcat:9.0.62-jdk17-openjdkFor the jasperserver-buildomatic image, use: eclipse-temurin:17-jdkEdit the .env file located in js-docker/jaspersoft-containers/Docker/jrs/ and set the variables:TOMCAT_BASE_IMAGE=tomcat:9.0.62-jdk17-openjdk JDK_BASE_IMAGE=eclipse-temurin:17-jdk 6. Build New Docker Images: You can now proceed to build the new Docker images.7. Setting JAVA_OPTS: For the js-docker project, you can find details on how to set JAVA_OPTS for Docker and Kubernetes in the following locations: Docker: https://github.com/TIBCOSoftware/js-docker/tree/main/jaspersoft-containers/Docker/jrs#setting-java-optionsKubernetes: https://github.com/TIBCOSoftware/js-docker/blob/main/jaspersoft-containers/K8s/jrs/README.md#setting-java-options
  5. The following Simba JDBC drivers will be getting removed from the JasperReports Server WAR file: AthenaCassandraImpalaNeo4jSparkImportant Note: No default DataSource properties or configurations are changed, Jaspersoft is removing the JAR files from the WAR file. How to Get the Simba DriversRefer to the following URLs to get these Simba Drivers: JDBC Driver Replacement Link AthenaAthenaJDBC42-2.0.35.1000.jarhttps://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jarCassandraCassandraJDBC42.jarhttps://downloads.datastax.com/jdbc/cql/2.0.3.1003/SimbaCassandraJDBC42-2.0.3.1003.zipImpalaCloudera Neo4j for JAVA 8neo4j-jdbc-4.0.9.jarhttps://github.com/neo4j-contrib/neo4j-jdbc/releases/download/4.0.9/neo4j-jdbc-driver-4.0.9.jarNeo4j for Java 17neo4j-jdbc-bolt-5.0.0.jarhttps://github.com/neo4j-contrib/neo4j-jdbc/releases/download/5.0.0/neo4j-jdbc-bolt-5.0.0.jarSparkSparkJDBC41.jarhttps://downloads.datastax.com/jdbc/2.6.5.1005/SimbaSparkJDBC41-2.6.5.1005.zip How to Install a DriverTo Install a Driver: 1) Create a custom components folder at the buildomatic level. In components folder, add the following folders: a) A META-INF folder which contains components.properties file. In the property file, create these two properties: connectors.XXX.enabled = true|false connectors.XXX.artifacts = XXX.jar b) Create a folder named XXX-connector in which to place the JAR file. This folder structure can be achieved by executing target: <jrs bin>buildomatic> js-ant gen-components-metainf -DcomponentId=XXX(connector name) -DcomponentArtifacts=YYY(Driver along with version).jar 2) After creating the folder structure, execute target js-ant install-components. For example: <jrs bin>buildomatic> js-ant install-components This will repackage the jasperserver-pro.WAR and deploy the JAR in the Tomcat WEB-INF/lib folder. 3) To update the JAR version, change the JAR version in components->META-INF->components.properties file at connectors.XXX.artifacts=YYY.jar then place the specified version JAR in the components>XXX-connector folder and run script js-ant install-components. For example: <jrs bin>buildomatic> js-ant install-components 4) To remove a JAR, create or update components>META-INF>components.properties file as connectors.XXX.enabled = false OR you can add connectors.XXX.enabled = false in default_master.properties file and run js-ant install-components. For example: <jrs bin>buildomatic> js-ant install-components How to Enable or Disable a DriverTo disable a driver, keep the entry connectors.XXX(connector).enabled = false in components>META-INF>components.properties file To enable a driver, keep the entry connectors.XXX(connector).enabled = true in components>META-INF>components.properties file After repackaging and Tomcat deployment is done, restart Tomcat. To only repackage jasperserver-pro.WAR, run script: <jrs bin>buildomatic> js-ant package-components To only deploy in Tomcat webapp/WEB-INF/lib, run script: <jrs bin>buildomatic> js-ant deploy-components To repackage jasperserver-pro.WAR and deploy in Tomcat webapp/WEB-INF/lib, run script: <jrs bin>buildomatic> js-ant install-components How to Download a Driver using the URLEnable a driver using URL by following these steps: If there is any custom component, include in lib WEB-INFlib without having JAR in the system, there is an option to keep the corresponding URL through which you can download the JAR property: connectors.${project.artifactId}.url={URL from where we can download URL} For example, for simba-athena, this folder structure can be achieved by using ant command: <jrs>/jasperserverbuildomatic> js-ant gen-components-metainf -DcomponentId=simba-athena -DcomponentArtifacts=AthenaJDBC42-2.0.35.1000.jar -DcomponentUrl=https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jar Case 1: connectors.simba-athena.enabled=true connectors.simba-athena.artifacts=AthenaJDBC42-2.0.35.1000.jar connectors.simba-athena.url=https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jar Driver will get downloaded into /tmp/componentsXXX/components/simba-athena-connector Case 2: connectors.simba-athena.enabled= connectors.simba-athena.artifacts=AthenaJDBC42-2.0.35.1000.jar connectors.simba-athena.url=https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jar The simba-athena.enabled property will be considered to true because we are providing the URL property and the driver will get downloaded. Case 3: connectors.simba-athena.enabled=true connectors.simba-athena.artifacts=AthenaJDBC42-2.jar connectors.simba-athena.url=https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jar If the driver name format differs from the download path, you can mention the required format in connectors.simba-athena.artifacts so that the driver will get renamed to required format . Case 4: connectors.simba-athena.enabled= connectors.simba-athena.artifacts= connectors.simba-athena.url=https://s3.amazonaws.com/athena-downloads/drivers/JDBC/SimbaAthenaJDBC-2.0.35.1000/AthenaJDBC42-2.0.35.1000.jar In this case, it will treat enabled flag to true and artifacts will be assigned with AthenaJDBC42-2.0.35.1000.jar from URL
  6. JasperReports Web Studio - Professional Edition 1.0 is now integrated with JasperReports Server 8.2.0. JasperReports Web Studio - Professional Edition is the visual designer for creating and editing report templates for the JasperReports Library reporting engine and the whole Jaspersoft family of products that use this open source library to produce dynamic content and rich data visualizations. It comes as a web-based alternative to Jaspersoft Studio, the desktop application, which is the most complete and powerful designer for JasperReports templates. JasperReports Web Studio - Professional Edition can be run on its own or added to an existing JasperReports Server 8.2.0 instance as a pluggable report editing feature. Launching JasperReports Web Studio in JasperReports ServerTo use JasperReports Web Studio in JasperReports Server, first edit Resources and Reports in JasperReports Server by right clicking on a Resource or Report unit, then select "Open in Editor " from the context menu. Additional ReferencesJasperReports Web Studio on Jaspersoft CommunityJasperReports Web Studio 1.0 User GuideJasperReports Server 8.2.0 Administration Guide Compatibility for 8.2 Jaspersoft Products
  7. The following matrix identifies the compatibility between 8.2 Jaspersoft products. Compatibility for JasperReports ProductsJasperReports Web StudioJaspersoft StudioJasperReports Library CE/ProJasperReports I/O ProJasperReports I/O At-ScaleJasperReports Server Pro2.0.0-up to 8.2.03.2.0-8.0.x, 8.1.x, 8.2.01.0.0-up to 8.0.x3.0.x-8.0.x
  8. Updating your instance or Jaspersoft version for AWS requires three main tasks: Export your repository.Update the instance, to accommodate a different instance size and/or to move to a different version of JasperReports Server.Import your repository into your new instance.After the upgrade, you'll have to re-apply any customizations you made to the instance outside of the user interface. To upgrade your instance for your particular version of JasperReport Server, refer to the appropriate section. Upgrading JasperReports Server 7.9.1 AWS BYOL Single Instance to 7.9.2Upgrading JasperReports Server 7.9.1 AWS Hourly Single Instance to 7.9.2Upgrading JasperReports Server 7.9.1 AWS BYOL Single Instance to 8.0.2Upgrading JasperReports Server 7.9.1 AWS Hourly Single Instance to 8.0.2Upgrading JasperReports Server 7.9.1 AWS Hourly Cluster Instance to 7.9.2Upgrading JasperReports Server 7.9.1 AWS BYOL Cluster instance to 8.0.2Upgrading JasperReports Server 7.9.1 AWS Hourly Cluster Instance to 8.0.2Upgrading JasperReports Server AWS Cloud Cluster Instance to Newer VersionUpgrading AWS JasperReports Server 7.5.1, 7.5.2, or 7.8.1 (Single Instance or Cluster) to 8.0.2Migrating JasperReports Server 8.0.1 BYOL or Hourly single instance to 8.0.1 clusterUpgrading JasperReports Server 7.9.1 AWS BYOL Single Instance to 7.9.2 You can upgrade the JasperReports Server AWS BYOL single instance from 7.9.1 HF1 to the secure version 7.9.2. You are required to export all resources into a zip using JasperReports Server UI or buildomatic scripts. Perform the following steps to upgrade JasperReports Server 7.9.1 AWS BYOL single instance to 7.9.2: 1. Log in to the JasperReports Server 7.9.1 AWS BYOL single instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 7.9.2 AWS instance by running the following command. pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver.gz 9. Create JasperReports Server 7.9.2 AWS instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the 7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 7.9.2 AWS instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. When the import is completed, verify that the JasperReports Server 7.9.2 AWS instance contains everything that JasperReports Server 7.9.1 instance contained. Upgrading JasperReports Server 7.9.1 AWS Hourly Single Instance to 7.9.2 Perform the following steps to upgrade JasperReports Server 7.9.1 AWS hourly single instance to 7.9.2. 1. Log in to the JasperReports Server 7.9.1 AWS hourly single instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 7.9.2 AWS instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver.gz 9. Create JasperReports Server 7.9.2 AWS instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server 7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 7.9.2 AWS instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. When the import is completed, verify that JasperReports Server 7.9.2 AWS hourly single instance contains everything that the JasperReports Server 7.9.1 AWS instance contained. Upgrading JasperReports Server 7.9.1 AWS BYOL Single Instance to 8.0.2 Perform the following steps to upgrade JasperReports Server 7.9.1 AWS BYOL single instance to 8.0.2. 1. Log in to the AWS JasperReports Server 7.9.1 instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the AWS JasperReports Server 8.0.2 instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver.gz 9. Create JasperReports Server 8.0.2 AWS instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) In case of large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 8.0.2 AWS instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. When the import is completed, verify that JasperReports Server 8.0.2 AWS BYOL single instance contains everything that the 7.9.1 instance contained. Upgrading JasperReports Server 7.9.1 AWS Hourly Single Instance to 8.0.2 Perform the following steps to upgrade JasperReports Server 7.9.1 AWS hourly single instance to 8.0.2. 1. Log in to the JasperReports Server AWS 7.9.1 instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the AWS JasperReports Server 8.0.2 instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver.gz 9. Create JasperReports Server 8.0.2 AWS instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 8.0.2 AWS instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. When the import is completed, verify that JasperReports Server 8.0.2 instance contains everything that JasperReports Server 7.9.1 AWS instance contained. Upgrading JasperReports Server 7.9.1 AWS Hourly Cluster Instance to 7.9.2 When you have out of box 7.9.1 CFT, perform the following steps (for any size of repository): 1. Download 7.9.2 template. 2. Go to cloudformation and select the 7.9.1 stack. 3. Select the Update option. 4. Select Replace current template option and then select upload a template file. 5. Upload the JasperReports Server 7.9.2 template and click Next. 6. Acknowledge and select Update the stack. 7. When update is completed, check the template in template tab and instances as well. Upgrading JasperReports Server 7.9.1 AWS BYOL cluster instance to 8.0.2 Perform the following steps to upgrade JasperReports Server 7.9.1 AWS BYOL cluster instance to 8.0.2. 1. Log in to the JasperReports Server 7.9.1 AWS instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export using JasperReports Server UI. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 8.0.2 AWS instance by running the following command: pg_dump <7.9.1 database> -h <database endpoint> -U postgres -W | gzip > awsjrs791_sql_jasperserver.gz 9. Create JasperReports Server 8.0.2 AWS instance and make sure that you have specified a different database name. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c awsjrs791_psql_jasperserver.gz | psql <8.0.2 database name> -h<database endpoint> -U postgres -W 11. Log in to the JasperReports Server 8.0.2 AWS BYOL cluster instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and click the Import button. 16. When the import is completed, verify that JasperReports Server 8.0.2 AWS instance contains everything that JasperReports Server 7.9.1 AWS instance contained. Note: Make sure that you have uploaded your BYOL jasperserver.license to the 8.0.2 system. Upgrading JasperReports Server 7.9.1 AWS Hourly Cluster Instance to 8.0.2 1. Log in to the JasperReports Server 7.9.1 AWS instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export using JasperReports Server UI. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 8.0.2 AWS instance by running the following command: pg_dump <7.9.1 database> -h <database endpoint> -U postgres -W | gzip > awsjrs791_sql_jasperserver.gz 9. Create JasperReports Server 8.0.2 AWS instance and make sure that you have specified a different database name. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server7.9.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c awsjrs791_psql_jasperserver.gz | psql <8.0.2 database name> -h<database endpoint> -U postgres -W 11. Log in to the JasperReports Server 8.0.2 AWS hourly cluster instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and click the Import button. 16. When the import is completed, verify that JasperReports Server 8.0.2 AWS instance contains everything that JasperReports Server 7.9.1 AWS instance contained. Upgrading JasperReports Server AWS Cloud Cluster Instance to Newer Version You can upgrade JasperReports Server 7.9.1 AWS BYOL cluster instance to 7.9.2 for the following upgrade cases: When you have out of box 7.9.1 CFT, perform the following steps (for any size of repository): 1. Download 7.9.2 template. 2. Go to cloudformation and select the 7.9.1 stack. 3. Select the Update option. 4. Select Replace current template option and then select upload a template file 5. Upload the JasperReports Server 7.9.2 template and click Next. 6. Acknowledge and select Update the stack. 7. When the update is completed, check the template in the template tab and instances as well. When you use customized CFT and the size of repository is <15G, perform the following steps: 1. Export everything from 7.9.1. 2. Create JasperReports Server 7.9.2 AWS cluster with a new RDS. 3. Import everything into JasperReports Server 7.9.2 AWS instance. When you use customized CFT (regardless of repository size), perform the following steps. 1. Log in to the JasperReports Server 7.9.1 AWS HF1 instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the AWS JasperReports Server 7.9.2 instance by running the following command: pg_dump <7.9.1 database> -h <database endpoint> -U postgres -W | gzip > awsjrs791_sql_jasperserver.gz 9. Create an JasperReports Server 7.9.2 AWS instance and make sure to use the database from the 7.9.1 HF1 instance. For instructions on creating an instance, see Launching Instances. 10. Log in to the JasperReports Server 7.9.2 AWS BYOL cluster instance. 11. Verify that the JasperReports Server 7.9.2 AWS BYOL cluster instance contains everything that the JasperReports Server 7.9.1 AWS instance contained. If JasperReports Server 7.9.2 BYOL cluster instance does not contain, perform the following steps to restore the data you backed up: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server7.9.1 HF1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c awsjrs791_psql_jasperserver.gz | psql <7.9.1HF1/7.9.2 database name> h <database endpoint> -U postgres -W 12. Log in to the JasperReports Server 7.9.2 AWS BYOL Cluster instance. 13. Navigate to Manage > Server Settings > Import. 14. Click the Choose File button, and select the file you exported. 15. Click Legacy Key under Import-Export Key. 16. Select your import options and click the Import button. 17. When the import is completed, verify that JasperReports Server 7.9.2 AWS BYOL Cluster instance contains everything that JasperReports Server 7.9.1 AWS instance contained. Upgrading AWS JasperReports Server 7.5.1, 7.5.2, or 7.8.1 (Single Instance or Cluster) to 8.0.2 JasperReports Server 7.5.1, 7.5.2, or 7.8.1 can be upgraded to version 8.0.2. If the database dump is >=15G, then you need an incremental upgrade. Upgrading JasperReports Server 7.5.1 with a big repository to 8.0.2 required an incremental upgrade that is from 7.5.1 to 7.8.1 and then 7.8.1 to 8.0.2. The following procedures show you how to upgrade 7.5.1, 7.5.2, or 7.8.1 (single instance or cluster) to 8.0.2. To upgrade AWS JasperReports Server 7.5.2 or 7.8.1 to 8.0.2: 1. Log in to the AWS JasperReports Server 7.5.2 or 7.8.1 instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export. 4. Name your export data file and select the items to export. 5. Click Server Key for 7.5.2 or Legacy Key for 7.8.1 under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. Create an AWS JasperReports Server 8.0.2 instance. For instructions on creating an instance, see Launching Instances. 9. Log in to the AWS JasperReports Server 8.0.2 instance. 10. Navigate to Manage > Server Settings > Import. 11. Click the Choose File button, and select the file you exported. 12. Click Server Key for JasperReports Server 7.5.2 or Legacy Key for JasperReports Server 7.8.1 under Import-Export Key. 13. Select your import options and then click the Import button. 14. When the import is completed, verify that JasperReports Server 8.0.2 instance contains everything that JasperReports Server 7.5.2 or JasperReports Server 7.8.1 instance contained. To upgrade JasperReports Server 7.5.1 (AWS single instance or cluster) to 8.0.2: 1. Log in to the JasperReports Server 7.5.1 AWS instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export using JasperReports Server UI. 4. Name your export data file and select the items to export. 5. Click Server Key under Import-Export Key. 6. Select Export everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 7.8.1 AWS instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver751.gz 9. Create JasperReports Server 7.8.1 AWS instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump file that you generated from the 7.5.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver751.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 7.8.1 AWS instance. 12. Navigate to Manage > Server Settings > Import to import the exported file. 13. Click the Choose File button, and select the file you exported. 14. Click Server Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. Back up the jasperserver database. 17. Navigate to Manage > Server Settings > Export 19. Name your export data file and select the items to export. 18. Click Legacy Key under Import-Export Key. 19. Select Export everything to backup everything in the jasperserver database. 20. (Optional) Backup any PostgreSQL databases that you want to restore in the AWS JasperReports Server 7.8.1 instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver781.gz 21. Verify that JasperReports Server 7.8.1 AWS instance contains everything that JasperReports Server 7.5.1 instance contained. 23. Create JasperReports Server 8.0.2 AWS instance. For instructions on creating an instance, see Launching Instances. 24. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump file that you generated from the 7.8.1 instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver781.gz | psql jasperserver -U postgres -W 25. Log in to the JasperReports Server 8.0.2 AWS instance. 26. Navigate to Manage > Server Settings > Import. 27. Click the Choose File button, and select the file you exported. 28. Click Legacy Key under Import-Export Key. 29. When the import is completed, verify that JasperReports Server 8.0.2 AWS instance contains everything that JasperReports Server 7.8.1 AWS instance contained. Migrating JasperReports Server 8.0.1 BYOL or Hourly Single Instance to 8.0.1 Cluster Perform the following steps to migrate JasperReports Server 8.0.1 BYOL or Hourly single instance to 8.0.1 cluster. 1. Log in to the JasperReports Server 8.0.1 AWS BYOL or hourly VPC instance. 2. Back up the jasperserver database. 3. Navigate to Manage > Server Settings > Export using JasperReports Server UI. 4. Name your export data file and select the items to export. 5. Click Legacy Key under Import-Export Key. 6. Select Export Everything under Export Options. 7. Click the Export button. 8. (Optional) If you have a large repository, perform the following step: a. Backup any PostgreSQL databases that you want to restore in the JasperReports Server 8.0.1 AWS BYOL cluster instance by running the following command: pg_dump jasperserver -U postgres -W | gzip > psql_jasperserver_801byolvpc.gz 9. Create JasperReports Server 8.0.1 AWS BYOL or hourly cluster instance. For instructions on creating an instance, see Launching Instances. 10. (Optional) For a large repository, perform the following steps to upload and restore the repository: a. Upload the PostgreSQL database dump files that you generated from the JasperReports Server 8.0.1 AWS BYOL or hourly instance. b. Restore the PostgreSQL database dumps by running the following command: gunzip -c psql_jasperserver_801byolvpc.gz | psql jasperserver -U postgres -W 11. Log in to the JasperReports Server 8.0.1 AWS BYOL or hourly cluster instance. 12. Navigate to Manage > Server Settings > Import. 13. Click the Choose File button, and select the file you exported. 14. Click Legacy Key under Import-Export Key. 15. Select your import options and then click the Import button. 16. When the import is completed, verify that JasperReports Server 8.0.1 BYOL cluster instance contains everything that JasperReports Server 8.0.1 BYOL or hourly single instance contained.
  9. This article describes how to implement a proxy solution for Visualize.js when browsers are blocking all third-party cookies. There are several possible configurations of proxies and domains or subdomains, depending on your needs. You can deploy the proxy solution using the provided configuration files as a starting point. BackgroundApple has decided to block all third-party cookies in Safari, and Google will soon do the same for Chrome. The similar situation with Mozilla Firefox and Microsoft Edge. This issue impacts Jaspersoft customers that have web applications implementing Visualize.js deployed on one domain and JasperReports Server located on another domain or subdomains. When users access your web app using Visualize.js, the script needs to store a cookie with a session information for JasperReports Server. However, browsers will no longer allow this cookie because JasperReports Server is on a different domain (or subdomain), and it is considered a third-party cookie. Proxy Solution Workaround As a short-term solution, Jaspersoft recommends introducing an additional proxy server (similar to a load balancer) so that client (browser) will think that your instance of JasperReports Server appears to be on the same domain (or subdomain) as the Vizualize js web app. The proxy makes the server cookies appear to be from the same (sub)domain and thus allowed by browsers. This configuration is shown in the following diagram: Proxy ServersYou can use any web server, proxy server, or load balancer that can be configured to respond in one domain and forward to another domain. Install the proxy server on a physical or virtual machine that is configured to be in the same domain as your web app. It can be on a separate instance that has access to the webapp and backend hostnames, and it proxy forwards where needed. Optionally, the proxy can also be installed in a sub-domain of the app’s domain, for example: backend.mywebapp.com. Apache HTTP Server ConfigurationConfigure your Apache HTTP Server as a proxy with the following contents in the file /etc/httpd/conf.d/jrs-https.conf: LoadModule ssl_module modules/mod_ssl.soListen 443NameVirtualHost *:80NameVirtualHost mywebapp.com:443 <VirtualHost *:80> ServerAdmin admin@mywebapp.com RedirectMatch permanent "^/(.*)" "https://mywebapp.com/$1" </VirtualHost> <VirtualHost mywebapp.com:443> ServerName mywebapp.com ServerAlias mywebapp.com SSLEngine on SSLCertificateFile /etc/httpd/ssl/mywebapp.com.crt SSLCertificateKeyFile /etc/httpd/ssl/mywebapp.com.key SSLCertificateChainFile /etc/httpd/ssl/CA.crt ServerAdmin admin@mywebapp.com AllowEncodedSlashes On ProxyRequests Off ProxyPreserveHost On ProxyPass /visualize http://web.backend.example.com:8080/visualize nocanon ProxyPassReverse /visualize http://web.backend.example.com:8080/visualize ProxyPass /jasperserver-pro http://jrs.backend.example.com:8080/jasperserver-pro nocanon ProxyPassReverse /jasperserver-pro http://jrs.backend.example.com:8080/jasperserver-pro ProxyTimeout 2400 ProxyBadHeader Ignore ProxyAddHeaders On RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443"</VirtualHost>SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256SSLHonorCipherOrder off Nginx Web Server ConfigurationConfigure your Nginx web server as a proxy with the following contents in the file nginx-ssl.conf: events {}http { server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://$host$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name mywebapp.com; ssl_certificate /opt/certificates/mywebapp.com.crt; ssl_certificate_key /opt/certificates/mywebapp.com.key; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384; ssl_prefer_server_ciphers on; location /visualize { proxy_pass http://web.backend.example.com:8080/visualize; } location /jasperserver-pro { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://jrs.backend.example.com:8080/jasperserver-pro; proxy_read_timeout 90; }}}
  10. Introduction This article provides the steps to deploy JasperReports Server on Amazon Elastic Container Service (AWS ECS) with Fargate. Pre-requisites EC2 instance - Amazon Linux to build and publish images: Docker and Docker-Compose installed. AWS CLI installed to push images into the registry. (To push your images to AWS ECR, create a new AWS ECR registry.) RDS access Amazon EFS client (amazon-efs-utils) installed. Create an ECS cluster- select Networking only. Create 5 security groups for ECS services: Load balancer security group - allow inbound connections on TCP port 8080 for network JRS webapp service security group - allow inbound connections on TCP port 8080 from load balancer security group activemq service security group - allow inbound connections on TCP port 61616 from JRS webapp security group RDS security group - allow inbound connections on port TCP 5432 from JRS webapp security group, also allow connections on the same port for EC2 instance which will be used to build images EFS security group - allow inbound NFS on port 2049 from JRS webapp security group Create an EFS that will be used to store Keystore and license. Configure an RDS for repository setup: Use PostgreSQL 12 db. Use created RDS security group. Create the load balancer and target group for JRS service: Fargate target groups should have type - IP, forward to port 8080 Target Health Checks: protocol - HTTP path - /jasperserver-pro/login.html port - traffic port (default) healthy threshold - 2 unhealthy threshold - 10 timeout - 50s interval - 90s (increase it if JRS starts slower due to container resource limits) success code - 200 Enable sticky sessions for target - find your target and edit attributes: Enable Stickiness Select Application-based cookie Stickiness duration - 1 day App cookie name - JSESSIONID NOTE : If using new AWS UI, use the following steps to enable sticky notes: Go to EC2. Go to created target group. Click on target group. Click Attributes to edit it. Enable Stickiness and fill in the details. ALB will listen on port 8080 and will forward to the target group. NOTE: RDS, EFS, LB, and ECS cluster should be in the same VPC. Installation and Deployment Steps 1. Installer setup: Have an EC2 instance (or machine where you have docker installed), clone the js-docker repository and download Jaspersoft installer. For more information, refer to: https://github.com/TIBCOSoftware/js-docker/tree/main/jaspersoft-containers/Docker/jrs#installer-setup 2. Build Docker images: Note: Ensure you have an RDS instance running and that you have updated the default_master.properties file by setting RDS endpoint as dbHost, dbUsername, dbPassword To build webapp and buildomatic Docker images using docker-compose, follow the steps from https://github.com/TIBCOSoftware/js-docker/tree/main/jaspersoft-containers/Docker/jrs#building-the-images. 3. Keystore generation: If you already have keystore files, you can ignore this step. If you want to generate new keystore files, follow the steps from https://github.com/TIBCOSoftware/js-docker/tree/main/jaspersoft-containers/Docker/jrs#keystore-generation 4. Repository Setup: To configure the repository database, follow the steps from https://github.com/TIBCOSoftware/js-docker/tree/main/jaspersoft-containers/Docker/jrs#repository-setup. 5. Push Webapp Docker image to AWS ECR: Tag the jasperserver-webapp Docker image and push it onto AWS ECR. Note: Even though the docker-compose build command generates two images, jasperserver-webapp and jasperserver-buildomatic, it's only necessary to push the jasperserver-webapp image to AWS ECR since the DB configuration is taken care in step 4 above and no task definition is created for it. 6. Create an EFS storage to store keystore and license files: Create an EFS and mount it on EC2 instance: i. Go to created EFS. ii. Click on EFS that is going to be used for testing. iii. Click on Attach button. iv. Copy NFS client mount command. v. SSH to EC2 instance, in root, use above mount command. Create a keystore folder and copy the keys .jrsks and .jrsksp under that folder. Change the permissions to 666 for Keystore files, run: sudo chmod -R 666 .jrs*. Create a license folder and copy jasperserver.license to that folder, run: chmod 666 jasperserver.license 7. Create a Task Definition for ActiveMQ: Create a new Task Definition. Select the Fargate launch type. Select the Network mode as awsvpc. Select the Task execution role. Select the task size as per your requirement; for example: task memory 0.5GB, task CPU 0.25 vcpu . Select Add container. Provide the Container name (can be any). Provide the activemq image in image field ex: rangareddyv/activemq-openshift:5.16.2. Under port mappings, make Container port as 61616 and Protocol as tcp. Proceed with Create task definition. 8. Create a Service for ActiveMQ: 1. Go to Services and select Create under the cluster. 2. Select the Fargate launch type. 3. Under Task definition select the task definition name of activemq. (Select the Task Definition created above.) 4. Select the cluster name and provide a service name. 5. Number of Tasks: 1 6. Select the VPC and subnets (Note: VPC should be same for all.) 7. Select security group created for ActiveMQ service. 8. Auto assign public IP to Enabled. 9. Select the Load balancing type to None. 10. Enable Service Discovery: a. Configure cross-task communication between the JasperReports Server and ActiveMQ containers. b. Provide the Namespace and service discovery name, endpoint will be : service discovery name.namespace_name For example: Namespace: jrs Service name: active Service discovery endpoint: active.jrs 11. Create the Service. 9. Create a Task Definition for jasperserver-webapp: It will connect to a JasperReports Server repository running in RDS. Use the EFS volume to load Keystore files and license: Create a new Task Definition. Select the Fargate launch type. Select the Network mode as awsvpc. Select the Task execution role. Select the task size as per your requirement; for example: task memory 4GB, task CPU 2 vcpu. Under Volumes, add Volume: Provide the name and select the type as efs. Select the File system ID in the drop-down where the Keystore and license are in efs. Select the Root directory as root and Add. Select Add container. Provide the Container name (can be any). Provide the URL of the jasperserver-webapp image in your ECR repository in the image field. In Port mappings, set the Container port to 8080 and the protocol to TCP. Add to the Environment variables: JAVA_OPTS -XX:+UseContainerSupport -XX:MinRAMPercentage=33.0 -XX:MaxRAMPercentage=75.0 -Djs.license.directory=/usr/local/share/jasperserver-pro/license -Djasperserver.cache.jms.provider=tcp://{{service discovery endpoint of activemq}}:61616 .ex: tcp://activemq.jrs:61616. Add Storage and logging: Select the volume name from drop-down. Make the path as /usr/local/share/jasperserver-pro Create the Task definition. 10. Create a Service for jasperserver-webapp: Go to your cluster and select create under service. Select the Fargate launch type. Under Task definition, select the task definition name of jasperserver-webapp. (Select the Task Definition created above.) Select the cluster name and provide a service name. Number of Tasks: 1 Select the VPC and subnets (Note: VPC should be same for all). Auto assign public IP to Enabled. Under Load balancing, select the load balancer type as Application Load Balancer. Select your load balancer from the drop-down. Under Container at Load Balance, select Add to a load balancer. Select your listener port and Target group that was previously created from the drop-down. Create the service. 11. Configure Security groups: Allow Load Balancer to access ECS service. Add Load Balancer security group all traffic access to service in webapp-service security group. Add webapp-service security group to RDS in RDS security group. Make sure that EFS security group allows inbound NFS on port 2049 from webapp-service security group Update the Security Group used by the ActiveMQ service to allow TCP traffic on port 61616 for webapp-service security group. Accessing JasperReports Server Login using the load balancer. http://<IP or DNS of Load Balancer>:8080/jasperserver-pro
  11. The NO CLUSTERING section of ehcache_hibernate.xml included with JasperReports Server 8.0/8.1 installation includes eight new cache properties - defaultRepoCache, roles, rolesByTenant, users, usersByTenant, tenants, tenantsByName, profileAttributes. By default, this section is uncommented. When deploying JasperReports Server 8.0/.8.1 with repository cache replication, for all distribution mechanisms, it’s necessary to comment out only the defaultRepoCache in the NO CLUSTERING section. The remaining cache entries should not be commented out. <!-- <cache name="defaultRepoCache" maxElementsInMemory="10000" eternal="false" overflowToDisk="false" timeToIdleSeconds="36000" timeToLiveSeconds="180000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" statistics="true"> </cache> --> <cache name="roles" maxElementsInMemory="1000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="rolesByTenant" maxElementsInMemory="1000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="users" maxElementsInMemory="10000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="usersByTenant" maxElementsInMemory="10000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="tenants" maxElementsInMemory="1000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="tenantsByName" maxElementsInMemory="1000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="folders" maxElementsInMemory="100000" eternal="true" overflowToDisk="false" diskPersistent="false"/> <cache name="profileAttributes" maxElementsInMemory="100000" eternal="true" overflowToDisk="false" diskPersistent="false"/> For more information on configuring JasperReports Server nodes for repository cache replication, refer to the Designing a Cluster chapter of the JasperReports Server Ultimate Guide.
  12. Important Note: UNDERGOING REANALYSIS This vulnerability has been modified and is currently undergoing reanalysis. Please check back soon to view the updated vulnerability summary. Jaspersoft will keep this page updated as more information becomes available. OverviewJaspersoft is aware of the recent vulnerability CVE-2022-42889, a remote code execution flaw in the Apache Common Text library. Apache Commons Text is an open-source library that performs variable interpolation, allowing properties to be dynamically evaluated and expanded. This is a newly discovered flaw that, if successfully exploited, could allow an unauthenticated attacker to take control of a targeted system. Impact: Affects Apache Commons Text version 1.5 - 1.9, wherein a set of default Lookup instances includes interpolators allowing arbitrary code execution and remote server connections. Targets: All Jaspersoft products Available HotfixesHotfixes are available for the following versions of JasperReports Server: JRS 8.0.x (LTS release): https://support.tibco.com/s/hotfixes?id=a014z00000yefQrAAIJRS 8.1.0 (Mainstream release): https://support.tibco.com/s/hotfixes?id=a014z00000yk3Z0AAIFix for JasperReports Server 7.8, 7.9, 8xUpgrade to Apache version 1.10, which disables problematic interpolators and to eliminate any threats associated with possible Text4shell exploitation. 1. Manually replace the old commons-te‎xt-1.8.jar or commons-te‎xt-1.9.jar with commons-tex‎t-1.10.0.jar, which can be found at Maven Repository: https://mvnrepository.com/artifact/org.apache.commons/commons-text/1.10.0 2. Replace the jar at tomcat/webapps/jasperserver-pro/WEB-INF/lib and in buildomatic: <js-install>/buildomatic/lib ReferencesCVE-2022-42889Maven Repository for Commons Text 1.10.0: https://mvnrepository.com/artifact/org.apache.commons/commons-text/1.10.0Document HistoryVersion 1.0 (Oct 24, 2022): Initial vulnerability report published. Version 2.0 (Oct 25, 2022): Added available hotfixes.Version 2.1 (Oct 31, 2022): Updated Step 1.
  13. Jaspersoft is aware of the recent Apache Tomcat bug 66277 which affects version 9.0.67. JasperReports Server 8.0.x or 8.1.x does not work with Tomcat 9.0.67. When using Tomcat 9.0.67, the following error messages may be seen. In jasperserver.log: 2022-10-07T19:45:51,295 ERROR SecureExceptionHandlerImpl,http-nio-8080-exec-4:125 - There was an error on the server. Try again or contact site administrators. org.apache.jasper.JasperException: /WEB-INF/decorators/main.jsp (line: [53], column: [9]) /WEB-INF/decorators/minimalDecorator.jsp (line: [46], column: [1]) JSP file [decoratorMinimalImports.jsp] not found In localhost-<date>.log: 07-Oct-2022 19:45:51.558 SEVERE [http-nio-8080-exec-6] org.apache.catalina.core.StandardHostValve.custom Exception Processing ErrorPage[errorCode=404, location=/404.html] org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.decorators.main_jsp Jaspersoft recommends using Tomcat 9.0.68, which addresses the issues with the previous version. For the latest supported versions of Apache Tomcat, refer to the Jaspersoft Platform Support Guide at https://docs.tibco.com/products/tibco-jasperreports-server-latest or https://community.jaspersoft.com/documentation?version=65136.
  14. Hi Tushar, Thanks for asking about Xalan. Please see this article: https://community.jaspersoft.com/wiki/xalan-vulnerability-update-jaspersoft-products for more information. Best regards, Joe P.
×
×
  • Create New...