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

Tom C

Jaspersoft Staff
  • Posts

    453
  • 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 Tom C

  1. FYI Jaspersoft Studio = JSS JasperReports engine/library = JRL JapserReports Server = JRS
  2. Are you sure this report even has any parameters? If it does not, then you will see the scheduled report job parameter tab being greyed out.
  3. https://community.jaspersoft.com/wiki/sample-report-creating-multi-sheet-xls-report-output-subreports https://community.jaspersoft.com/wiki/sample-report-demonstrating-dynamically-set-sheet-names-excel-output
  4. User a left outer join to display all classes in this crosstab report even for the class that has no student registration. select .......from class_table cleft (outer) join on registration_table r where c.classid = r.classid[/code]
  5. This sample report will list all scheduled report jobs in a JasperReports Server (JRS) repository database. The jobs are listed in chronological next fire time order. Report template:<?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 8.1.0.final using JasperReports Library version 6.11.0 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Report Job Listing" pageWidth="612" pageHeight="792" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="071cfc02-a45e-429a-af59-d4e94a457611"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="JRSrepo"/> <property name="com.jaspersoft.studio.data.sql.tables" value=""/> <queryString> <![CDATA[select q.next_fire_time as report_job_next_fire_time , j.report_unit_uri as report_name , u.username as job_owner , j.creation_date as report_job_creation_date from qrtz_triggers q inner join jireportjob j on q.trigger_name like 'trigger_'||j.job_trigger||'%' inner join jiuser u on u.id = j.owner order by 1, 2]]> </queryString> <field name="report_job_next_fire_time" class="java.lang.Long"> <property name="com.jaspersoft.studio.field.name" value="report_job_next_fire_time"/> <property name="com.jaspersoft.studio.field.label" value="report_job_next_fire_time"/> <property name="com.jaspersoft.studio.field.tree.path" value="qrtz_triggers"/> </field> <field name="report_name" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="report_name"/> <property name="com.jaspersoft.studio.field.label" value="report_name"/> <property name="com.jaspersoft.studio.field.tree.path" value="jireportjob"/> </field> <field name="job_owner" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="job_owner"/> <property name="com.jaspersoft.studio.field.label" value="job_owner"/> <property name="com.jaspersoft.studio.field.tree.path" value="jiuser"/> </field> <field name="report_job_creation_date" class="java.sql.Timestamp"> <property name="com.jaspersoft.studio.field.name" value="report_job_creation_date"/> <property name="com.jaspersoft.studio.field.label" value="report_job_creation_date"/> <property name="com.jaspersoft.studio.field.tree.path" value="jireportjob"/> </field> <group name="Next Fire Time"> <groupExpression><![CDATA[$F{report_job_next_fire_time}]]></groupExpression> <groupHeader> <band height="32"> <property name="com.jaspersoft.studio.unit.height" value="px"/> <staticText> <reportElement x="0" y="0" width="180" height="30" uuid="733201b4-546f-4adc-9793-244ed7f2ee5b"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="0d13d181-ad4d-4832-be39-ae816e84a600"/> </reportElement> <textElement> <font isBold="true" isItalic="true"/> </textElement> <text><![CDATA[Report Job Next Fire Time]]></text> </staticText> <textField pattern="MMM d, yyyy h:mm:ss a z"> <reportElement x="180" y="0" width="390" height="30" uuid="ac55806d-e632-4a8a-b5e0-f4d3ca1af106"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="0d13d181-ad4d-4832-be39-ae816e84a600"/> </reportElement> <textFieldExpression><![CDATA[new java.util.Date ($F{report_job_next_fire_time})]]></textFieldExpression> </textField> </band> </groupHeader> </group> <title> <band height="30" splitType="Stretch"> <textField> <reportElement x="0" y="0" width="570" height="30" uuid="0d63663f-2f2b-4169-9db1-6ddb439daec8"/> <textElement textAlignment="Center"> <font size="16" isBold="true"/> </textElement> <textFieldExpression><![CDATA["Scheduled Job Lisiting"]]></textFieldExpression> </textField> </band> </title> <columnHeader> <band height="30" splitType="Stretch"> <staticText> <reportElement x="40" y="0" width="80" height="30" uuid="7bd83325-b70c-4067-8518-5532f92fb254"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="0c45ab8b-4ce1-422a-942e-b03a18e4d712"/> </reportElement> <textElement> <font isItalic="true"/> </textElement> <text><![CDATA[Report Name]]></text> </staticText> <staticText> <reportElement x="120" y="0" width="160" height="30" uuid="d18e7a6e-876e-469a-b230-2e3f56b1023b"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="d2717b63-3ff1-444a-ba88-f6f18b8f81ca"/> </reportElement> <textElement> <font isItalic="true"/> </textElement> <text><![CDATA[Job Owner]]></text> </staticText> <staticText> <reportElement x="280" y="0" width="290" height="30" uuid="78ffd81c-8643-4e9d-917f-4b24001e99d8"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="d84cbcc6-3d88-4359-8b3f-e849eae0168c"/> </reportElement> <textElement> <font isItalic="true"/> </textElement> <text><![CDATA[Report Job Creation Date]]></text> </staticText> </band> </columnHeader> <detail> <band height="60" splitType="Stretch"> <textField> <reportElement x="40" y="0" width="530" height="30" uuid="1f42f14a-55bf-4139-9a5a-1ea75c64fae1"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="0c45ab8b-4ce1-422a-942e-b03a18e4d712"/> </reportElement> <textFieldExpression><![CDATA[$F{report_name}]]></textFieldExpression> </textField> <textField> <reportElement x="80" y="30" width="200" height="30" uuid="58d1e506-9147-46ce-bcf4-9d1ceed831eb"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="d2717b63-3ff1-444a-ba88-f6f18b8f81ca"/> </reportElement> <textFieldExpression><![CDATA[$F{job_owner}]]></textFieldExpression> </textField> <textField> <reportElement x="280" y="30" width="290" height="30" uuid="3460e325-9f95-45d2-b944-230b8a308f04"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="d84cbcc6-3d88-4359-8b3f-e849eae0168c"/> </reportElement> <textFieldExpression><![CDATA[$F{report_job_creation_date}]]></textFieldExpression> </textField> </band> </detail> <pageFooter> <band height="32" splitType="Stretch"> <property name="com.jaspersoft.studio.unit.height" value="px"/> <textField> <reportElement x="180" y="2" width="100" height="30" uuid="34b57bde-3285-4162-ba2d-c7d59c93beb6"> <property name="com.jaspersoft.studio.unit.y" value="px"/> </reportElement> <textElement textAlignment="Right"> <font isItalic="true"/> </textElement> <textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}]]></textFieldExpression> </textField> <textField evaluationTime="Report"> <reportElement x="280" y="2" width="100" height="30" uuid="e03a28dc-c335-4671-aac1-8f2548be81f1"> <property name="com.jaspersoft.studio.unit.y" value="px"/> </reportElement> <textElement> <font isItalic="true"/> </textElement> <textFieldExpression><![CDATA[" of "+$V{PAGE_NUMBER}]]></textFieldExpression> </textField> </band> </pageFooter> <summary> <band height="40" splitType="Stretch"> <property name="com.jaspersoft.studio.unit.height" value="px"/> <frame> <reportElement x="80" y="0" width="400" height="40" uuid="26e5ba43-eda1-43c0-b1f8-0047e3c78f80"/> <box> <pen lineWidth="0.25"/> <topPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <leftPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <bottomPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> <rightPen lineWidth="0.25" lineStyle="Solid" lineColor="#000000"/> </box> <textField> <reportElement x="20" y="5" width="180" height="30" uuid="bca76040-1331-433d-bd67-abebcd0b9526"> <property name="com.jaspersoft.studio.unit.y" value="px"/> </reportElement> <textElement> <font isBold="true" isItalic="true"/> </textElement> <textFieldExpression><![CDATA["Total number of report jobs: "]]></textFieldExpression> </textField> <textField> <reportElement x="200" y="5" width="140" height="30" uuid="abfdc168-7edf-46cb-82a4-b9da495070ce"> <property name="com.jaspersoft.studio.unit.y" value="px"/> </reportElement> <textElement> <font isBold="true" isItalic="true"/> </textElement> <textFieldExpression><![CDATA[$V{REPORT_COUNT}]]></textFieldExpression> </textField> </frame> </band> </summary> </jasperReport> Report output: DownloadUsers can download the exported report unit "Report Job Listing.zip" file and import it into the JRS 8.x deployment using the Legacy key. The report is named as "101. Report Job Listing" located under the /public/Samples/Reports/Custom_Reports repo directory. report_job_listing.zip
  6. This is a SQL query issue that has nothing to do with our product. You need to use joins to lift data from multiple tables, something like select t1.a, my_function(t1.p1,t2.p2), t2.b, DECODE(t1.C, '1', 'M.', '2', 'Mme')from tab1 t1inner join tab2 t2 on t1.id = t2.id[/code]Please take some SQL training classes (and Java classes) to get yourself familiar with the technology to use our product effectively. You may find this YouTube video useful and helpful: https://www.youtube.com/watch?v=rocjHUQf5n0 Good luck and happy coding. :)
  7. Users can use JasperReports Server (JRS) to create a dashboard and use a dashlet to display web content on the dashboard. Refer to JRS User Guide https://community.jaspersoft.com/documentation/tibco-jasperreports-server-user-guide/v790/adding-new-content "Adding a Web Page" Notice the web resources from remote domains that are not accessed under the same server domain hosting JRS deployment will by default get blocked for cross domain violation. In such a case, JRS dashboard will not be able to display those web resources unless they are whitelisted by the system configuration. Refer to JRS Security Guide https://community.jaspersoft.com/documentation/tibco-jasperreports-server-security-guide/v790/configuring-csrf-protection Despite the CSRF protection, if the system administrators have concerns over what web contents the users might put into the dashboards, they can run the sample report to list those dashboards and the dashlet URLs to review those web resources. Please download the "export-50. List of Dashboard Using Web Content.zip" file from the attachment and have it imported into your JRS 8.0 repository DB using the legacy key. Users also need to download the modified security.properties and validation.properties files and put them into deployed jasperserver-proWEB-INFclassesesapi folder to replace the original ones, and restart the server, to test run the "50. List of Dashboard Using Web Content" under publicSamplesReports repository folder to get the dashboard list. Users can also click on the web resource URL in the report to review its content in a new browser tab. High Level Report Design Discussion Repository tables involved in the report jidashboardmodelresource jifileresource jiresource jiresourcefolder Technique used in the report Use PostgreSQL encode function to decode dashlet component information from a binary Blob into a text stringUse recursive subreport execution to traverse the dashlet component text string to locate and display multiple web resources in the dashboard DisclaimerThis sample report is provided AS IS therefore it is not supportable. =============================================== TTC-20220614 export-50._list_of_dashboard_using_web_content.zip security.properties validation.properties
  8. Tom C

    Permissions

    This table provides JasperReports Server (JRS) access logging information for the past 60 days (default) to tell who did what, how and when. The information is used for JRS search function. If disabled, users will not be able to find any access information for repository resource search.
  9. "jasperreports-server-cp-8.0.0" is a package for the open source community edition which does not contain licensed components. You will need to get a JRS commercial edition (AKA enterprise/professional edition) to use this licensed "TIautorest-6.0.0.004291.jar" through a product subscription. .
  10. Question: What differences are there between running Excel on the local workstation using Jaspersoft Studio and running it on JasperReport Server? I need to know so that when the local workstation report development is solid and tested on Excel rendering, it should smoothly work on the JasperReports Server. Answer The XLS output is data centric meant for spreadsheet analysis purposes therefore any image in a spreadsheet is meaningless as far as the accounting is concerned. Therefore JasperReports Server (JRS) by default will not display images in the spreadsheet outputs (ignoring formatting and graphics to preserve pure data cells). To meet non-data analyzing requirements with spreadsheet output, users will need to override the configuration setting to allow graphic elements along with the text elements to be exported. Please refer to this JasperReports (JRL) Configuration Reference material for the report property information: http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.ignore.graphics User can inject the properties into report template JRXML file to have the graphics appear in this report only: <property name="net.sf.jasperreports.export.xls.ignore.graphics" value="false"/> Users can also change this default behavior globally affecting all report exports in JRS. Users need to edit <js-install>WEB-INFapplicationContext.xml file and set the ignoreGraphics property of the xlsExportParameters bean to "false". <bean id="xlsExportParameters" class="com.jaspersoft.jasperserver.api.engine.jasperreports.common.XlsExportParametersBean"> ...... <property name="ignoreGraphics" value="false"/> ...... </bean> ==================================== TTC-20220426-2100271-2102444
  11. The Question:I am adding a link to the JasperReports Server (JRS) home page to access third party reference materials. The change however does not show up when testing it in a web browser. After restarting the server several times, the change finally showed up but I got a "HTTP Status 404 – Not Found" message when trying to access it through the hyperlink from the home page. Even after changing the URL reference in the home page to a Jaspersoft community wiki page and restarting the server, the hyperlink from the home page is still directing the request to the old page. Could you please tell me what is going on and how to fix it? The Answer:First of all, when using hyperlink in a web page, the user should test it in a browser to make sure it is accessible via HTTP request from this origin. If encountering a "404 FILE NOT FOUND" error, the user needs to make sure 1) the server is up and running 2) without any content blocking and 3) the requested content is indeed in that URL location. If the above three conditions are all satisfied, the only plausible cause for it not showing up is the file permissions. User needs to check the web server settings and make sure the content is accessible via HTTP request. This is an environmental issue and has nothing to do with JRS web application functionality. As for getting the stale content in the home page, user needs to clean up the work directory under apache-tomcat before restarting the server, and clear the browser cache to get rid of the obsolete web content in the cache forcing the browser to request the server to provide a fresh copy of the web content. ========================================== TTC-20220331-2095780
  12. The ProblemOur user has attempted to upgrade JasperReports Server (JRS) 7.1 to 7.9 using buildomatic js-upgrade-newdb script. "The script seems to have run fine and generated new encryption keys". However when deploying the JRS WAR into JBoss, user is getting the following error: ERROR [org.jboss.logmanager.log4j.status] (ServerService Thread Pool -- 114) LogManager returned an instance of org.jboss.logmanager.log4j.JBossLoggerContextFactory which does not implement org.apache.logging.log4j.core.impl.Log4jContextFactory. Unable to initialize Log4j. The CauseJBoss provides highly configurable logging facilities for both its own internal use and for use by deployed applications. It appears the logging subsystem in the user's JBoss deployment contains stale, not up to date content incompatible with the JRS 7.9 deployment. The Solution By excluding logging subsystems in the JBoss deployment descriptor, the user is able to deploy JRS 7.9 WAR into JBoss successfully. ================================================= TTC-20220330-2095506
  13. <?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 8.0.1.final using JasperReports Library version 6.11.0 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="demo20220303" pageWidth="612" pageHeight="792" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="6a28a568-5cd4-4fc1-9e28-015213d63b58"> <parameter name="Input String" class="java.lang.String"> <defaultValueExpression><![CDATA["apple, banana, strawberry, lemon"]]></defaultValueExpression> </parameter> <queryString> <![CDATA[]]> </queryString> <title> <band height="79" splitType="Stretch"> <textField> <reportElement mode="Opaque" x="0" y="0" width="570" height="30" backcolor="#FFFF00" uuid="e4fc6e91-9a90-4b32-98e2-7355e3b81afe"/> <textFieldExpression><![CDATA["INPUT STRING: "+$P{Input String}]]></textFieldExpression> </textField> <textField> <reportElement mode="Opaque" x="1" y="40" width="570" height="30" backcolor="#33FF00" uuid="323b73b5-269c-42ad-a1ad-a6689316fc8c"/> <textFieldExpression><![CDATA["Modified String: "+$P{Input String}.replaceFirst(",([^,]+)$", " and$1")]]></textFieldExpression> </textField> </band> </title> </jasperReport>
  14. You can use a regular expression to replace the last comma in a string to "and": $V{yourString}.replaceFirst(",([^,]+)$", " and$1")
  15. You can transfer the job ownership but it is not as easy as one might hope. Please refer to my wiki posting for detail. https://community.jaspersoft.com/wiki/transferring-ownership-scheduled-report-jobs-other-users-organization The procedure was tested in JRS version 6.0 but the principle should still apply to the new version of the product.
  16. Alternately, you can inject a page break before each detail record using the following print when condition to force a page break before every thirdteenth record except the first one: (($V{REPORT_COUNT}.intValue()-1)%12)==0&&$V{REPORT_COUNT}.intValue()>1 See attached demo report tempalte and its PDF output for detail.
  17. You can create a group with the following expression and make a page break on new groups: <group name="groupOf12" isStartNewPage="true"> <groupExpression><![CDATA[($V{REPORT_COUNT}.intValue()-1)/12]]></groupExpression> </group> This report will print 12 records on each page. (see the attachment)
  18. JasperReports (JRL) is a Java application therefore you really need to know how the Java Ternary Operator works to help code the report field expression in your report design templae JRXML file. Please refer to: https://careerkarma.com/blog/java-ternary-operator/ --------------------------------------------------- In your case, the requirement is: "if field 1 is not empty then display field 1 else display field 2".Suppose you have field 1 and field 2 from the SQL query result dataset $F{text_1} and $F{text_2} The text field expression in the report template would be: <textField> <reportElement ......></reportElement> <textFieldExpression><![CDATA[$F{text_1}==null||$F{text_1}.trim().isEmpty()?$F{text_2}:$F{text_1}]]></textFieldExpression> </textField> Hope this helps.
  19. Our user reported that their JasperReports Server (JRS) 7.5.2 in production suddenly had problems running reports with timeout issues relating to QueryExecutionTimeoutException and LockTimeoutExceptionthe. The reports were deployed years ago and they did not have this problem at all until a few days ago. The only change made to the JRS deployment was to add a new JNDI connection to the server (in context.xml). And there's no report DB changes (configuration or data volume) as far as the users know. All of a sudden, they got report execution problems with almost all their reports using this DB. Restarting this 8 node server farm did not help to fix anything and the problem persists. The users have problems running certain reports but not the others. Occasionally, the problematic report runs without the error. Running reports by different users can sometimes work but there's no clear pattern on the circumstances that a report will/won't run. After reviewing the server log files on all server nodes, Tech Support suspected the problem was with users' report database and have asked users to check with their DBA on MS SQL report DB to see if there's any errors in the log and suggested restarting the DB to see if it'll help. As it turned out, the issue is with a throughput limitation on users' database servers. "The DBA team increased the throughput and we are now seeing Jaspersoft running much better." =========================================== TTC-20220224-2086387
  20. If users are experiencing performance issues with a JRS version 7.5, 7.8, 7.9, or 8.0 deployment every hour on the hour, this may relate to the hourly purge job to clean up the access events table. Since JRS version 7.5, the purge job for access events has been changed from daily at 1 AM to every hour of the day. Refer to ../WEB-INF/applicationContext-events-logging.xml <bean id="accessEventPurgerTrigger" class="com.jaspersoft.jasperserver.api.engine.scheduling.quartz.JSCronTriggerBean"> <property name="jobDetail" ref="accessEventPurgerJob"/> <property name="cronExpression" value="0 0 * * * ?"/> </bean> This hourly purge job has caused the system to pulse when conducting the jiaccessevent table clean up affecting users to perform JRS requests in their production system. The reason for such change is unknown at this time. We have filed a report to address this defect internally referenced as JS-65316. This hourly job has a huge impact on the system availability during the operating hours when many concurrent users are using the system. To avoid this issue at the present time, we suggest users to use the JRS 7.2 version setting to avoid the impact on the system availability during the operating hours. <bean id="accessEventPurgerTrigger" class="com.jaspersoft.jasperserver.api.engine.scheduling.quartz.JSCronTriggerBean"> <property name="jobDetail" ref="accessEventPurgerJob"/> <property name="cronExpression" value="0 0 1 * * ?"/> </bean> ================================ TTC-20220222-2087096
  21. Problem User has the JasperReports Server (JRS) installed in two servers, one Master and other StandBy. The JRS is using the database in PostgreSQL 10.5 instance running on the server. There is an instance of PostgreSQL on each server. PostgreSQL is configured to replicate the data from the Master server to the StandBy server. When there is a switch between servers the StandBy becomes the master and Master becomes StandBy. The PostgreSQL instances also switch properly.However the internal users that are stored in the PostgreSQL database (superuser, jasperadmin), start failing the authentication.They are not able to login in the JasperReports server. To workaround this issue, users have to connect directly to the PostgreSQL database and set the password to null in order to be able to login and change the passwords. However, this workaround is not acceptable as a permanent solution. Cause This user must have used different keystores in those two server deployments. The repository content cannot use different keystores to encrypt and decrypt if the are identical in two DB deployments Resolution User needs to make sure to use the same keystore files by copying those files from master to secondary: .jrsks - Java keystore file .jrsksp - keystore properties References:https://community.jaspersoft.com/wiki/getting-invalid-credential-when-trying-login-tibco-jasperreports-server-75-two-nodes-server https://community.jaspersoft.com/wiki/encryption-jasperreports-server-75 ============================================= TTC-20220222-2085273
  22. Problem A user has an ad hoc view with a certain number of rows. When exporting it to PDF or Excel files, only one or two rows are returned. Even after rebuilding the view, the report is still not showing full data. Cause After reviewing the ad hoc view and its report, it was discovered that the ad hoc view and report are using different filtered values. It appears that someone has changed the ad hoc view filter selection criteria after creating the ad hoc view report with those filters. Users can either compare the filtered values between the ad hoc view and its report, or review the ad hoc cache to figure out the discrepancy from the parameter listed values in the ad hoc view and report queries. Resolution By using the exact filtered values, the user is able to generate report content the same as shown in the ad hoc view. ============================================= TTC-20220222- 2087109
  23. Problem There's a know bug (internal reference number JS-57775) that if users used incompatible keystores in their server farm deployment sharing the same repository database, and used SSO integration with JRS, they can expose a defect that the external user password got incorrectly encrypted and stored in jiuser.password column multiple times causing the password length go beyond the column length. One of our users had previously increased the password column's length to 4000 (max for their SQL Server DB), but now it turned out that the length of one of the hashed passwords was more than 10 thousand characters triggering the truncation error. Analysis The incompatible keystore files trigger the 7.5+ legacy decryption logic to cross wire with the SSO logic. When the user is granted the access by SSO, the 7.5+ logic believes it is time to encrypt the password to make it "compatible" with the server node keystore. As a result, the external user's empty password becomes encrypted on the initial login then gets encrypted again on the subsequent login, and again.. again... again... until the DB length limit is reached. That's the reason that by extending the password length in the jiuser table, it will only delay the error to occur but will not fix the problem until the keystore is fixed and/or 7.5+ password encryption/update logic is changed to stop the cross wire situation. Solution Users need to make sure all their server nodes should use the identicle keystore files. In addition, to clean up the DB mess, users should not rely on increasing the password column length in jiuser table for its just delaying the problem (refer to the aforementioned reason). Instead, users should run the following SQL query through a scheduled task to clean up the external user password. update jiuser set password ='' where id in (select id from jiuser where externallydefined is true and length(password) > 0) The syntax for the query is for PostgreSQL database. Other DBs might need to change externallydefined column condition clauses to meet their DB standard. For instance, in SQL DB, the condition would be externallydefined = 1 ================================= TTC-20220219
  24. Question When choosing the option "Include reports as repository links in email body" the embeded url link in the emailed report has the wrong server name. How can I change what the default server name is for the embedded link in an emailed report? Answer Please check the report.scheduler.web.deployment.uri setting in ..jasperserver-proWEB-INFjs.quartz.properties file. For example report.scheduler.web.deployment.uri=http://tc-t480s:8080/jasperserver-pro ========================================================= TTC-20220215-2086123
  25. Add the following to overrides_custom.css file should meet the requirement: #loginPage a#needHelp {display: none;} We prefer to use stylesheet for web UI customization over the server page modification for easy maintenance and deployment migration and upgrade. That is the reason JRS puts this overrides_custom.css file in the deployment in the first place. Hope this helps to clarify and explain the situation.
×
×
  • Create New...