kkumlien
Members-
Posts
137 -
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 kkumlien
-
jasper serverv 6.1.1or V 6.2.0 - Monitoring tools -
kkumlien replied to janakarajp's topic in Products
Depending on what exactly you need to monitor, there are many tools out there. Here's a nice summary: https://blog.jakubholy.net/wiki/development/ops-monitoring/ (I would add Dynatrace to that list) I recommend reviewing the Server Diagnostics section in the JRS Admin Guide, in particular: https://community.jaspersoft.com/documentation/tibco-jasperreports-server-administrator-guide/v750/exposing-diagnostics-through JMX can be used by many tools to monitor the application. See also: https://community.jaspersoft.com/wiki/performance-troubleshooting-tools -
How to run a bundled installer for TIBCO JasperReports® Server in macOS 10.15 Catalina
kkumlien posted an entry in Getting Started
kkumlien posted an entry in Getting Started
ProblemWhen running a bundled installer for TIBCO JasperReports® Server on macOS 10.15 Catalina, the installer fails silently or presents one of the messages below. PLEASE NOTE: Catalina is not officially supported (certified) on JasperReports® Server 7.5.0 and earlier versions. If you are concerned with getting support from TIBCO, please choose version 7.5.1, 7.8.0 or later. See New Features in 7.8.0: https://community.jaspersoft.com/documentation/tibco-jasperreports-server-release-notes/v780/new-features We use TIBCO JasperReports® Server Community Edition 7.2.0 in this example, but this should be applicable to other editions or versions that are impacted. Messages“TIB_js-jrs-cp_7.2.0_macosx_x86_64.app” cannot be opened because the developer cannot be verified. macOS cannot verify that this app is free from malware. $ open TIB_js-jrs-cp_7.2.0_macosx_x86_64.appLSOpenURLsWithRole() failed with error -10810 for the file .../TIB_js-jrs-cp_7.2.0_macosx_x86_64.app.$ ./TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/installbuilder.sh./TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/installbuilder.sh: line 18: ./TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/osx-intel: Bad CPU type in executable[/code]Each message will vary slightly depending on the edition / version. SolutionAssuming you have obtained the installer from a trusted source, such as a tibco.com or jaspersoft.com website, first thing you need to enable the installer by going to System Preferences > Security & Privacy > then (if you see the message "“TIB_js-jrs...x86_64.app” was blocked from use [...]" or similar) click on Open Anyway. It will ask you again "macOS cannot verify the developer of “TIB_js-jrs-cp_7.2.0_macosx_x86_64.app”. Are you sure you want to open it?" > click Open. The bundled installer is based on the BitRock™ InstallBuilder™, which has added Catalina support in a recent release, see https://installbuilder.bitrock.com/changelog.html. Download one of those recent releases, such as https://installbuilder.bitrock.com/installbuilder-19.10.0-osx-installer.dmg Extract the app bundle from the dmg file: e.g. open the dmg file, then drag the app file from there and drop to a local directory Copy the binary file and related .dat file from the InstallBuilder app into the JasperReports Server app and overwite the files there. For example: $ cp installbuilder-19.10.0-osx-installer.app/Contents/MacOS/osx-x86_64 TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/osx-intel[/code]and: $ cp installbuilder-19.10.0-osx-installer.app/Contents/Resources/osx-x86_64.dat TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/Resources/osx-intel.dat[/code]Now you should be able to run the installer normallyIf you're unable to accept the License Agreement because the button is not visible, cancel and run the installer from the command line. See the help: $ ./TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/installbuilder.sh --helpJasperReports Server CP 7.2.0 7.2.0Usage: --help Display the list of valid options --version Display product information --unattendedmodeui <unattendedmodeui> Unattended Mode UI Default: none Allowed: none minimal minimalWithDialogs[...] --jasperLicenseAccepted <jasperLicenseAccepted> Do you accept this license? Default:[...][/code]Then run it this way to accept the license automatically: $ ./TIB_js-jrs-cp_7.2.0_macosx_x86_64.app/Contents/MacOS/installbuilder.sh --jasperLicenseAccepted true[/code]Just click Next at the License Agreement screen and it should continue.- 1 comment
-
- JasperReports Server
- jrs7
-
(and 2 more)
Tagged with:
-
How to set Unlimited Session Timeout in Tomcat
kkumlien commented on Tom C's entry in Best Practices
The samples mentioned by Teodor can be found in the library distribution zip file or here: https://github.com/TIBCOSoftware/jasperreports/tree/master/jasperreports/demo/samples-
- how to
- jasperreports server
-
(and 4 more)
Tagged with:
-
Current feature request is tracked here: https://community.jaspersoft.com/jasperreports-library/issues/4185
-
Jaspersoft MongoDB Query Language: Aggregation and projection
kkumlien replied to ano_nym_ous's topic in Products
See latest comment on the bug report here: https://community.jaspersoft.com/jasperreports-server/issues/10886#comment-859521 It might not help for Studio but it might for JasperReports Server. -
What do you see if you paste the URL from the error into a browser? You will probably see a message that an API key is required. Google made it mandatory in 2016: https://developers.google.com/maps/standard-plan-2016-update
-
Jaspersoft MongoDB Query Language: Aggregation and projection
kkumlien replied to ano_nym_ous's topic in Products
See latest comment on the bug report here: https://community.jaspersoft.com/mongodb-connector/issues/10886#comment-858831 -
Jaspersoft MongoDB Query Language: Aggregation and projection
kkumlien replied to ano_nym_ous's topic in Products
See latest comment on the bug report here: https://community.jaspersoft.com/mongodb-connector/issues/10886#comment-858831 -
Hitoshi, thanks for taking the time to write a note at this difficult time. You're an amazing contributor to this community, some rest is more than deserved. My condolences and deepest sympathies for your loss.
-
Hi Alessandro, please ask a new question here: https://community.jaspersoft.com/answers
-
Go to: https://community.jaspersoft.com/bug-tracker > Click "Create new Bug Report" > Select Project: "Jaspersoft Studio" Or go to: https://community.jaspersoft.com/node/add/bug?field_bug_project=496
-
javattitude.com is down and there is no copy on the web archive, but there is this blog: https://javattitude.wordpress.com/2017/04/16/saml-2-0-authetication-with-jasper-server-6-3/
- 5 replies
-
- authentication
- jasperreports server
- (and 3 more)
-
Hi Joey, I posted my answer nearly 4 years ago :D Things tend to move fast in software. The repo moved to GitHub since, I've updated the answer.
-
How to cache data in a report for use in multiple datasets
kkumlien posted an entry in Best Practices
kkumlien posted an entry in Best Practices
In a report sometimes the data source / database / network is performing badly or maybe the query is just too complex. In some cases it would be useful to be able to run a query just once in the report, but then cache the data and reuse it in multiple components or datasets. Attached to the bottom of this article (here), we provide a sample JRXML file to show one way to implement this via the JRDataSource interface, which is documented here: https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v71/working-jrdatasource-interface-0http://jasperreports.sourceforge.net/sample.reference/datasource/index.html#datasourcesThe custom code below is required for the report to work and needs to be compiled into a JAR file and made available where the report is running (e.g. in Jaspersoft Studio or JasperReports Server). See also here for other possible approaches: How to use multiple data sources in Jaspersoft Studio or JasperReports Server This example is based on the product table which is available in the Foodmart sample database. Please be aware that this sample code is provided AS IS, it is your responsibility to review it and make sure it satisfies your requirements. Feel free to modify it and adapt it to your needs. Also bear in mind that LOADING TOO MUCH DATA MIGHT EXHAUST YOUR SERVER MEMORY, so use with caution. Custom BeanCreate a class that holds fields required by your report, for example: package com.example.jaspersoft.reportcache; // Custom Bean public class CBean { private String brand_name; private String product_name; private Float gross_weight; public void setbrand_name(String brand_name) { this.brand_name = brand_name; } public String getbrand_name() { return this.brand_name; } public void setproduct_name(String product_name) { this.product_name = product_name; } public String getproduct_name() { return this.product_name; } public void setgross_weight(Float gross_weight) { this.gross_weight = gross_weight; } public Float getgross_weight() { return this.gross_weight; } } Data SourceCreate a class that iterates through a result set and stores the rows in a collection (JRBeanCollectionDataSource), for example: package com.example.jaspersoft.reportcache; import java.util.ArrayList; import java.util.Collection; import java.util.logging.Logger; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRResultSetDataSource; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.design.JRDesignField; public class CollectionDS { static final Logger LOGGER = Logger.getLogger(CollectionDS.class.getName()); public static JRBeanCollectionDataSource jdbc2CollectionDS(JRDataSource res) throws JRException { JRBeanCollectionDataSource ds = null; LOGGER.fine("Inside JRBeanCollectionDataSource"); JRDesignField f = new JRDesignField(); f.setName("brand_name"); f.setValueClass(java.lang.String.class); f.setValueClassName("java.lang.String"); JRDesignField f2 = new JRDesignField(); f2.setName("product_name"); f2.setValueClass(java.lang.String.class); f2.setValueClassName("java.lang.String"); JRDesignField f3 = new JRDesignField(); f3.setName("gross_weight"); f3.setValueClass(java.lang.Float.class); f3.setValueClassName("java.lang.Float"); LOGGER.fine("After JRDesignField"); Collection<CBean> coll = new ArrayList<CBean>(); if (res instanceof JRResultSetDataSource) { while (((JRResultSetDataSource) res).next()) { String brand_name = (String) res.getFieldValue(f); String product_name = (String) res.getFieldValue(f2); Float gross_weight = (Float) res.getFieldValue(f3); CBean product = new CBean(); product.setbrand_name(brand_name); product.setproduct_name(product_name); product.setgross_weight(gross_weight); coll.add(product); } } else { throw new JRException("Your Data Source MUST be of type JRResultSetDataSource in JSS or JRS, or JSControlledResultSetDataSource in JRS"); } ds = new JRBeanCollectionDataSource(coll); LOGGER.fine("JRBeanCollectionDataSource ds: " + ds.getRecordCount()); return ds.cloneDataSource(); } public static JRBeanCollectionDataSource rewind(JRBeanCollectionDataSource res) throws JRException { // JRBeanCollectionDataSource ds = res.cloneDataSource(); res.moveFirst(); return res; } } ReportIn your report, use the existing JDBC connection to generate the result set, for example: Create a Variable with name myCollection:Value Class Name: net.sf.jasperreports.engine.data.JRBeanCollectionDataSourceCalculation: SystemInitial Value Expression: com.example.jaspersoft.reportcache.CollectionDS.jdbc2CollectionDS(new JRResultSetDataSource($P{REPORT_CONNECTION}.createStatement().executeQuery("SELECT brand_name, product_name, gross_weight FROM product")))Leave empty any other fieldsIf you want to use the query of the main report dataset, use this instead of the static query text: $P{JASPER_REPORT}.getQuery().getText()Create a Sub Dataset with name Dataset1, then use it in your element, for example an HTML5 Chart. Let's call it Chart1In Chart1: use a DataSource expression with value: $V{myCollection}Do the same above in another element, let's call it Chart2, but use this in the DataSource expression: com.example.jaspersoft.reportcache.CollectionDS.rewind($V{myCollection})See screenshots below as examples We recommend setting the main report dataset to a dummy query (for example in PostgreSQL: SELECT 1), as your main query will run in a secondary dataset, to be then reused in other datasets. If you use it in both places, it will run twice and reduce the performance gain of running it only once. Verify the query runs only onceFirst of all, please follow instructions from Configuring Apache Commons Logging and Log4J in Jaspersoft Studio to enable Apache Commons Logging in Jaspersoft Studio. Then add following lines to log.properties: #jr caching customization com.example.jaspersoft.reportcache.CollectionDS.level = FINE com.example.jaspersoft.reportcache.CBean.level = FINE org.postgresql.level=FINESTYou should see similar records in your studio-common.log Feb 08, 2019 12:40:19 PM org.postgresql.core.v3.QueryExecutorImpl sendParse FINEST: FE=> Parse(stmt=null,query="select 1",oids={}) ... Feb 08, 2019 12:40:19 PM org.postgresql.core.v3.QueryExecutorImpl sendParse FINEST: FE=> Parse(stmt=null,query="SELECT brand_name, product_name, gross_weight FROM product",oids={})To use the classes in your reports, put the compiled class files in WEB-INF/classes or the JAR file in WEB-INF/lib in your JasperReports Server directory, for example /Applications/jasperreports-server-7.1.0/apache-tomcat/webapps/jasperserver-pro/WEB-INF/lib. customization_jr-reportcache_upd.jrxml -
Also documented here: https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v71/setting-advanced-options-html5-charts-0
-
Hi Karen, as Dashboards are not a feature of the Community Edition, can you please log a case to the Support portal? Thank you!
- 5 comments
-
- JasperReports Server
- jrs6
-
(and 3 more)
Tagged with:
-
I believe Log4j (as opposed to Commons Logging) works only if a class uses it explicitly? For example net.sf.jasperreports.engine.query.JRJdbcQueryExecuter does not work in debug in log4j-config.properties, but it worked for me when set in log.properties: net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.level = FINE Btw it only works if I comment out the FileHandler level, otherwise it stays everything at INFO level instead of FINE: # java.util.logging.FileHandler.level = INFO
- 1 comment
-
- feeds
- article
-
(and 76 more)
Tagged with:
- feeds
- article
- require login
- ad hoc
- require login
- require login
- excel
- custom excel layout
- dashboard designer
- dashboard
- require login
- jasperreports library
- variables
- require login
- jasperreports server
- require login
- localization
- jasperreports server
- timezones
- require login
- ireport designer
- pagebreak
- require login
- jasperreports server
- v5.6
- scheduler
- restrict editing to staff
- jaspersoft studio
- logging
- troubleshooting
- ireport designer
- jrxml
- jasperreports library
- faq
- tomcat
- tutorials
- jasperreports server
- configuration
- scheduler
- restrict editing to staff
- html
- web services
- how to
- exporting
- jasperreports server
- faq
- rest api
- how to
- ad hoc
- jasperreports server
- date
- restrict editing to staff
- jaspersoft studio
- jasperreports server
- tutorials
- xml
- how to
- datasource
- jasperreports server
- jaspersoft studio
- variables
- expressions
- tutorials
- restrict editing to staff
- installation
- crosstab
- getting started
- tomcat
- ireport designer
- postgresql
- installation
- jasperreports server
- restrict editing to staff
- aws
- dashboards
- domains
- aws
- calc
-
Have you looked into the sample Custom Bean Data Source? https://community.jaspersoft.com/documentation/tibco-jasperreports-server-ultimate-guide/v710/custom-data-source-examples
-
Is there a way to invoke compiled .jasper in server?
kkumlien replied to mchisty's topic in Developers and API
Hi M Chisty, why do you need access to the .jasper file on the server? It should be an internal object stored in a temp area of the app server once a report is executed, and not accessible to JRS users. You could download the JRXML file via REST and then compile it locally. -
Jaspersoft MongoDB Query Language: Aggregation and projection
kkumlien replied to ano_nym_ous's topic in Products
Only MongoDB versions 3.0-3.4.1 are certified: https://community.jaspersoft.com/documentation/v710/tibco-jasperreports-server-supported-platform-datasheet -
Same solution for Redshift: https://community.jaspersoft.com/wiki/server-error-when-using-derived-table-redshift
-
See solution here: https://community.jaspersoft.com/wiki/getting-timeout-pop-message-tibco-jasperreports-server-dashboard-designer