Jump to content

vchiem

Members
  • Posts

    443
  • Joined

  • Last visited

 Content Type 

Forum

Downloads

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Security Advisories

Events

Profiles

Everything posted by vchiem

  1. Issue: The following HTML5 chart has the x-axis label name shortened with an ellipsis ("..."), highlighted in yellow. We would like to display this label name fully without any truncation. How can this be achieved ? Solution:There are two properties that can be set depending on whether you want the label to be auto-rotated after a certain limit or not. Option 1: Set the 'autoRotationLimit' property to a lower value such as 40 (default is 80 but you can set it to a value that works for you). The JRXML source code would contain this: <hc:chartProperty name="xAxis.labels.autoRotationLimit" value="40"/> [/code]The label names will not be auto rotated and the label will be word wrapped. The chart will look like this: Option 2: Set the 'style.textOverflow' property to "none". The JRXML source code would contain this: <hc:chartProperty name="xAxis.labels.style.textOverflow" value="none"/>[/code]The chart will look like this: Note 1: The 'style.textOverflow' property is not listed in the Advanced Properties of the Chart Formatting tab, but can be effected through the xml code in the Source tab. Note 2: The details provided here pertains to the x-axis but there are similar properties for the y-axis. Definitions:autoRotationLimit - When each category width is more than this many pixels, we don't apply auto rotation. Instead, we lay out the axis label with word wrap. A lower limit makes sense when the label contains multiple short words that don't extend the available horizontal space for each label. style.textOverflow - From https://api.highcharts.com/highcharts/xAxis.labels.style, it states "Use textOverflow: 'none' to prevent ellipsis (dots)." ref: 01605211
  2. Issue:There can be a state where after making changes to the database configuration, a check on the 'Version' persistently displays 'Please, save the new database parameters to evaluate this item'. The message displays regardless of the user clicking on the 'Save' button. Solution:When the 'Save' button does not save the updated entry changes, the only option is to exit the browser, re-open the browser and re-enter the 'Database Configuration' page. The entries for the database configuration needs to be re-inputted and then the 'Save' button will effectively save the entries. 'Version' check ahould be successful after clicking on 'Check' button.
  3. Issue:When creating a new MySQL configuration in the Database Configuration page of "TIBCO Jaspersoft Administration Center 6.4.1", the 'Driver not found' error was displayed after clicking on Check button. Solution:The database connection driver needs to be copied to the directory "C:Jaspersoft6.4.1jacapache-tomcatlib". In this case, in order to resolve the error, the jdbc driver, mysql-connector-java-5.1.45-bin.jar, was copied from "C:Program Files (x86)MySQLConnector J 5.1" to C:Jaspersoft6.4.1jacapache-tomcatlib. The "TIBCO Jaspersoft Administration Center 6.4.1" service needs to be restarted before doing the check again.
  4. I can see it in my 6.4.2 after setting WEB-INF/applicationContext.xml: <property name="enableSaveToHostFS" value="true"/> After restart, its in the Output Options tab and the 'Output To Host File System' is under 'Output Destination'. I recommend a good hard look again.
  5. Issue:In the diagram below, there is a space between the Data labels and connectors to the Pie slice highlighted in yellow. How to reduce (or increase) this space ? Solution:The size of the connector padding can be achieved by setting the following property in the JRXML: <hc:chartProperty name="plotOptions.pie.dataLabels.connectorPadding" value="0"/>[/code]You can also set this property in the "Advanced Properties" of the "Chart Formatting" tab as illustrated below : The result of the change looks like this:
  6. You can encrypt the password for the mail server used by the scheduler (quartz.mail.sender.password). Check this: https://community.jaspersoft.com/documentation/jasperreports-server-administration-guide/v56/encrypting-passwords-configuration-files
  7. Not too sure why you are not seeing it but guessing its the version of Studio as the commercial versions I checked from 6.2 upwards has it bundled in. So under the "Database JDBC Connection" list I see "tibcosoftware.jdbc.mongodb.MongoDBDriver". Even the Studio doc has the section "10.4.2 Creating a MongoDB JDBC Data Source". I believe the video would have been done on 6.2 and above. The mongodb "tibcosoftware" driver comes from progress. There is a video that mentions it : https://www.progress.com/connectors/mongodb
  8. Version 6.2.1 onwards for High Charts, 3D is supported. Works only on Pie, Column, and Bar Chart types Check this article: https://community.jaspersoft.com/wiki/advanced-chart-formatting
  9. Check this document : https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v62/working-database-jdbc-connections
  10. Issue:In a HTML5 Column Line chart, we want the data labels for the secondary y-axis to show on all vertical bars (columns). It is showing on most of the bars but not all. For example: Consider the bars of the illustrated chart titled "Territory Summary". For the 2nd and 6th bars, we can see the data labels for the primary axis but not for the secondary axis. The "TRx" value for the 2nd and 6th bars in the graph are 5.14 and 7.06 respectively, which are not showing on the bars. Solution:The cause of this was due to the overlapping of data labels with the primary y-axis and by default only one label is displayed which is the primary y-axis label. In order to overcome this default behaviour, the following property can be set to allow for overlapping of labels when they coincide : <hc:chartProperty name="plotOptions.series.dataLabels.allowOverlap" value="true"/>[/code]After setting this, both the primary and secondary axis labels will show on the chart. ref: 01597718
  11. Issue:When using tMysqlOutput component to create a table in MySQL database, the column with TIMESTAMP date type was created with "NOT NULL" despite the column being set to "Nullable" in the ETL schema definition. ETL Schema settings: MySQL Settings: Solution:In the MySQL Reference Manual it states the following: "If explicit_defaults_for_timestamp is disabled, the server enables the nonstandard behaviors and handles TIMESTAMP columns as follows: TIMESTAMP columns not explicitly declared with the NULL attribute are automatically declared with the NOT NULL attribute." By default, this system variable is disabled (OFF). Therefore, to overwrite this default behaviour, explicit_defaults_for_timestamp needs to be enabled. Please refer to the mySQL manual on available approaches to change this system variable. One approach on Windows is to modify the my.ini (located in C:ProgramDataMySQLMySQL Server 5.7my.ini) configuration file and add the following to the end of section [mysqld]: explicit_defaults_for_timestamp=ON followed by a restart of the "MySQL57" windows service. After tMysqlOutput runs, the TIMESTAMP column will then be created with as "Nullable" instead of "NOT NULL" in the MySQL database. ref: 01598735
  12. If its high chart, you can use labels.format. Example here: https://api.highcharts.com/highcharts/yAxis.labels.format
  13. Issue:We have an Ad Hoc View Report showing a table with barcode ids. We want to display the barcode id's as barcodes. How can this be achieved ? Solution:Using TIBCO Jaspersoft® Studio, create a font extension and package it as a jar file Navigate to Window > Preferences > Jaspersoft Studio > Fonts Click on "Add From Path" and add the barcode font/s, eg BarcodeFont.ttfSelect the font/s and click on Export to export to a jar file, eg. myfont.jar Copy the myfont.jar file to the TIBCO JasperReports® Server location <js-install>/WEB-INF/lib Edit <js-install>/WEB-INF/classes/jasperreports.properties file and add this property : net.sf.jasperreports.web.resource.pattern.fonts=fonts/.*[/code]Restart TIBCO JasperReports® Server and log in to open the Ad Hoc View Report In the column with the barcode ids, click on the heading and choose the "Column Formatting" icon (highlighted in yellow) Change "Apply To:" to "Detail Rows" and locate the "barcode font" in the "Extension fonts" list and click OK. Example barcode font used is BarcodeFont.ttf (see attached) downloaded from: ref: 01594535
  14. Issue:We added few filters to dashboard, but we found there is lot of space between each filter in the filter group dashlet (see yellow highlight in image below). There is no option to reduce the space or moving each filter closer to other group and there is no alignment option either. We noticed that for Dashboard filter group pop-ups and Ad Hoc Filters, they do not have such wide spaces. We would like to minimize users needing to scroll unnecessarily. How can we adjust the blank space width between filters ? Solution:This requires a small modification to the canvas.css as follows: Download to local drive, the canvas.css from the 'default' theme located under the Themes folder in the repository. Using a text editor, remove this line: margin-bottom: 16px; /* added to fix bug 43513 */[/code]from this section : .dashboardCanvas .dashlet .inputControlWrapper[/code]Upload the canvas.css to a new theme instead of modifying the 'default' theme. Under Themes repository folder, create a new theme. Under the new theme folder, add a 'dashboard' folderUnder 'dashboard' folder, add a Resource of File type CSS and select the modified canvas.css Apply the new theme by making it as an Active theme. Note 1: It is strongly recommended to not modify default theme but rather create a new theme with the modified canvas.css.Note 2: Tests confirms that removing this one line does not cause the bug 43513 to re-surface (JS-30676).Note 3: You can test out the change on-the-fly first using Firefox browser Inspector Tool (F12 key) before modifying the canvas.css. Related Articles:JS-34017 - Blank space between each filter in the inpage dashboard filter group is too wide ref: 01589940
  15. The message simply means there is an error. There may be a a more detailed error and stack trace in the WEB-INFlogsjasperserver.log file matching the UID of "a0a37c16-5ee7-4c89-915b-791977f09307". This will be more useful for finding the root cause.
  16. Issue:After creating an Ad Hoc View Stacked Bar Chart, it shows the Legend in reverse order as shown below. How can this be rectified ? Solution:In Ad Hoc Designer, click on the top left "cog wheels" dropdown and enter into "Chart Format" 2. Navigate to Advanced tab and add the property as illustrated : legend.reversed=true Related Article: https://community.jaspersoft.com/wiki/advanced-chart-formatting
  17. Looks like you would want a line chart. There are a few line chart components in Studio that you can explore.
  18. Setting user access permissions to the repository location may help. See the Admin guide.
  19. Try setting this property at the report level to true. Default is false. net.sf.jasperreports.export.pdf.size.page.to.content=true Purpose: Property which specifies if the size of each page should be increased to accommodate its content.
  20. Maybe related to missing or incorrectly named jar/s. Best to check the .log file for more information. Something along these checklines for a similar problem : https://www.talendforge.org/forum/viewtopic.php?pid=184231
  21. Issue:MySQL 5.7 database is used as the data source for our report generation. This database contains 3 tables with less than 50 records in each. We created 3 dashboards in TIBCO JasperReports® Server web UI and are using the provided JDBC driver "org.mariadb.jdbc.Driver" to connect to MySQL instance. We were able to open the dashboards without any issues but randomly we are unable to view the dashboard reports. When we tried to access the dashboard or even the Ad Hoc view, it displayed the error "There was an error on the Server. Try again or contact site administrators. (error UID: ed6ee631-df2c-4888-8f5f-63a64cae8812)". When we looked at catalina.out file, we matched the UID to the following error: 2018-05-04 02:43:21,915 ERROR ErrorPageHandlerAction,http-nio-8080-exec-1:118 - Error UID ed6ee631-df2c-4888-8f5f-63a64cae8812 com.jaspersoft.jasperserver.api.JSExceptionWrapper: java.sql.SQLException: Already closed. [/code]After restarting the TIBCO JasperReports® Server and MySQL instance, then only we were able to access the Dashboard reports. This is an intermittent problem that has occurred twice in the last month. Solution: Looking at the stack trace error in the catalina.out file, it appears to relate to connection pooling: 2018-05-04 02:43:21,915 ERROR ErrorPageHandlerAction,http-nio-8080-exec-1:118 - Error UID ed6ee631-df2c-4888-8f5f-63a64cae8812 com.jaspersoft.jasperserver.api.JSExceptionWrapper: java.sql.SQLException: Already closed. at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:114) [/code]Steps: The ..META-INFcontext.xml is the configuration file where you define the JNDI connection. For the mySQL connection, add these two properties: validationQuery="select 1" testOnBorrow="true" and also include this property in the connection URL: &autoReconnectForPools=true 2. Restart the TIBCO JasperReports® server. Related Articles:https://stackoverflow.com/questions/16331959/java-sql-sqlexception-already-closed ref: 01584756
  22. Check this: https://community.jaspersoft.com/jaspersoft-etl/issues/7216 Try creating a small bash script to start the app. cd / cd Applications/JETLXCmmty-20150908_1633-V6.0.1/JETLXCmmty-macosx-cocoa.app/Contents/MacOS ./JETLXCmmty-macosx-cocoa
  23. Issue:My job uses tMysqlConnection to roll back and commit. In this job tMysqlInput and tMysqlOutput are using the same connection. Setting "Enable stream" in the tMysqlInput component causes the following error : [toc]Exception in component tMysqlOutput_1java.sql.SQLException: Could not retrieve transation read-only status server at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1084) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:949) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939) at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3976) at com.mysql.jdbc.ConnectionImpl.isReadOnly(ConnectionImpl.java:3947) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1356) at how_to_use.input_0_1.input.tMysqlInput_2Process(input.java:1067) at how_to_use.input_0_1.input.tMysqlConnection_1Process(input.java:466) at how_to_use.input_0_1.input$2.run(input.java:1674)Caused by: java.sql.SQLException: Streaming result set com.mysql.jdbc.RowDataDynamic@64aedc96 is still active. No statements may be issued when any streaming result sets are open and in use on a given connection. Ensure that you have called .close() on any active streaming result sets before attempting more queries. at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:925)[/code] Solution:"Enable stream" option is an option that is specific to MySQL. For tMysqlInput, if you check on "Enable stream" then it streams over buffering and can optimize performance by allowing the code to read from a large table without consuming a large amount of memory. If the option is disabled, the driver will collect all data into the memory and after finishing the collection, it delivers the rows. This can cause Out Of Heap Space memory problems. The error is expected when you "Enable Stream" on tMysqlInput as the tMysqlOutput component is trying to use a connection which is still active due to the checked "Enable Stream" option on previous tMysqlInput component. Uncheck the "Use an existing connection" on the tMysqlInput component and select directly the sql connection within your repository. Ref: 01587994
  24. Issue:When using the tFileInputExcel component, there is the option to select the "Generation mode" in the Advanced settings tab when the option "Read excel2007 file format (xlsx)" is checked. The choices available are "User mode" and "Event mode". What are the differences between these two modes ? Solution:From Talend's documentation: "Less memory consumed for large excel(Event mode): used for large file. This is a memory-saving mode to read the Excel 2007 file as a flow. With this mode selected, the data will be extracted with the format symbol, for example, the percent symbol % and the currency symbol $. Memory-consuming (User mode): used for small file. It needs much memory. With this mode selected, the pure data without the format symbol will be extracted." Example:In an Excel file, there is a SUM formula column formatted as a 'Currency' format. If the value in one of the cells of the SUM column is $20 then it is handled as follows : Memory-consuming(User mode) - handles it as "20", therefore it can be cast to Integer easily. Less memory consumed for large excel(Event mode) - handles it as "$20" which is a string. Therefore user needs to first remove "$" symbol before handling it as Integer. Following are illustrations showing the differences between the two mode. Metadata Excel file contains SUM column: In TIBCO Jaspersoft® ETL Studio, we have a job with two tFileInputExcel components. tFileInputExcel_2 uses the option of "User mode" and logs to tLogRow_1 tFileInputExcel_1 uses the option of "Event mode" and logs to tLogRow_2 After running the job, the differences between the two modes are illustrated in the "sum" column below : Ref: 01587989
  25. Issue:After deploying a new job in TAC, it failed with the following error: [toc]Source '/Jaspersoft/CommandLine/exports/task_275/1525141350519_task_275.zip' does not exist org.apache.commons.io.FileUtils.copyFile(FileUtils.java:636) org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:586) org.apache.commons.io.FileUtils.copyFileToDirectory(FileUtils.java:557) org.talend.administrator.scheduler.business.job.generate.JobGenerator.generate(JobGenerator.java:177) [/code]We have noticed that the sub-directory 'task_275' was created but not the source file '1525141350519_task_275.zip'. Solution:Deploying the job is supposed to generate the source file in '/Jaspersoft/CommandLine/exports/task_275'. Here is a check list to resolve this type of error message: In TAC, the path (in this case it is '/Jaspersoft/CommandLine/exports') specified in the Configuration --> CommandLine/Primary must exist. Check if this directory exists on the commandline server and create it if it does not. Check if the owner of the directory mentioned in 1. above is the same as the owner of the TAC process. You can run the command: # ps -ef | grep tac [/code]to find the owner of tac process, then change the folder owner, with commands such as: #chown -R xxx:xxx /Jaspersoft/CommandLine/exports[/code]If the above are checked but the problem persists then try building a job in studio to see whether it generated the zip file. Also check the steps in the job generation page for the status of each step. In Monitoring -> Commandline page, check whether it displays all steps as finished with "OK" status. If all steps displayed with 'OK' status but building the job failed to generate the zip file, then check whether there are any invalid system routines. For one use case, the problem was due to invalid system routine which cause the job build failure, after deleting this routine files (0.1 and 0.1.xx) from svn repository, the issue was resolved. In Studio, under Code -> Routines -> system, check whether it contains any invalid system routine files. If there are, use an SVN client tool, For example, 'tortoisesvn' or a compatible svn client to delete invalid routine files from the svn code -> routines folder. Note: The most probable cause of this error relates to configuration with the commandline/primary path or directory permissions which can be resolved with step 1 and 2.
×
×
  • Create New...