<?xml version="1.0"?>
<rss version="2.0"><channel><title>Knowledge Base: FAQs</title><link>https://community.jaspersoft.com/knowledgebase/faq/page/35/?d=6</link><description>Knowledge Base: FAQs</description><language>en</language><item><title>Connecting to Amazon RDS/Redshift from a remote TIBCO JasperReports&#xAE; Server fails</title><link>https://community.jaspersoft.com/knowledgebase/faq/connecting-amazon-rdsredshift-remote-tibco-jasperreports-server-fails/</link><description><![CDATA[<h2>Issue</h2><p>When trying to create an AWS Data Source on TIBCO JasperReports<sup>®</sup> Server you are seeing the following error message:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_connection_failed.png.4c3c6d16b73505f037786c086f13fa61.png" data-fileid="90085" data-fileext="png" rel=""><img data-fileid="90085" class="ipsImage ipsImage_thumbnailed" alt="amazon_connection_failed.png.4c3c6d16b73505f037786c086f13fa61.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_connection_failed.png.4c3c6d16b73505f037786c086f13fa61.png" loading="lazy"></a></p><hr><h2>Possible cause and solution</h2><p>A probable cause for this type of error message is that the automatic access rules setup for this JasperReports Server instance is disabled in Cloud Settings. Log in as superuser, then go to Manage -&gt; Server Settings -&gt; Cloud Settings, and make sure the the following property is checked:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_automatic_access_rule_setup_setting.png.64ce3213650776d7ff5b9acf43b4cd75.png" data-fileid="90087" data-fileext="png" rel=""><img data-fileid="90087" class="ipsImage ipsImage_thumbnailed" alt="amazon_automatic_access_rule_setup_setting.png.64ce3213650776d7ff5b9acf43b4cd75.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_automatic_access_rule_setup_setting.png.64ce3213650776d7ff5b9acf43b4cd75.png" loading="lazy"></a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_connection_failed.png.b9025d614c0dfadb432dae1bebe8de9a.png" data-fileid="90086" data-fileext="png" rel=""><img data-fileid="90086" class="ipsImage ipsImage_thumbnailed" alt="amazon_connection_failed.png.b9025d614c0dfadb432dae1bebe8de9a.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_connection_failed.png.b9025d614c0dfadb432dae1bebe8de9a.png" loading="lazy"></a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_automatic_access_rule_setup_setting.png.c50dc32b9d6d7a52166e691da8595978.png" data-fileid="90088" data-fileext="png" rel=""><img data-fileid="90088" class="ipsImage ipsImage_thumbnailed" alt="amazon_automatic_access_rule_setup_setting.png.c50dc32b9d6d7a52166e691da8595978.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_automatic_access_rule_setup_setting.png.c50dc32b9d6d7a52166e691da8595978.png" loading="lazy"></a></p>]]></description><guid isPermaLink="false">2858</guid><pubDate>Sun, 19 Nov 2017 03:26:56 +0000</pubDate></item><item><title>Connecting to Amazon RDS/Redshift from JasperReports&#xAE; Server deployed on premises</title><link>https://community.jaspersoft.com/knowledgebase/faq/connecting-amazon-rdsredshift-jasperreports-server-deployed-premises/</link><description><![CDATA[<h2>Use case</h2><p>In this scenario, the database (either Redshift or one of database types available as Amazon RDS) is deployed in cloud, and TIBCO JasperReports<sup>®</sup> Server is deployed locally or somewhere outside AWS.</p><hr><h2>The steps</h2><p>In this scenario you will have to use AWS credentials to connect to Amazon RDS/Redshift. One way to do this is to click on the Generate Credentials link in AWS Data Source dialog:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_-_generate_credentials.png.362bc31ba1695a6f7d54a8fd0b8098ae.png" data-fileid="90082" data-fileext="png" rel=""><img data-fileid="90082" class="ipsImage ipsImage_thumbnailed" alt="amazon_-_generate_credentials.png.362bc31ba1695a6f7d54a8fd0b8098ae.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_-_generate_credentials.png.362bc31ba1695a6f7d54a8fd0b8098ae.png" loading="lazy"></a></p><p>And then follow the steps to generate a user with credentials from CloudFormation Template. It should be done within a minute.</p><p>Another way to create the credentials is to log into your AWS console, go to Services -&gt; IAM -&gt; Users, select your user, go to the Security Credentials tab, and generate a new pair by clicking on the 'Create Access Key' button.</p><p>WARNING: keep any active keys safe; if a malicious user gets a hold of the Access Key and the Secret Key, they will have access to the resources deployed on your AWS account and will be able to use them at your expense.</p><p>Once created, copy the Access Key and the Secret Key to the data source fields. After this you can select the required region, find available databases with 'Find My AWS Data Sources' button and connect using your database credentials.</p><hr><h2>Other notes</h2><p>You may also have to specify your JasperReports Server's public IP address so that AWS data source can create a security rule on AWS for your server to be able to connect to Amazon RDS/Redshift. The IP is specified in the web interface of JasperReports Server under Manage-&gt;Server Settings-&gt;Cloud Settings:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_public_ip_setting.png.0127b786da29f599130488fd7d0ff0a1.png" data-fileid="90083" data-fileext="png" rel=""><img data-fileid="90083" class="ipsImage ipsImage_thumbnailed" alt="amazon_public_ip_setting.png.0127b786da29f599130488fd7d0ff0a1.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_public_ip_setting.png.0127b786da29f599130488fd7d0ff0a1.png" loading="lazy"></a></p><hr><p>See also: <a href="https://community.jaspersoft.com/wiki/connecting-amazon-rdsredshift-jasperreports-server-deployed-aws" rel="external nofollow">Connecting to Amazon RDS/Redshift from JasperReports Server deployed on AWS</a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/amazon_public_ip_setting.png.5e0c23429a4c1531123ab0e8586b7542.png" data-fileid="90084" data-fileext="png" rel=""><img data-fileid="90084" class="ipsImage ipsImage_thumbnailed" alt="amazon_public_ip_setting.png.5e0c23429a4c1531123ab0e8586b7542.png" src="//media.invisioncic.com/i328763/monthly_2017_11/amazon_public_ip_setting.png.5e0c23429a4c1531123ab0e8586b7542.png" loading="lazy"></a></p>]]></description><guid isPermaLink="false">2857</guid><pubDate>Sun, 19 Nov 2017 03:17:26 +0000</pubDate></item><item><title>NoSuchMethodError after applying 6.4.0 hotfix</title><link>https://community.jaspersoft.com/knowledgebase/faq/nosuchmethoderror-after-applying-640-hotfix/</link><description><![CDATA[<h2>Issue description</h2><p>After applying a cumulative hotfix for TIBCO JasperReports<sup>®</sup> Server v6.4.0 some reports fail with the following error:</p><pre class='ipsCode prettyprint lang-auto prettyprinted'>java.lang.NoSuchMethodError: net.sf.jasperreports.engine.fill.BaseReportFiller.getUsedPageWidth()I</pre><h2>Cause and solution</h2><p>The latest hotfix for JasperReports Server 6.4.0 contains an additional step which is not usually present in most hotfix packages:</p><ul><li><strong><em>Delete the files listed in the section "Deleted files" from the web application files structure.</em></strong></li></ul><p>The mentioned section lists the <em><strong>../WEB-INF/lib/jasperreports-6.4.1.jar</strong></em> file, which you have to delete prior to applying the hotfix. Since this step is unique to the latest version of 6.4.0 hotfix, it is fairly easy to overlook</p>]]></description><guid isPermaLink="false">2847</guid><pubDate>Fri, 17 Nov 2017 00:37:18 +0000</pubDate></item><item><title>How to pass an XML Datasource to a Table Component</title><link>https://community.jaspersoft.com/knowledgebase/faq/how-pass-xml-datasource-table-component/</link><description><![CDATA[<p></p><h2>Issue Description</h2><p>It is possible pass an XML Datasource to a jrxml's Table Component.</p><hr /><h2>Resolution</h2><p>The JasperReport Samples can be combined to provide information and examples of passing an XmlDatasource to a Table Component.   So we'll reference these:</p><p>Subreport example:</p><p><a href="http://jasperreports.sourceforge.net/sample.reference/subreport/index.html#subreports" rel="external nofollow">http://jasperreports.sourceforge.net/sample.reference/subreport/index.html#subreports</a></p><p>XmlDatasource example:</p><p><a href="http://jasperreports.sourceforge.net/sample.reference/xmldatasource/index.html" rel="external nofollow">http://jasperreports.sourceforge.net/sample.reference/xmldatasource/index.html</a></p><p>The files can be used within Studio via File -&gt; New -&gt; Project , browsing to the JasperReports Samples project, then running the report against the "Sample DB" datasource where possible.</p><p>Table Components, like charts and crosstabs get their data from "datasets".   A dataset is similar to a subreport in many ways, so a table and subreport are very similar.   The XmlDataSource sample's CustomersReport calls a subreport, so we can use it as the basis for our table.</p><ol><li><p>In typical subReport element you define either &lt;connectionExpression&gt; or &lt;dataSourceExpression&gt; to specify the source used to populate the sub.   (see Subreport example )</p></li><li><p>In typical table component you specify the dataset via a datasetRun element, like:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;datasetRun subDataset="TableDataset" 
</pre><p>(for more info on datasets and datasetruns see the JR Ultimate Guide Datasets chapter)</p></li><li><p>But as you've seen in XmlDatasource sample, instead of &lt;connectionExpression&gt; , the Xpath query executor (queryString language="xPath") can expect &lt;subreportParameterExpression&gt;$P{XML_DATA_DOCUMENT} .  You can do the same thing with table compoments, skip the datasetRun, and just set subreportParameterExpression&gt;$P{XML_DATA_DOCUMENT}</p></li></ol><p>In the attached <em><strong>CustomersXmlMain.jrxml</strong></em>, I edited the XmlDataSource samples main report to remove the subreport and replace it with a table component.  To do this I:</p><ol><li><p>Ran the table wizard to get basic field layout.    </p></li><li><p>Then I grabbed the query from the Xmldatasource example's subreport, OrdersReport.jrxml:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;queryString language="xPath"&gt;
    &lt;![CDATA[/Northwind/Orders[CustomerID='$P{CustomerID}']]]&gt;
