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

vchiem

Members
  • Posts

    443
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by vchiem

  1. The service pack can be applied on top of 8.0.0 in the same way as that of the hotfix application...and the instructions are in the readme.txt under the subdir "jasperserver". You can see the file size difference. The bin zip version contains the buildomatic files and the jasperserver.war and is there for users to do full install using the install scripts or actual upgrade using upgrade scripts. The instructions for install and upgrade should be in the actual install and upgrade guides. If your upgrade involves just extracting the bin version zip on top of existing 8.0.0 then that is incorrect...the service pack does this...much more quick and easy.
  2. It looks like a problem with the jasperserver.tld. But usually we do not get this error upon boot unless something changed in the Tomcat context.xml that triggers the check. But you can try to manually rectify the file. The <info> should come after the <bodycontent> so that it confirms to the matching pattern that it expects. So you can try to shift the <info> down and this is should be done to the xssNonce tag name as well. <tag> <name>out</name> <info>Tag surrounds JSP code in which EL expressions should not be XML-escaped.</info> <tagclass>com.jaspersoft.jasperserver.war.tags.JasperOutTag</tagclass> <bodycontent>JSP</bodycontent> <attribute> <!-- Determines whether characters < > ( ) ; ' " in EL expression values will be converted to their corresponding character entity codes. Default value is false. --> <name>escapeScript</name> <required>false</required> </attribute> <attribute> <!-- When true, escapes the contents with UTF-8 versus entity codes Default value is false. --> <name>javaScriptEscape</name> <required>false</required> </attribute> </tag>[/code]
  3. They're there now with the link provided by @gustavofarias
  4. The reports service call format is: http://<host>:<port>/jasperserver[-pro]/rest_v2/reports/path/to/report.<format>?<arguments> Best thing to do is to log in to the JR Server as 'jasperadmin' and determine the exact path by looking at the properties of the report which can then the path to use for the REST call.
  5. The location specified is under 'jasperserver-pro' but I believe the community edition has a different webapp name of 'jasperserver'. The main file is resource.add.files.js so if you search the whole directory and can find it then likely that is the one to edit.
  6. If you mean single select input controls then they return a single value and cannot be a collection type ($X), rather the $P be used.
  7. There is one particular scenario where this can occur that I am aware of...although there may be other possibilities. When there is the existence of the same Windows user, either as a local account or the same user in a different domain, and the installation is done with this user, then the script creates keystore files with 0 bytes...with the error Failed to create the keystore.
  8. Issue:Users can experience the following issues in TIBCO JasperReports® Server v8.0.0: (1) While running Audit Report, the following error occurs: Error Messagecom.jaspersoft.jasperserver.api.CacheDatasetException: exception getting dataset from cache[/code](2) While creating an Ad Hoc View from domain "Audit Domain" or "Audit Archive Domain", the "Loading" dialog box appears for a long time before getting "Group does not exist: JasperserverDataSource_JASPERSERVER.JITENANT AS jitenant" error. In both use cases, the jasperserver.log records the following errors: Caused by: org.teiid.api.exception.query.QueryResolverException: Group does not exist: JasperserverDataSource_JASPERSERVER.JITENANT AS jitenant at org.teiid.query.resolver.util.ResolverUtil.handleUnresolvedGroup(ResolverUtil.java:880) at org.teiid.query.resolver.util.ResolverUtil.resolveGroup(ResolverUtil.java:959) at org.teiid.query.resolver.command.SimpleQueryResolver$QueryResolverVisitor.visit(SimpleQueryResolver.java:266)[/code] The environment runs Oracle as the repository database installed using a default_master.properties configured in a way that resulted in the repository database name not being the default 'jasperserver'. Solution:This has been reported as a defect with the following incident reference: JS-61809: Get error running audit report when jasperserver DB is not jasperserver Until the above defect is formally fixed, the workaround is to modify the Audit and Audit Archive domains to reference the actual repository database name which is not in the default name of 'jasperserver'. Workaround:Part 1 - Adding a server attribute to reference the non-jasperserver repository database name 1> Login as superuser and navigate to Manage -> Server Settings -> Server Attributes 2> Add "repositoryDB" to the Name and <the actual name of your repository database> to the Value and click Save Part 2: Modify the Audit Domain xml to reference the above attribute 1> Navigate to Public -> Audit -> Audit Domains 2> Right Click on Audit Domain and select Export and export to AuditDomain.zip (with Legacy Key option) 3> Extract the AuditDomain.zip content files to folder AuditDomain 4> CD (Change directory) into AuditDomainresourcespublicauditdomainsAuditDomain_files folder and edit file AuditDomain_schema.data using a text editor (eg notepad++). Modify the following (located between lines 13 and 15): from: <entry key="JasperserverDataSource_JASPERSERVER"> <string>JasperserverDataSource_JASPERSERVER</string> </entry>to: <entry key="JasperserverDataSource_JASPERSERVER"> <string>JasperserverDataSource_{attribute('repositoryDB')}</string> </entry>[/code]Save file AuditDomain_schema.data 5> CD into AuditDomain folder and using a zip compression tool (eg 7zip), select all folders and files (resources and index.xml) and archive into AuditDomain_fix.zip Note: If the archiving is done correctly, the root level of the AuditDomain_fix.zip should contain resources folder and index.xml. 6> In the TIBCO JasperReports® Server UI, navigate to Manage -> Server Settings and click on Import Select the AuditDomain_fix.zip file to Import as well as "Legacy Key" option and ensure "Update" option remains checked, then click on Import. 7> Repeat above steps 1 to 6 for the Audit Archive Domain saving the exported file to AuditArchiveDomain.zip instead After the above steps are done, users should be able to run the Audit reports including the Audit Archive report. Users should also be able to create Ad Hoc Views based off the Audit and Audit Archive Domains without errors. ref: 02096591
  9. Issue:When using the REST_v2 API resources service with the following URL format: http://<host>:<port>/jasperserver[-pro]/rest_v2/resources?<arguments> For example: http://server:8080/jasperserver-pro/rest_v2/resources?&recursive=true&type=folder&offset=0&limit=0 then only the resources informaton for the sub-folders under root and /public folders are returned in the response body. This will also include the /public resource information like this : <resourceLookup> <creationDate>2021-11-22T12:37:05</creationDate> <description></description> <label>Public</label> <permissionMask>1</permissionMask> <updateDate>2021-11-12T15:39:14</updateDate> <uri>/public</uri> <version>0</version> <resourceType>folder</resourceType> </resourceLookup>[/code]How can we retrieve the same information for the root folder ? Solution: The TIBCO JasperReports® Server REST API Reference guide mentions the following requirement under section "4.3 Accept HTTP Headers": "However, there are some special cases where client must specify a precise resource type: • When requesting the resource details of the root folder, client must specify application/repository.folder+<format> to get its resource descriptor. Otherwise, the request is considered a search of the root folder." Therefore, you can retrieve the resource information alone if you specify the Accept header: Accept: application/repository.folder+json (for JSON format)Accept: application/repository.folder+xml (for XML format)[/code]
  10. Issue:A report failed to run on TIBCO JasperReports® Server that has IIS installed and used as a reverse proxy server. The report contains many input controls and after clicking on the Apply button, it appears to do nothing and no report is displayed on the right pane. After enabling DEBUG for certain loggers in the Log Settings page: - SQL query executer - Input control value queries the jasperserver.log only logs the input control queries and its parameter values but there was no indication that it has ran the actual report. This exact same report worked fine when it was tested on a different server running the exact same TIBCO JasperReports® Server version and build. Solution:After enabling the browser's dev console (F12), the http request that was recorded when the Apply button is clicked returns a "400 - Bad Request" error: POST Request URL: https://<server>/jasperserver-pro/rest_v2/reports/organizations/organization_1/OTE_Reports_Test/Booked_Amortization_Report_Levelwise/inputControls/LevelNameBAR;Amort_From_Month;Amort_To_Month;Exe_From_Month;Exe_To_Month;Deal;DealFlag;DealType;AssetFlag;Touchpoint;ContractStatus;ContractCurrency/values[/code]The response captured from the downloaded HAR file reveals that the server is running "server Microsoft-IIS/10.0" and the "Response Content" tab displays the following error: "The length of the URL for this request exceeds the configured maxUrlLength value." The error indicates that a limitation has been reached on the IIS preventing the http request to succeed. The solution is to increase the default value for the maxUrlLength on the IIS server. An example article on how to do that is provided in the "Related Articles" section below. Related Articles:https://jaredmeredith.com/2017/03/12/solved-the-length-of-the-url-for-this-request-exceeds-the-configured-maxurllength-value/
  11. Depending on the version of JR Server, it should already come bundled in. The AutoRest driver looks like this "TIautorest-6.0.0.004291.jar" and resides in the WEB-INF/lib directory. That is the version bundled in with the latest v8.0.0. Previous releases may have earlier versions of AutoRest driver. For JS Studio, do a search for TI*.jar and it should be there amongst the other drivers. (mine is in C:Program FilesTIBCOJaspersoft Studio Professional-8.0.0configurationorg.eclipse.osgi41.cplib)
  12. The closest configuration matching this would be to set autoCompleteLoginForm to false. Refer to the Security Guide Chapter 5. When false, the server sets autocomplete="off" on the login page and browsers will not fill in or prompt to save Jaspersoft passwords
  13. There should be more recorded than those errors. A 404 error usually means the Tomcat server did not start up properly so the catalina.out should be the first file to be looked into.
  14. Looks like a permissions issue to the keystore files either relating to the roles corresponding to Administrator and Local Service. The errors "LOCAL SERVICE group doesn't exist" or "Current system user can't modify keystore" should not occur and resembles a permissions issue. You can also try to set the ks and ksp system environment variables to set it to a different path (for keystore location) before running js-install.bat and then check the .jrsks and .jrsksp file permissions for the security groups after they get created.
  15. Issue:After upgrading to TIBCO JasperReports® Server v7.9, the charts in our dashboard are not showing any data nor displaying any errors. But when the chart is individually ran, it is showing the correct data. After enabling the browser dev console (F12), we can see the following error generated in the console: commons.main.js:57 Error: <rect> attribute y: Expected length, "NaN".[/code] Solution: The cause of the issue is due the presence of only a subtitle in the chart. When only subtitle is given, it throws the error in the console. The workaround is to add a Title to the Sub Title or use the Title instead of the Sub Title. The issue was reported as below defect which currently remains in an open status: JS-60865: Presence of only subtitle for a highchart in a report does not render chart in dashboard
  16. Issue:A Studio report is developed with a Delta symbol (uppercase Δ) in the static text, but after previewing the report to PDF format the delta symbol is not appearing at all. In other output formats it displays correctly. How can we get the Delta symbol / character to be recognized in the PDF output ? Solution: For the Delta symbol to show in the static text, "DejaVu Sans" font renders this in the PDF so you can change to this font. The example source code looks like this : <textElement markup="none"><font fontName="DejaVu Sans"/></textElement><text><![CDATA[Δ/6 Months]]></text>[/code]
  17. Issue:We are trying to deploy TIBCO JasperReports® Server v8.0.0 application on WebLogic. After we have created the datasource connection and trying to select the 'jasperserver-pro' for deployment by selecting the WAR file we have observed the below error on the screen: "Unable to access the selected application. Unmarshaller failed" Solution: The adminserver.log captured the error occurring with reference to the jasperserver-pro.war/WEB-INF/web.xml: <BEA-2156200> <Unable to load descriptor /home/oracle/middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.appmergegen_1648446766443_jasperserver-pro.war/WEB-INF/web.xml of module jasperserver-pro.war. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed[/code]Looking further into the error stack, it generated a cause given: Caused by: com.bea.xml.XmlException: weblogic.descriptor.BeanAlreadyExistsException: Bean already exists: "weblogic.j2ee.descriptor.FilterMappingBeanImpl@1a913221(/FilterMappings[[CompoundKey: SessionXssNonceSetterFilter[CompoundKey: ][CompoundKey: /*]]])".[/code] Following this similar post : https://www.techpaste.com/2012/10/failed-deploy-application-due-weblogic-descriptor-beanalreadyexistsexception-bean-exists-weblogic/ There could be a duplicate entry for SessionXssNonceSetterFilter in the FilterMappings of the web.xml. The default v8.0.0 web.xml does contain a duplicate filter mapping at lines 305 and 309: <filter-mapping><filter-name>SessionXssNonceSetterFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>SessionXssNonceSetterFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>[/code] However, for Weblogic deployments the below step in the TIBCO JasperReports® Server v8.0.0 Installation guide needs to be followed because it will replace the web.xml with the web-version24.xml which does not have duplicate entries : 23. Replace the default web.xml file with the following commands:cd <js-install-dir>/jasperserver-pro/WEB-INFmv ./web-version24.xml ./web.xml[/code]
  18. Issue:We have two Pie Charts dashlets and four Line Charts dashlets in our dashboard. The requirement is when a user clicks on a Pie slice of one of the Pie charts then the data on all of the four Line Charts gets refreshed as per the selection. How can this be achieved ? Solution: The hyperlink feature in dashlets is limited to Ad Hoc Views and currently there is no supported way to hyperlink charts created from Jaspersoft® Studio. Please review this video tutorial which will help guide you through your requirement. Jaspersoft 7 Advanced Dashboards Tutorial: The following Enhancement Request incident remains open for the ability to hyperlink chart dashlets created from Jaspersoft® Studio : JS-33794: Need ability to create chart hyperlinks in a dashlet that was created from jrxml developed in Studio
  19. Issue:We have some customized UI pages that rely on jQuery. With JasperReports® Server v7.5, the variable "jQuery" is available and usable to our JavaScript but this is no longer the case with JasperReports® Server v8.0.0. For example, our custom pages include open-source JavaScript libraries like DataTables.net that rely on jQuery. How can we access jQuery using JasperReports® Server 8.0.0? Solution:Starting with JasperReports® Server v8.0.0 the libraries used by JasperReports® Server will not be exposed to the global scope. Because of this, an attempt to use jQuery from the global scope will not work unless jQuery is added to the global scope by your custom code. Use DOM API instead. In JSP where your JavaScript code is, replace: jQuery(document).on("controls:initialized", function(event, controlsViewModel) {[/code]with document.addEventListener("controls:initialized", function(event, others) { var controlsViewModel = event.detail;[/code]However, if you need access to jQuery.js you can include it in your JSP with a script tag like below: <script src="${pageContext.request.contextPath}/scripts/jquery.js"></script>[/code]If you need it for multiple pages you can include it in decoratorMinimalImports.jsp You also need to place your own copy of jquery.js into your scripts folder. Related Articles: https://community.jaspersoft.com/questions/1191911/jasper-server-800-custom-input-controls-not-working-jquery-not-loading
  20. Issue:Users are seeing "limit 200001" in SQL statement generated in the jasperserver.log when running Audit Report despite using Oracle as the repository database. Oracle database does not recognize the LIMIT clause and to limit rows it uses the ROWNUM pseudocolumn. Why does running the Audit Report generate sql statements with the LIMIT clause instead of using ROWNUM ? Example: 2022-04-01T14:31:18,598 DEBUG JdbcBaseDataSet,pool-9-thread-2:104 - running sql query: select "jiauditevent"."EVENT_TYPE" as "jiauditevent_EVENT_TYPE", "jiauditevent"."REQUEST_TYPE" as "jiauditevent_REQUEST_TYPE", "jiauditevent"."RESOURCE_TYPE" as "jiauditevent_RESOURCE_TYPE", "jiauditevent"."TENANT_ID" as "jiauditevent_TENANT_ID", PARSEDATE(SUBSTRING("jiauditevent"."EVENT_DATE", 1, 10), 'yyyy''-''MM''-''dd') as "jiauditevent_au_date", parseTime(SUBSTRING("jiauditevent"."EVENT_DATE", 12), 'HH:mm:ss') as "jiauditevent_au_time", case when ("jiauditevent"."RESOURCE_URI" like '/public/%') then ("jiauditevent"."RESOURCE_URI") else (case when (("jiauditevent"."RESOURCE_URI" is null)) then (null) else (concat('/', substring("jiauditevent"."RESOURCE_URI", (length('/') + 1)))) end) end as "jiauditevent_orguri", "jiauditeventproperty"."CLOB_VALUE" as "jiauditeventproperty_CLOB_VALUE", "jiauditeventproperty"."PROPERTY_TYPE" as "jiauditeventproperty_PROPERTY_TYPE", "jiauditeventproperty"."VALUE" as "jiauditeventproperty_VALUE", "jiuser"."USERNAME" as "jiuser_USERNAME" from "AuditDataSource_JASPERSERVER"."JIAUDITEVENT" "jiauditevent" left outer join "AuditDataSource_JASPERSERVER"."JIAUDITEVENTPROPERTY" "jiauditeventproperty" on ("jiauditevent"."ID" = "jiauditeventproperty"."AUDIT_EVENT_ID") left outer join "JasperserverDataSource_JASPERSERVER"."JITENANT" "jitenant" on ("jiauditevent"."TENANT_ID" = "jitenant"."TENANTID") left outer join "JasperserverDataSource_JASPERSERVER"."JIUSER" "jiuser" on ("jiauditevent"."USERNAME" = "jiuser"."USERNAME" and "jitenant"."ID" = "jiuser"."TENANTID") where (1 = 1 and 1 = 1 and (PARSEDATE(SUBSTRING("jiauditevent"."EVENT_DATE", 1, 10), 'yyyy''-''MM''-''dd') between '2022-04-01' and '2022-04-01') and (("jiauditevent"."TENANT_ID" is null) or "jitenant"."TENANTURI" like concat('/', '%')) and (("jiauditevent"."RESOURCE_URI" is null) or not (case when (("jiauditevent"."RESOURCE_URI" is null)) then (null) else (concat('/', substring("jiauditevent"."RESOURCE_URI", (length('/') + 1)))) end like '/temp/%')) and (("jiauditevent"."RESOURCE_URI" is null) or "jiauditevent"."RESOURCE_URI" like concat('%', concat('/', '%')) or "jiauditevent"."RESOURCE_URI" like '/public/%')) order by "jiauditevent_au_date" desc, "jiauditevent_au_time" desc limit 200001 Solution:Ad hoc Reports like the Audit Report uses the Ad Hoc engine and at the semantic layer it does the SQL mapping. In the ..WEB-INFapplicationContext-semanticLayer.xml configuration file, for the Oracle database there is the oracleSQLGenerator bean which has the limitSQLMap property: <!-- how to do limits --> <property name="limitSQLMap"> <map> <entry key="AT_BEGINNING" value="select * from ("/> <entry key="AT_END" value=") where ROWNUM &lt;= _row_limit_"/> </map> </property> Starting from TIBCO JasperReports® Server v8.0.0, the Audit Ad Hoc view and report is created based off the AuditVirtualDataSource. For any Virtual Data Source, it uses the TEIID SQL engine. This is not Oracle but JBoss provided query runtime which has it's own set of sql commands. TEIID accepts the Limit clause and in the ..WEB-INFapplicationContext-semanticLayer.xml file the limit sql mapping is performed under the teiidSQLGenerator: <property name="limitSQLMap"> <map> <entry key="AT_END" value="limit _row_limit_"/> </map> </property>
  21. Issue:How to disable the password memory stored in the browser so that users' passwords should not be stored or filled in automatically by the browser. Solution: The server administrator can set autoCompleteLoginForm to false (the default value is true) in the following server configuration file: .../WEB-INF/jasperserver-servlet.xml <property name="autoCompleteLoginForm" value="false"/>[/code]followed by a restart of the TIBCO JasperReports® Server. To validate the effect of the change, right click on the TIBCO JasperReports® Server login page and click "View page source" and locate the following section: <form id="loginForm" method="POST" action="j_spring_security_check"autocomplete="off"[/code]which contains the autocomplete="off" HTML attribute. As per the TIBCO JasperReports® Server Security Guide, under section "Configuring Password Memory", it states: "JasperReports Server can send the property autocomplete="off" to indicate that its users’ passwords should not be stored or filled in automatically. This helps to ensure that your users don't store their passwords. Actual behavior depends on the browser settings and how the browser responds to the autocomplete="off" property."
  22. Not sure what charting solution is being used here but HTML5 Charts have plotOptions.series.dataLabels.rotation where you can specify the rotation degrees from 0 to 360.
  23. This is not a problem or a defect so there is nothing to be fixed. It is not even configurable. If you want to customize the appearance of the filters, then you can try to trace down the javascript source file and modify it.
  24. You can use resource bundle file to internalize reports. More information can be found in the Studio guide. Here is also an article: https://community.jaspersoft.com/wiki/working-localization-files-jaspersoft-studio
  25. Checking the WEB-INF/lib directory for spring jars : JRS v7.8 = 4.3.23.RELEASE JRS v7.9 = 5.2.8.RELEASE
×
×
  • Create New...