</pre></li><li><p>Created a parameter for the table's dataset</p></li><li><p>Edited the jrxml source, modifying the datasetRun to have three parameters, one for the parameterized query, the others for the Xpath executor:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;datasetParameter name="CustomerID"&gt;
    &lt;datasetParameterExpression&gt;
        &lt;![CDATA[$F{CustomerID}]]&gt;
    &lt;/datasetParameterExpression&gt;
&lt;/datasetParameter&gt;
&lt;datasetParameter name="XML_DATA_DOCUMENT"&gt;
    &lt;datasetParameterExpression&gt;
        &lt;![CDATA[$P{XML_DATA_DOCUMENT}]]&gt;
    &lt;/datasetParameterExpression&gt;
&lt;/datasetParameter&gt;
&lt;datasetParameter name="XML_DATE_PATTERN"&gt;
    &lt;datasetParameterExpression&gt;
        &lt;![CDATA["yyyy-MM-dd-HH"]]&gt;
    &lt;/datasetParameterExpression&gt;
&lt;/datasetParameter&gt;
</pre></li></ol><hr /><h3>References:</h3><p><a href="http://community.jaspersoft.com/documentation/jasperreports-library-ultimate-guide" rel="external nofollow">http://community.jaspersoft.com/documentation/jasperreports-library-ultimate-guide</a></p><hr /><p><strong><em>Ref. Case 01438960</em></strong></p>
<p><a class="ipsAttachLink" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130527&amp;key=9ee2083f01bb70d95ec293c0b19bc41e" data-fileExt='jrxml' data-fileid='130527' data-filekey='9ee2083f01bb70d95ec293c0b19bc41e'>customersxmlmain_0.jrxml</a></p>]]></description><guid isPermaLink="false">2619</guid><pubDate>Sat, 13 May 2017 19:08:27 +0000</pubDate></item><item><title>Manually Update AWS Marketplace Instances to use Tomcat 8/Java 8</title><link>https://community.jaspersoft.com/knowledgebase/faq/manually-update-aws-marketplace-instances-use-tomcat-8java-8/</link><description><![CDATA[<h1>Steps to Manually Upgrade the Java and Tomcat versions from 7 to 8 on the Amazon AWS Marketplace CloudFormation Template AMIs</h1><p>Steve Park, CISSP, Principal Customer Success Engineer, TIBCO Jaspersoft</p><p>Written on November 14th, 2017</p><p>The AMIs that are included with the hourly and BYOL Cloud Formation Templates (CFT) available on the Amazon Marketplace use Tomcat 7 and Java 7. In addition to being no longer officially supported, both our internal testing and feedback from customers indicate that Tomcat 8 and Java 8 offer superior performance. In order to upgrade the Tomcat and Java versions, please follow the following steps. These steps were tested using JasperReports Server 6.3.0, but I'm unaware of any issues when using either version 6.3.2 or version 6.4.</p><h2>Manual Upgrade Steps</h2><ul><li><p>Launch either an hourly or BYOL instance on the Marketplace and SSH into it using the ec2-user@&lt;amazon-public-hostname-or-ip&gt; account</p></li><li><p>Become the root user:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>sudo su -
        </pre></li><li><p>Update all of the packages on the instance:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>yum update
        </pre></li><li><p>Remove the Tomcat 7 server:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>yum erase tomcat7
        </pre></li><li><p>Remove OpenJDK7:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>yum erase java-1.7.0-openjdk.x86_64
        </pre></li><li><p>Install OpenJDK8:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>yum install java-1.8.0-openjdk.x86_64
        </pre></li><li><p>Edit the /etc/profile file and add the following line right above the EXPORT command:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>JAVA_HOME=/usr/lib/jvm/jre-1.8.0
        </pre></li><li><p>Add JAVA_HOME to the list of variables set by the EXPORT command:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME
        </pre></li><li><p>Execute the source command on the command line to set the JAVA_HOME environment variable:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>source /etc/profile
        </pre></li><li><p>Run the echo command on the command line to verify the JAVA_HOME environment variable has been properly set:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>echo $JAVA_HOME
        </pre></li><li><p>Install Tomcat 8:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>yum install tomcat8
        </pre></li><li><p>Change the tomcat user's home folder by executing the following command on the command line:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>usermod -d /usr/share/tomcat8 tomcat
        </pre></li><li><p>Navigate to the /etc/jasperserver folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd /etc/jasperserver
        </pre></li><li><p>Navigate to the /etc/jasperserver folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd /etc/jasperserver
        </pre></li><li><p>Rename the tomcat7.config file to tomcat8.config:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>mv tomcat7.config tomcat8.config
        </pre></li><li><p>Open the tomcat8.config file in a text editor like vi, and change the second CATALINA_OPTS= line to:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>CATALINA_OPTS="$CATALINA_OPTS -XX:+UseG1GC"
        </pre></li><li><p>Save and close the file</p></li><li><p>On the command line, replace all occurrences of tomcat7 with tomcat8 in the files in the current directory:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>sed -i 's/tomcat7/tomcat8/g'
        </pre></li><li><p>Edit the memory_settings.sh file in a text editor like vi and replace its contents with the following:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>#!/bin/sh
            rm -f /tmp/instance-type
            wget -q http://169.254.169.254/latest/meta-data/instance-type -O /tmp/instance-type
            itype=`cat /tmp/instance-type`
            case $itype in
            ("m1.medium") echo "-Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -Xss2m";;
            ("m3.medium") echo "-Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -Xss2m";;
            ("m1.large") echo "-Xms5500m -Xmx5500m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("m3.large") echo "-Xms5500m -Xmx5500m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("m1.xlarge") echo "-Xms13300m -Xmx13300m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("m3.xlarge") echo "-Xms13000m -Xmx13000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m3.2xlarge") echo "-Xms28000m -Xmx28000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("c1.xlarge") echo "-Xms5500m -Xmx5500m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("m2.xlarge") echo "-Xms15000m -Xmx15000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m2.2xlarge") echo "-Xms30000m -Xmx30000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m2.4xlarge") echo "-Xms62000m -Xmx62000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("hi1.4xlarge") echo "-Xms560000m -Xmx560000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("hs1.8xlarge") echo "-Xms107000m -Xmx107000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("cc1.4xlarge") echo "-Xms20000m -Xmx20000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("cc2.8xlarge") echo "-Xms56000m -Xmx56000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("cg1.4xlarge") echo "-Xms20000m -Xmx20000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m4.large") echo "-Xms5500m -Xmx5500m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("m4.xlarge") echo "-Xms13000m -Xmx13000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m4.2xlarge") echo "-Xms28000m -Xmx28000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m4.4xlarge") echo "-Xms60000m -Xmx60000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("m4.10xlarge") echo "-Xms150000m -Xmx150000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("r3.xlarge") echo "-Xms280000m -Xmx280000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("r3.2xlarge") echo "-Xms56000m -Xmx56000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("c4.xlarge") echo "-Xms5500m -Xmx5500m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xss2m";;
            ("c4.2xlarge") echo "-Xms13000m -Xmx13000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("c4.4xlarge") echo "-Xms280000m -Xmx280000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            ("c4.8xlarge") echo "-Xms56000m -Xmx56000m -XX:MetaspaceSize=2048m -XX:MaxMetaspaceSize=2048m -Xss2m";;
            (*) echo "-Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -Xss2m";;
            esac
        </pre></li><li><p>Save the file and exit the text editor</p></li><li><p>On the command line, navigate to the /etc/tomcat8 folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd /etc/tomcat8
        </pre></li><li><p>Edit the tomcat8.conf file and change the JAVA_HOME variable to:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>/usr/lib/jvm/jre-1.8.0
        </pre></li><li><p>Save the file and exit the text editor</p></li><li><p>On the command line, use the cat command to append the contents of the /etc/jasperserver/tomcat8.config file to the /etc/tomcat8/tomcat8.conf file:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cat /etc/jasperserver/tomcat8.config &gt;&gt; /etc/tomcat8/tomcat8.conf
        </pre></li><li><p>Copy the /etc/jasperserver jrs_* files to their respective locations in the /etc/init.d folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cp /etc/jasperserver/jrs_boot_settings.sh /etc/init.d/jrs_boot_settings
            cp /etc/jasperserver/jrs_init.sh /etc/init.d/jrs_init
        </pre></li><li><p>Navigate to the /etc/init.d folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd /etc/init.d
        </pre></li><li><p>Enable the jrs_init script to run on startup:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>chkconfig jrs_init on
        </pre></li><li><p>Change ownership of the /etc/init.d/jrs* scripts to ec2-user:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>chown ec2-user:ec2-user /etc/init.d/jrs*
        </pre></li><li><p>Edit the /etc/tomcat8/server.xml file and change the port from 8080 to 80:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;Connector port="80"
           protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" /&gt;
</pre></li><li><p>Edit the /etc/yum/post-actions/allowTomcatToBindPort80.action file and change all occurrences of tomcat7 to tomcat8</p></li><li><p>Save the file and exit the text editor</p></li><li><p>On the command line, navigate to the /usr/share/jrs_dist/jasperreports-server-bin folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd /usr/share/jrs_dist/jasperreports-server-bin
</pre></li><li><p>Recursively change the tomcat7 references to tomcat8 in all files:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>find ./ -type f -exec sed -i -e 's/tomcat7/tomcat8/g' {} \;
</pre></li><li><p>On the command line, navigate to the buildomatic folder that's under the current folder:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cd buildomatic
        </pre></li><li><p>Deploy the JasperReports Server web application:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>./js-ant deploy-webapp-pro
        </pre></li><li><p>Copy the password-changer-1.0.jar file from /etc/jasperserver to /usr/share/tomcat8/lib:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cp /etc/jasperserver/password-changer-1.0.jar /usr/share/tomcat8/lib
        </pre></li><li><p>Copy the ROOT application from tomcat7 to tomcat8:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>cp -R /var/lib/tomcat7/webapps/ROOT /var/lib/tomcat8/webapps
        </pre></li><li><p>Change ownership of /var/lib/tomcat8 to tomcat:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>chown -R tomcat:tomcat /var/lib/tomcat8
        </pre></li><li><p>Change ownership of /usr/share/tomcat8 to tomcat:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>chown -R tomcat:tomcat /usr/share/tomcat8
        </pre></li><li><p>Exit out of the SSH session</p></li><li><p>In the web browser, assuming you're still logged in to AWS, click <b>Services -&gt; EC2</b></p></li><li><p>Click the <b>Running Instances</b> link</p></li><li><p>Click the checkbox next to the running instance, then click <b>Actions -&gt; Image -&gt; Create Image</b></p></li><li><p>Provide an image name and description, then click the <b>Create Image</b> button</p></li><li><p>Click the <b>Services</b> menu item, then under <i>Management Tools</i>, click the <b>CloudFormation</b> link</p></li><li><p>Click the name of the running stack</p></li><li><p>Mouse over the <b>Other Actions</b> button in the upper-right corner and select the <b>View/Edit template in Designer</b> option</p></li><li><p>In the template code section in the lower half of the page, scroll until you find the section that begins with <i>Mappings</i> and contains <i>AWSRegionAMI</i></p></li><li><p>In the desired region, change the name of the AMI id to the one you just saved</p></li><li><p>Mouse over the <b>File</b> menu button in the upper-left corner (it looks like a page with the upper-right corner folded over) and select <b>Save</b></p></li><li><p>If you don't have an S3 bucket to save the template to, you may need to save it as a local file until you can create an S3 bucket later</p></li><li><p>Close the CloudFormation stack editor and return to the <i>Running Instances</i> page</p></li><li><p>Click the name of the running stack again</p></li><li><p>Click the <b>Update Stack</b> button in the upper-right corner</p></li><li><p>Specify either the S3 template URL or upload the saved template file to S3</p></li><li><p>Continue through the wizard until the stack restarts</p></li></ul><h2>Validation</h2><p>You can validate the steps taken by SSH'ing into the new instance and running the following commands:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>sudo su -
    java -version    # should show Java 8
    ps -eaf | grep tomcat   # should show the server using /var/lib/tomcat8 file locations
</pre>]]></description><guid isPermaLink="false">2843</guid><pubDate>Wed, 15 Nov 2017 01:08:49 +0000</pubDate></item><item><title>Error in buildomatic trying to use JTDS jdbc driver - "Error invoking getDriver() method"</title><link>https://community.jaspersoft.com/knowledgebase/faq/error-buildomatic-trying-use-jtds-jdbc-driver-error-invoking-getdriver-method/</link><description><![CDATA[<h2>Issue Description</h2><p>A customer attempted to switch buildomatic installation processes to use the jdbc driver from JTDS.  They encountered an error when running buildomatic commands, "Error invoking getDriver() method". The error means the jar file is found, but we're using the wrong class name to try and load the driver "class" from within the jar</p><p>The TIBCO JasperReports<sup>®</sup> Server Installation Guide reviews steps for using the default TIBCO jdbc driver for Microsoft Sql Server, as well as Microsoft's own jdbc driver which we refer to as native. These are described in the Installation guide in section titled "Working With JDBC Drivers". It does not review steps for using a third-party driver like the JTDS driver</p><hr /><h2>Resolution</h2><p>If you simply want JasperReports Server (the webapp) to use JTDS you could just update <em><strong>META-INFcontext.xml</strong></em> and stick the jar in Tomcat/lib. If you want the buildomatic process to use JTDS then one solution, in addition to the things you've already done within your <em><strong>default_master.properties</strong></em> file is to do:</p><ol><li><p>Comment-out the <em><strong>jdbcDriverMaker=native</strong></em> in <em><strong>default_master.properties</strong></em>, these steps won't use the native.</p></li><li><p>Edit <em><strong>6.3.0binbuildomaticconf_sourcedbsqlserverdb.properties</strong></em>, commenting out the initial driver value and adding a new driver, like:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'># driver class
# jdbcDriverClass=tibcosoftware.jdbc.sqlserver.SQLServerDriver
jdbcDriverClass=net.sourceforge.jtds.jdbc.Driver
</pre></li><li><p>Edit <em><strong>6.3.0binbuildomaticconf_sourcedbsqlserverdb.templates.properties</strong></em>, commenting out the initial url and add a new one, like:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'># port or instance are appended to host name in dbHost property during setup 
# admin.jdbcUrl=jdbc:tibcosoftware:sqlserver://${dbHostOrInstance};sendTimestampEscapeAsString=false 
# js.jdbcUrl=jdbc:tibcosoftware:sqlserver://${dbHostOrInstance};databaseName=${js.dbName};sendTimestampEscapeAsString=false admin.jdbcUrl=jdbc:jtds:sqlserver://${dbHostOrInstance};sendTimestampEscapeAsString=false js.jdbcUrl=jdbc:jtds:sqlserver://${dbHostOrInstance};databaseName=${js.dbName};sendTimestampEscapeAsString=false
</pre><p><em><strong>NOTE</strong></em>, you should double-check whether or not sendTimeStampEscapeAsString is a valid option/param for the jtds driver.</p></li><li><p>js-ant clean-config, followed by js-ant gen-config (to save and rebuild the associated configuration values and files)</p></li><li><p>The .jar needs to be in 6.3.0binbuildomaticconf_sourcedbsqlserverjdbc</p></li><li><p>Save and restart.</p></li></ol><hr /><p><strong><em>Ref. Case </em>01528977</strong></p>]]></description><guid isPermaLink="false">2840</guid><pubDate>Tue, 14 Nov 2017 22:59:44 +0000</pubDate></item><item><title>How to count the number of reports and dashboards that reside within a specific tenant / organization or folder</title><link>https://community.jaspersoft.com/knowledgebase/faq/how-count-number-reports-and-dashboards-reside-within-specific-tenant-organization-or-folder/</link><description><![CDATA[<h2>Issue Description</h2><p>How to count the number of reports and dashboards that reside within a specific tenant / organization?  This will require a SQL query against the repository tables.</p><hr /><h2>Resolution</h2><p>To count the number of reports and dashboards that reside within a specific tenant/org you'll have match reports/dashboards to folders since resources are identified by the folder they reside in, rather than some tenantID.  Underlying reportunits and dashboard are defined in JIResource table which contains field 'parent_folder' which identifies the folder ID they are within.</p><p>So first you'll need to interrogate the URI field of JIResourceFolder which contains ID and URI.  So if I new that the org "Greg" created reports and dashboards within organzations/greg/dailyreports, I'd find the ID via:</p><pre class='ipsCode prettyprint lang-sql prettyprinted'>select id 
  from jiresourcefolder 
 where URI like '%organization/Greg/dailyreports%'
</pre><p>Then you could do the following to fetch all reports and dashboards residing in that folder.  If the folder ID was 12345:</p><pre class='ipsCode prettyprint lang-sql prettyprinted'>select count(*)  
  from jiresource 
 where parent_folder = 12345  
   and (   resourcetype = 'com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit' 
        or resourcetype = 'com.jaspersoft.ji.dashboard.DashboardModelResource') 
</pre><p>For Ad Hoc Views, the resourcetype would be:</p><pre class='ipsCode prettyprint lang-sql prettyprinted'> 'com.jaspersoft.ji.adhoc.AdhocDataView'
</pre><p>Note, Reports Saved from Ad Hoc View are the same as regular jrxml-based reports, which is:</p><pre class='ipsCode prettyprint lang-sql prettyprinted'> 'com.jaspersoft.jasperserver.api.metadata.jasperreports.domain.ReportUnit'
</pre><p><strong><em>Ref. Case 01444894 </em></strong></p>]]></description><guid isPermaLink="false">2617</guid><pubDate>Sat, 13 May 2017 18:36:26 +0000</pubDate></item><item><title>TIBCO JasperReports&#xAE; Server install with Oracle 12c and "username should starts with c##" message</title><link>https://community.jaspersoft.com/knowledgebase/faq/tibco-jasperreports-server-install-oracle-12c-and-username-should-starts-c-message/</link><description><![CDATA[<p></p><h2>Issue Description</h2><p>Oracle 12c with CDB/PDB configured requires particular users for TIBCO JasperReports<sup>®</sup> Server installation.</p><p>The first symptom is that during js-install.bat (or other buildomatic commands) you encounter an error with message:</p><p>"username should starts with c##".</p><hr /><h2>Resolution</h2><p>Oracle CDB/PDB provides a multi-tenant architecture. If you are seeing the "username should starts with c##" message this is a sign that you are using a local or regular user to connect to the CDB. If you connect directly to the PDB via a specific SID, then the local or regular user should be fine, but you can't connect regular or local user to the CDB per Oracle, see <a href="https://docs.oracle.com/database/121/DBSEG/users.htm#DBSEG573" rel="external nofollow">https://docs.oracle.com/database/121/DBSEG/users.htm#DBSEG573</a></p><p>To connect to the CDB follow the instructions in the Installation Guide: <a href="https://community.jaspersoft.com/documentation/tibco-jasperreports-server-installation-guide/v630/installing-war-file-using-js" rel="external nofollow">https://community.jaspersoft.com/documentation/tibco-jasperreports-server-installation-guide/v630/installing-war-file-using-js</a>  . It states that for Oracle 12c with CDB/PDB  a common user should be specified in the default_master.properties file using the ## syntax as specified by Oracle:</p><p>Use settings for Oracle, except for the following changes:</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>dbUsername=c##jasperserver sid=cdb1
</pre><p><strong><em>Ref. Case </em>01533066</strong></p>]]></description><guid isPermaLink="false">2844</guid><pubDate>Wed, 15 Nov 2017 02:46:04 +0000</pubDate></item><item><title>Initial login password for AWS single instance VS cluster</title><link>https://community.jaspersoft.com/knowledgebase/faq/initial-login-password-aws-single-instance-vs-cluster/</link><description><![CDATA[<p></p><h2>Issue</h2><p>When installing TIBCO JasperReports<sup>®</sup> Server on a local/private machine, the default documented login/password are superuser/superuser. However this combination does not work for JasperReports Server instances deployedo on AWS using one of the <a href="https://community.jaspersoft.com/jaspersoft-aws/launch" rel="external nofollow">CloudFormation templates</a>.</p><h2>Explanation</h2><p>For single instances, the default password for a newly created will be the same as your instance name:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/aws_instance_name.png.b449dfcc2809d85d0398e1ceaf4e336d.png" data-fileid="90070" data-fileext="png" rel=""><img data-fileid="90070" class="ipsImage ipsImage_thumbnailed" alt="aws_instance_name.png.b449dfcc2809d85d0398e1ceaf4e336d.png" src="//media.invisioncic.com/i328763/monthly_2017_11/aws_instance_name.png.b449dfcc2809d85d0398e1ceaf4e336d.png" loading="lazy"></a></p><p>When deploying Jaspersoft for AWS Cluster, the default password will be the same as the password of the database created/used for this cluster:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/aws_default_cluster_password.png.0883e4665da211e898e87d887d03bc2f.png" data-fileid="90071" data-fileext="png" rel=""><img data-fileid="90071" class="ipsImage ipsImage_thumbnailed" alt="aws_default_cluster_password.png.0883e4665da211e898e87d887d03bc2f.png" src="//media.invisioncic.com/i328763/monthly_2017_11/aws_default_cluster_password.png.0883e4665da211e898e87d887d03bc2f.png" loading="lazy"></a></p><p>In both cases you will be prompted to change the password upon first login.</p><p>This information is also mentioned on the Getting Started for  JasperReports Server AWS instances</p>]]></description><guid isPermaLink="false">2830</guid><pubDate>Thu, 09 Nov 2017 19:58:20 +0000</pubDate></item><item><title>First deployment of TIBCO&#xA0;JasperReports&#xAE; Server on AWS fails</title><link>https://community.jaspersoft.com/knowledgebase/faq/first-deployment-tibco-jasperreports-server-aws-fails/</link><description><![CDATA[<h2>Use case description</h2><p>The first deployment of TIBCO JasperReports<sup>®</sup> Server on AWS instance for the account using a cloud formation template failed for no clear reason (for the reference, a full list of pre-configured instances of JasperReports<sup>®</sup> Server on AWS can be found on <a href="https://community.jaspersoft.com/jaspersoft-aws/launch" rel="external nofollow">this page</a>). No AWS instance was successfully deployed for this account previously.</p><hr><h2>Probable cause and solution</h2><p>The most common reason for a pre-configured cloud formation instance to fail is that the Sofrware Terms were not accepted for the account. The Software Terms are found on a separate page than the actual templates, which is why this step is easy to overlook. To accept the Software Terms, log into your AWS account and follow this link:</p><p><a href="https://aws.amazon.com/marketplace/search/results/ref=gtw_navgno_search_box?searchTerms=jaspersoft&amp;search=" rel="external nofollow">https://aws.amazon.com/marketplace/search/results/ref=gtw_navgno_search_box?searchTerms=jaspersoft&amp;search=</a></p><p>Select the type of an instance you need (Hourly or BYOL) and follow the corresponding link. On the next page you should see an option to accept the terms if you have not done so yet.</p><p>WARNING: once accepted DO NOT launch directly using 1-Click or the EC2 Console, but use a link to one of the cloud formation templates <a href="https://community.jaspersoft.com/jaspersoft-aws/launch" rel="external nofollow">from this page</a> instead.</p><p>The Software Terms tab should look something (except for you it should be active if not accepted yet):</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/aws_terms.png.b71851bfce2e4c43cd8463336b372512.png" data-fileid="90062" data-fileext="png" rel=""><img data-fileid="90062" class="ipsImage ipsImage_thumbnailed" alt="aws_terms.png.b71851bfce2e4c43cd8463336b372512.png" src="//media.invisioncic.com/i328763/monthly_2017_11/aws_terms.png.b71851bfce2e4c43cd8463336b372512.png" loading="lazy"></a></p><p> </p>]]></description><guid isPermaLink="false">2817</guid><pubDate>Wed, 08 Nov 2017 00:30:39 +0000</pubDate></item><item><title>Filter external roles via LDAP</title><link>https://community.jaspersoft.com/knowledgebase/faq/filter-external-roles-ldap/</link><description><![CDATA[<h2>Issue:</h2><p>We need to restrict certain roles from database from getting synched into TIBCO JasperReports<sup>®</sup> Server.</p><hr /><h2>Resolution:</h2><p>To restrict particular roles one can use below property from LDAP context file.</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;property name="permittedRolesRegex"&gt;
    &lt;list&gt;
        &lt;value&gt;JRS_.*&lt;/value&gt;
        &lt;value&gt;EXT_.*&lt;/value&gt;
    &lt;/list&gt;
&lt;/property&gt;</pre><p>Above  example restrict the roles you create in TIBCO JasperReports Server to roles that begin with JRS_ or EXT_ from your external database.</p>]]></description><guid isPermaLink="false">2829</guid><pubDate>Thu, 09 Nov 2017 05:38:08 +0000</pubDate></item><item><title>Dashboard Drill down</title><link>https://community.jaspersoft.com/knowledgebase/faq/dashboard-drill-down/</link><description><![CDATA[<p>How to have a drill down on a Adhoc chart  in dashboard that will open the table report in new tab with Parameters.</p><ol><li><p>Click on create Dashboard and add a Adhoc chart .</p></li><li><p>It will open up the Adhoc view editor and then choose a data source for the chart.</p></li><li><p>Below screenshot shows sample from Emplyee report with City as filter</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture1.jpg.9836a30627ceac1b50eaf99d6667d3e9.jpg" data-fileid="90064" data-fileext="jpg" rel=""><img data-fileid="90064" class="ipsImage ipsImage_thumbnailed" alt="capture1.jpg.9836a30627ceac1b50eaf99d6667d3e9.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture1.jpg.9836a30627ceac1b50eaf99d6667d3e9.jpg" loading="lazy"></a></p></li><li><p>Save the Adhoc chart and return to Dashboard. This will add chart as dashlet</p></li><li><p>Prepare a table report taking parameter  as City. In this example I have used Sample report Accounts.</p></li><li><p>Click on Map Parameters and map the parameters as shown below.</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture2.jpg.682ff56b396bb0cae602de45f9721688.jpg" data-fileid="90066" data-fileext="jpg" rel=""><img data-fileid="90066" class="ipsImage ipsImage_thumbnailed" alt="capture2.jpg.682ff56b396bb0cae602de45f9721688.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture2.jpg.682ff56b396bb0cae602de45f9721688.jpg" loading="lazy"></a></p></li><li><p>Right click on chart dashlet and click on properties and then to Hyperlink Tab.</p></li><li><p>Tick mark on "Enable Hyperlinks:" and choose 'Open new page' from Action option.</p></li><li><p>Click on browse and choose table report saved earlier.</p></li><li><p>After choosing the report add Parameter at the end like below:</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture3.jpg.778bace685c6fbe8f622f8f94c954b5a.jpg" data-fileid="90068" data-fileext="jpg" rel=""><img data-fileid="90068" class="ipsImage ipsImage_thumbnailed" alt="capture3.jpg.778bace685c6fbe8f622f8f94c954b5a.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture3.jpg.778bace685c6fbe8f622f8f94c954b5a.jpg" loading="lazy"></a></p></li><li><p>Click Ok and now run the dashboard and click on the bar chart. This should open table report in new tab with specified parameter value from Dashboard.</p></li></ol><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture1.jpg.63f64d73ce9d133a443a9b280c7f8073.jpg" data-fileid="90065" data-fileext="jpg" rel=""><img data-fileid="90065" class="ipsImage ipsImage_thumbnailed" alt="capture1.jpg.63f64d73ce9d133a443a9b280c7f8073.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture1.jpg.63f64d73ce9d133a443a9b280c7f8073.jpg" loading="lazy"></a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture2.jpg.63ac3a975ac477a4452250a3a388cc88.jpg" data-fileid="90067" data-fileext="jpg" rel=""><img data-fileid="90067" class="ipsImage ipsImage_thumbnailed" alt="capture2.jpg.63ac3a975ac477a4452250a3a388cc88.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture2.jpg.63ac3a975ac477a4452250a3a388cc88.jpg" loading="lazy"></a></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_11/capture3.jpg.5c47ae8f0c1c0601e6672878003dd4a0.jpg" data-fileid="90069" data-fileext="jpg" rel=""><img data-fileid="90069" class="ipsImage ipsImage_thumbnailed" alt="capture3.jpg.5c47ae8f0c1c0601e6672878003dd4a0.jpg" src="//media.invisioncic.com/i328763/monthly_2017_11/capture3.jpg.5c47ae8f0c1c0601e6672878003dd4a0.jpg" loading="lazy"></a></p>]]></description><guid isPermaLink="false">2826</guid><pubDate>Thu, 09 Nov 2017 00:31:08 +0000</pubDate></item><item><title>Running report against JSON data file behavior</title><link>https://community.jaspersoft.com/knowledgebase/faq/running-report-against-json-data-file-behavior/</link><description><![CDATA[<h2>Issue Description: </h2><p>How has the behavior changed when running a report that goes against a JSON file from 6.2 onwards?</p><hr /><h2>Resolution:</h2><ul><li><p>- 6.2.1: This is working as expected</p></li><li><p>- 6.3.2: The following error is thrown</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>net.sf.jasperreports.engine.JRException: repo.input.stream.not.found
</pre></li><li><p>- 6.4.0: No error is generated, but instead 'null' is displayed in the browser</p></li></ul><p>A defect has been filed to address this issue. </p>]]></description><guid isPermaLink="false">2713</guid><pubDate>Fri, 18 Aug 2017 22:56:23 +0000</pubDate></item><item><title>Custom bean datasource sample</title><link>https://community.jaspersoft.com/knowledgebase/faq/custom-bean-datasource-sample/</link><description><![CDATA[<p>This article is to introduce an example bean data source based on existing samples available in jasper. If you download the TIBCO JasperReports<sup>®</sup> Library available on <a href="" rel="">http://eDelivery.tibco.com,</a> you will find several example reports that connect to a custom data source. You can import this project into jasperpStudio to see the JRXMLs, and in this case, we are interested in DataSourceReport1.jrxml.</p><p>This report connects to a custom data source, and we will connect it to a bean data source we will create once we publish this report to jasperServer.</p><p>First we will need to start by making a change to the sample found at <em><strong>&lt;js-install&gt;samplescustomDataSourcesrcexamplecds</strong></em></p><p>In the CustomSimplifiedDataSourceService.java file, add the below method</p><pre class='ipsCode prettyprint lang-auto prettyprinted'>public static ReportDataSourceService createDataSourceInstance() {
        return new CustomSimplifiedDataSourceService();
    }
</pre><p>This method is used by jasperServer to create the data source service that then accesses the JRDataSource. Once this is added, build the code using the readme.txt instructions in the customDataSource folder. The class files generated under <em><strong>customDataSourceclassesexamplecds</strong></em> should be copied to the <em><strong>WEB-INFclassesexamplecds</strong></em>  folder. You will also need to create a bean definition xml file that contains the bean name and class e.g.</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"&gt;
       
    &lt;bean id="myBean" class="example.cds.CustomSimplifiedDataSourceService"&gt;
    &lt;/bean&gt;
&lt;/beans&gt;
</pre><p>This xml should be placed in the WEB-INF folder. Once you restart JasperServer, you should be able to create a new bean data source in the repository, with the bean name "myBean" and method as the method as createDataSourceInstance.<br />You can test this data source by publishing the DataSourceReport1.jrxml to jasperServer and specify the bean data source in the report unit.</p>
<p><a class="ipsAttachLink" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130537&amp;key=a4d39468a72d2593de5a47aca2cf85c6" data-fileExt='zip' data-fileid='130537' data-filekey='a4d39468a72d2593de5a47aca2cf85c6'>beandatasource.zip</a></p>]]></description><guid isPermaLink="false">2719</guid><pubDate>Fri, 25 Aug 2017 22:41:11 +0000</pubDate></item><item><title>jMeter and REST data source performance testing</title><link>https://community.jaspersoft.com/knowledgebase/faq/jmeter-and-rest-data-source-performance-testing/</link><description><![CDATA[<p></p><h2>Issue Description:</h2><p>Is it possible to do performance testing REST data sources using jMeter</p><hr /><h2>Resolution:</h2><p>Using jMeter, it is possible to do performance testing on REST data sources. The starting point is the reference link below to create the script:</p><p><a href="https://www.3pillarglobal.com/insights/performance-testing-of-a-restful-api-using-jmeter" rel="external nofollow">https://www.3pillarglobal.com/insights/performance-testing-of-a-restful-api-using-jmeter</a></p><p>The key here is the ability to switch the REST calls in the script to any REST call you wish to </p><p>specify. Supposing you have a data source that fetches the list of resources in a jasper repository</p><p>database and you want to see how it performs. You would want to add the following items to the script:</p><ol><li>right click thread group -&gt; add -&gt; config element -&gt; http cookie manager</li><li>right click thread group -&gt; add -&gt; sampler -&gt; http request (REST request for login)</li><li>right click thread group -&gt; add -&gt; sampler -&gt; http request (REST request to fetch resources)</li><li>right click http request created in step 3 -&gt; add -&gt; config element -&gt; http header manager (specify accept header)</li></ol><p>Attached is an example jMeter script that contains the above.</p>
<p><a class="ipsAttachLink" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130538&amp;key=cff836534fe72ffe1c68b58b53ef9733" data-fileExt='jmx' data-fileid='130538' data-filekey='cff836534fe72ffe1c68b58b53ef9733'>rest_api_performance_test_jasper.jmx</a></p>]]></description><guid isPermaLink="false">2740</guid><pubDate>Thu, 14 Sep 2017 18:05:16 +0000</pubDate></item><item><title>Common errors when working with REST based datasources</title><link>https://community.jaspersoft.com/knowledgebase/faq/common-errors-when-working-rest-based-datasources/</link><description><![CDATA[<table border="0" cellpadding="0" cellspacing="0" style="width:100%;"><tbody><tr><td style="width:50%;"><h2>Issue Description: </h2><p>What are some common pitfalls when setting up REST based datasources?</p><hr /><h2>Resolution:</h2></td><td>[toc]</td></tr></tbody></table><pre class='ipsCode prettyprint lang-auto prettyprinted'>- net.sf.jasperreports.engine.JRException: java.lang.IllegalStateException: Target host is null
</pre><p>The above error is likely due to the data source being incorrectly configured in TIBCO JasperReports<sup>®</sup> Server. Make sure the URI parameter is populated.</p><pre class='ipsCode prettyprint lang-auto prettyprinted'>- Communication error java.net.UnknownHostException: someRemoteHost
</pre><p>The above error is likely due to some problem with JasperServer connecting to the remote host. Check if there is anything obstructing communication between JasperServer and the remote host.</p>]]></description><guid isPermaLink="false">2593</guid><pubDate>Fri, 28 Apr 2017 23:47:58 +0000</pubDate></item><item><title>Unable to see full result set from REST datasource</title><link>https://community.jaspersoft.com/knowledgebase/faq/unable-see-full-result-set-rest-datasource/</link><description><![CDATA[<h2>Issue Description:</h2><p>When previewing a report connecting to REST using web service data adapter, only one row of data is returned. How can the rest of the data be retrieved?</p><hr /><h2>Resolution:</h2><p>Fetching data from a REST endpoint is similar to fetching data in XPath, in that depending on how you specify your root path that is where the search for the data will be conducted. For instance, supposing you are designing a report in jasperStudio that connects to a REST endpoint via data adapter. When you tell jasperStudio how to fetch the data in the dataser and query dialog window -&gt; fields tab, you click 'get server response' button and a list of nodes is generated corresponding to what the endpoint returns. The leaf level is what you would use to specify as the root path (which can be done if you right click on the node and choose 'set as root path'), which should contain the data returned from REST.</p><p> </p>]]></description><guid isPermaLink="false">2641</guid><pubDate>Tue, 23 May 2017 23:52:39 +0000</pubDate></item><item><title>Sample report connecting to JSON file</title><link>https://community.jaspersoft.com/knowledgebase/faq/sample-report-connecting-json-file/</link><description><![CDATA[<h2>Issue Description: </h2><p>Is there an example of a report that reads from a JSON file?</p><hr /><h2>Resolution:</h2><p>In 6.4, if you install the samples you will see in the repository under <em><strong>/public/Samples/Reports an example report - 41._Sample_Report_Using_Json_Data_Source</strong></em>. This report connects to a JSON data file located in the report unit. The key here is a parameter in the JRXML called <em><strong>net.sf.jasperreports.json.source</strong></em> that points to the JSON file:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;property name="net.sf.jasperreports.json.source" value="repo:northwind"/&gt;
</pre><p>In case you don't install the sample data, the report is attached here for your convenience. You can import this zip using either <em><strong>js-import</strong></em> utility or via the GUI in the jasperReports Server application.</p><p> </p><p> </p>
<p><a class="ipsAttachLink" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130543&amp;key=eeae1b755c24afb0daf07064aff83cb3" data-fileExt='zip' data-fileid='130543' data-filekey='eeae1b755c24afb0daf07064aff83cb3'>samplejsonreport.zip</a></p>]]></description><guid isPermaLink="false">2759</guid><pubDate>Thu, 28 Sep 2017 22:53:54 +0000</pubDate></item><item><title>Where to obtain example reports utilizing custom data sources</title><link>https://community.jaspersoft.com/knowledgebase/faq/where-obtain-example-reports-utilizing-custom-data-sources/</link><description><![CDATA[<h2>Issue Description:</h2><p>Are there example reports that utilize custom data sources, and if so, where are they?</p><hr /><h2>Resolution:</h2><p>These sample reports are available in the TIBCO JasperReports<sup>®</sup> Library download, available on our eDelivery portal (<a href="http://eDelivery.tibco.com" rel="external nofollow">http://eDelivery.tibco.com</a>). These reports can be imported into TIBCO Jaspersoft<sup>®</sup> Studio Pro as a project, with the report design files as well as the data adapters needed to connect to the data sources. The following steps can be used to obtain these reports:</p><ul><li><p>Once logged into the eDelivery portal, go to 'All-Products A-Z' -&gt; 'J' hyperlink under 'catalog' -&gt; 'TIBCO JasperReports Server - Enterprise Edition' -&gt; 'TIBCO JasperReports Library Software' and download the zip file</p></li><li><p>After you've unzipped it, launch TIBCO Jaspersoft<sup>®</sup> Studio Pro</p></li><li><p>Go to File -&gt; Import -&gt; Existing Projects into Workspace -&gt; Select root directory radio button -&gt; browse to the folder where you unzipped the zip file -&gt; finish button</p></li><li><p>After import, open the project explorer tab -&gt; expand the JasperReports Samples folder -&gt; datasource to locate the sample reports that utilize custom data sources</p></li></ul>]]></description><guid isPermaLink="false">2802</guid><pubDate>Fri, 27 Oct 2017 23:52:50 +0000</pubDate></item><item><title>TIBCO JasperReports&#xAE; Server and TIBCO Jaspersoft&#xAE; OLAP License</title><link>https://community.jaspersoft.com/knowledgebase/faq/tibco-jasperreports-server-and-tibco-jaspersoft-olap-license/</link><description><![CDATA[<p>Our aim at TIBCO Jaspersoft<sup>®</sup> is to maintain the free nature of open source to end users, while establishing commercial relationships with vendors who are leveraging our code for their benefit. Jaspersoft offers many open source products which are under the guidance of either the GNU Affero General Public License (<a href="https://www.gnu.org/licenses/agpl-3.0.en.html" rel="external nofollow">AGPLv3</a>) or GNU Lesser General Public License (<a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" rel="external nofollow">LGPLv2.1</a>) license. Our goal is to provide guidance on the usage of each product while maintaining compliance with the appropriate license.<br /><br />TIBCO JasperReports<sup>®</sup> Server and TIBCO Jaspersoft<sup>®</sup> OLAP Community Editions are governed by the GNU Affero GPL. It is very important to you and your organization to understand the terms of use of <sup>TIBCO </sup>JasperReports Server and TIBCO Jaspersoft OLAP in the context of the GNU Affero GPL.<br /><br />If you plan on distributing (i.e., allowing the public to download or access over the internet) a software application or web site containing or using TIBCO JasperReports Server and TIBCO Jaspersoft OLAP, please note that your application/web site becomes subject to the GNU Affero GPL conditions. As a result, you are required to make the source code of your application/web site and any customized code freely and publically available to all people and organizations.<br /><br />If you do not wish to make your source code freely available, TIBCO Jaspersoft offers a commercial subscription that allows you to maintain the proprietary nature of your application and custom code and not be obligated to disclose it to others. Commercial subscriptions also includes support, indemnification, training, documentation, extended features and more. We are open to partnering and have a successful world-wide partner program providing such benefits as mutual lead generation.<br /><br />If you or your organization has a policy against using software governed by the LGPL or GNU Affero GPL, a commercial subscription may also be of interest to you.<br /><br />See <a href="http://www.jaspersoft.com/pr_overview.html" rel="external nofollow">TIBCO Jaspersoft Product Overview</a> for more details.</p>]]></description><guid isPermaLink="false">517</guid><pubDate>Tue, 05 Jul 2011 11:58:46 +0000</pubDate></item><item><title>Discussion on visualize.js Error Handling</title><link>https://community.jaspersoft.com/knowledgebase/faq/discussion-visualizejs-error-handling/</link><description><![CDATA[<h2>Question:</h2><p>I'm having an issue catching an error from visualize so that I can deal with it and move on. I have tried the error handler code listed in several examples:</p><pre class="ipsCode prettyprint lang-auto prettyprinted">function handleError(err) 
{
    location.reload(); 
    alert(err.message); 

    // location.reload(); 
}
</pre><p>something similar in the report definition, and a page level handler:</p><pre class="ipsCode prettyprint lang-auto prettyprinted">window.onerror = function myErrorHandler(errorMsg, url, lineNumber) { 
    // deal with error 
    location.reload(); 
    return false; 
}
</pre><p>However, I can't seem to find anything to deal with this type of error: </p><pre class="ipsCode prettyprint lang-auto prettyprinted">
xdm.remote.page.js:5 POST http://usswvulxp433.luxgroup.net:8080/jasperserver-pro/rest_v2/reportExecutions 404 (Not Found) 

visualize.js:50 15:05:43.504 [bi/report/Report] [visualize.js:50] [ERROR] - resource.not.found : Resource 

/public/Reports/Utilities/UT_0013_REACTIVE_WORK_ORDERSx not found. 

</pre><div></div><p></p><p>This is forced where I'm looking for a non-existent report, but the same behavior is happening on connection issues or report run failures.</p><hr><h2>Answer:</h2><p>We have Visualize.js API Samples that you may take a look and use it to run some tests against your JasperReports Server (JRS) instance to help debug your code. Those samples are available from the community site at:</p><p><a href="http://community.jaspersoft.com/sites/default/files/wiki_attachments/main_2.html" rel="external nofollow">http://community.jaspersoft.com/sites/default/files/wiki_attachments/main_2.html</a></p><p>You can also try out with this jsfiddle test script:</p><p><a href="http://jsfiddle.net/tchen4jsfiddle/guu9e3cy/" rel="external nofollow">http://jsfiddle.net/tchen4jsfiddle/guu9e3cy/</a></p><p>It executes our sample AllAccounts report under <em><strong>/public/Samples/Reports/AllAccounts</strong></em> repository folder from a locally installed TIBCO JasperReports<sup>®</sup> Server instance. If you change the report name to a non-existing one such as "AllAccounts1", you will see the alert message popup as shown below.</p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_10/screen_shot_0.png.6ec88569241c36477e6487dca82fe20c.png" data-fileid="90060" data-fileext="png" rel=""><img data-fileid="90060" class="ipsImage ipsImage_thumbnailed" alt="screen_shot_0.png.6ec88569241c36477e6487dca82fe20c.png" src="//media.invisioncic.com/i328763/monthly_2017_10/screen_shot_0.png.6ec88569241c36477e6487dca82fe20c.png" loading="lazy"></a></p><p>Here is another sample visualize.js to run our sample report from a local TIBCO JasperReports Server instance. This report has input control and you can test it from this jsfiddle script:</p><p><a href="http://jsfiddle.net/tchen4jsfiddle/gbh7128b/1/" rel="external nofollow">http://jsfiddle.net/tchen4jsfiddle/gbh7128b/1/</a></p><p>You can use it as the frame work to test your report by</p><ol><li><p>Changing the server host reference</p><pre class="ipsCode prettyprint lang-xml prettyprinted">&lt;script src="http://localhost:8080/jasperserver-pro/client/visualize.js"&gt;
</pre></li><li><p>Changing your report repository URI resource: <em><strong>/public/Samples/Reports/07g.RevenueDetailReport</strong></em> and "repo-param" selection options.</p></li></ol><p>The following test gives a non existing report name thus causes the alert message:</p><p><a href="http://jsfiddle.net/tchen4jsfiddle/gbh7128b/" rel="external nofollow">http://jsfiddle.net/tchen4jsfiddle/gbh7128b/</a></p><hr><h2>Question:</h2><p> It seems that the important difference is that my visualize is setup to only run when the .run event is called</p><pre class="ipsCode prettyprint lang-auto prettyprinted">   runImmediately: false,

rpt.run();</pre><p>When I set it up for immediate execution i am indeed getting the alert box to come up.  Can you please tell me if there's some additional configuration I would need it to get the error handling to work in a delayed run environment?</p><hr><h2>Answer:</h2><p>In TIBCO JasperReports Server VISUALIZE.JS GUIDE RELEASE 6.2 document, section 6.4 "Rendering a Dashboard", it gives a code example showing how to define a dashboard ahead of time, then render it at a later time:</p><pre class="ipsCode prettyprint lang-auto prettyprinted">var dashboard = v.dashboard(
    {
        resource: "/public/test_dashboard",
        runImmediately: false
    }
);

dashboard
    .run()
    .done(function() {
        this
            .container("#container")
            .render()
            .done( function()  { console.log("dashboard rendered"); })
            .fail( function(e) { alert(e); }                        );
     }

    .fail( function(e) { alert(e); });</pre><p>Notice there are two<em><strong> .fail(function(e) { alert(e); })</strong></em> statements - the outer one is responsible for dashboard resource related error, and the inner one only catches errors during the actual dashboard rendering. Please review and test this jsfiddle to see how it works:</p><p><a href="http://jsfiddle.net/tchen4jsfiddle/L08vjyos/" rel="external nofollow">http://jsfiddle.net/tchen4jsfiddle/L08vjyos/</a></p><p>You can make script source point to your JasperReports Server (JRS) 6.2.1 instance (the example uses localhost:8080). If you change dashboard resource to something like</p><blockquote class="ipsQuote"><p><em><strong>/public/Samples/Dashboards/1._Supermart_Dashboard_fake</strong></em></p></blockquote><p>you should see the error alert pop up. If you comment out the outer .fail(...) error handler, the error alert will not show up.</p><p>You can deploy similar approach to your report rendering code to capture the resource error in an outer catch.</p><hr><p><i><b>TTC-20171031</b></i></p><p><a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/i328763/monthly_2017_10/screen_shot_0.png.63318c30384815c5f4d75ccb0bb471e5.png" data-fileid="90061" data-fileext="png" rel=""><img data-fileid="90061" class="ipsImage ipsImage_thumbnailed" alt="screen_shot_0.png.63318c30384815c5f4d75ccb0bb471e5.png" src="//media.invisioncic.com/i328763/monthly_2017_10/screen_shot_0.png.63318c30384815c5f4d75ccb0bb471e5.png" loading="lazy"></a></p>]]></description><guid isPermaLink="false">2810</guid><pubDate>Tue, 31 Oct 2017 22:43:47 +0000</pubDate></item><item><title>Delete Aging Resources From JasperReports Server Repository </title><link>https://community.jaspersoft.com/knowledgebase/faq/delete-aging-resources-jasperreports-server-repository/</link><description><![CDATA[<p>The tables in TIBCO JasperReports<sup>®</sup> Server ]repository containing needed information for aging report units and report output files removals are:</p><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="text-align:left;vertical-align:top;width:50%;"><ul><li><p>jiaccessevent</p></li><li><p>jiresource</p></li><li><p>jireportunit</p></li><li><p>jifileresource</p></li></ul></td><td style="text-align:left;vertical-align:top;width:50%;"><ul><li><p>jicontentresource</p></li><li><p>jireportjob</p></li><li><p>qrtz_job_details</p></li></ul></td></tr></tbody></table><p>and possibly few more tables relating to report scheduled jobs.</p><p>Using a script to execute series of SQL delete queries to meet the requirement can become very complicated. The recommended approach is to use TIBCO JasperReports Server web services REST V2 requests in user's application to remove those aging resources from TIBCO JasperReports Server repository DB. The following are the steps to accomplish the task:</p><ol><li><p>Run a search in the repository to get all resources, such as</p><pre class='ipsCode prettyprint lang-javascript prettyprinted'>GET http://&lt;host&gt;:&lt;port&gt;/jasperserver[-pro]/rest_v2/resources?&lt;parameters&gt;</pre><p>(refer to TIBCO JasperReports Server REST API Reference Release 6.4 document, section 6.1 "Searching the Repository")</p></li><li><p>Check each items from the search result and select those meet your aging requirement based on updateDate and resourceType;</p></li><li><p>Delete those items from step 2 using the method</p><p>DELETE <a href="" rel="">http://&lt;host&gt;:&lt;port&gt;/jasperserver</a>[-pro]/rest_v2/resources/path/to/resource</p><p>based on uri information from step 2.</p><p>(refer to TIBCO JasperReports Server REST API Reference Release 6.4 document, section 6.8 "Deleting Resources")</p></li><li><p>For removed report unit, you also need find its possible jobs and remove them.</p><p>(refer to TIBCO JasperReports Server REST API Reference Release 6.4 document, section 16.1 "Listing Report Jobs" and section 16.11 "Deleting Jobs")</p></li></ol><p>The above is what users will need to do to remove aging resources from TIBCO JasperReports Server repository using REST V2 service requests. Although it involves some programming effort, it is not as complex as the query script approach which requires multiple table rows removal for a single report unit in a precise order.</p><hr /><p><strong><em>TTC-20171026</em></strong></p>]]></description><guid isPermaLink="false">2797</guid><pubDate>Fri, 27 Oct 2017 00:09:28 +0000</pubDate></item><item><title>Freeze Cell Elements in JasperReports XLS Output</title><link>https://community.jaspersoft.com/knowledgebase/faq/freeze-cell-elements-jasperreports-xls-output/</link><description><![CDATA[<p>TIBCO JasperReports<sup>®</sup> has freeze configuration properties for user to use and freeze cells in report XLS output. </p><p><a href="http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.freeze.column" rel="external nofollow">http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.freeze.column</a></p><p>Those properties relating to row and column however must go in pairs to make it work report at element level.</p><p>In case needing to freeze the entire column, use can have both properties set in the report design template, such as :</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;property name="net.sf.jasperreports.export.xls.freeze.column" value="A"/&gt;
&lt;property name="net.sf.jasperreports.export.xls.freeze.row"    value="1"/&gt;</pre><p>Although the visual in Excel for this report only has a block freeze for cell A1, the actual scrolling effect is the same as if you are freezing column A.</p><hr /><p><strong><em>TTC-20171026</em></strong></p>]]></description><guid isPermaLink="false">2796</guid><pubDate>Thu, 26 Oct 2017 23:52:50 +0000</pubDate></item><item><title>Enable Auto filter Excel columns</title><link>https://community.jaspersoft.com/knowledgebase/faq/enable-auto-filter-excel-columns/</link><description><![CDATA[<h2>Requirement:</h2><p>Need to Enable filter on column while exporting into Excel.</p><hr /><h2>Solution:</h2><p>You can use below property. Since this is a element level property hence need to define inside an element.</p><p><a href="http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.auto.filter" rel="external nofollow">http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.auto.filter</a></p><p>Eg.: To enable filter on all the fields we need to define property at first column and last column.</p><p>So for first column:</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;staticText&gt;
        &lt;reportElement x="0" y="0" width="111" height="30" uuid="e2e9426a-cf4e-4943-a8d4-17bba3ee5021"&gt;
        &lt;property name="net.sf.jasperreports.export.xls.auto.filter" value="Start"/&gt;
        &lt;/reportElement&gt;
       &lt;text&gt;&lt;![CDATA[FIRSTNAME]]&gt;&lt;/text&gt;
&lt;/staticText&gt;</pre><p>And last column</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;staticText&gt;
          &lt;reportElement x="0" y="0" width="111" height="30" uuid="a58a617f-a841-4a8b-aec2-07d365dff42c"&gt;
              &lt;property name="net.sf.jasperreports.export.xls.auto.filter" value="End"/&gt;
           &lt;/reportElement&gt;                                                                                                                                                                                                                                             &lt;text&gt;&lt;![CDATA[CITY]]&gt;&lt;/text&gt;
 &lt;/staticText&gt;</pre>]]></description><guid isPermaLink="false">2795</guid><pubDate>Thu, 26 Oct 2017 04:37:14 +0000</pubDate></item><item><title>Hide Excel column while export</title><link>https://community.jaspersoft.com/knowledgebase/faq/hide-excel-column-while-export/</link><description><![CDATA[<h2>Requirement:</h2><p>Need to hide a column while exporting into Excel.</p><hr /><h2>Solution:</h2><p>You can use below property. Since this is a element level property hence need to define inside an element.</p><p><a href="http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.column.width" rel="external nofollow">http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.column.width</a></p><p>Eg.: Hide column name id while export</p><pre class='ipsCode prettyprint lang-xml prettyprinted'>&lt;staticText&gt;
    &lt;reportElement x="0" y="0" width="111" height="30"
                   uuid="5eb401e5-348f-4422-8401-5e0218092973"&gt;
        &lt;property name="net.sf.jasperreports.export.xls.column.width" 
                  value="0"/&gt;
    &lt;/reportElement&gt;
    &lt;text&gt;&lt;![CDATA[ID]]&gt;&lt;/text&gt;
&lt;/staticText&gt;
</pre><p> </p>]]></description><guid isPermaLink="false">2794</guid><pubDate>Thu, 26 Oct 2017 04:31:13 +0000</pubDate></item></channel></rss>
