chenyang.feng.cn Posted April 9, 2015 Posted April 9, 2015 hi, guys, I have successfully run the Custom Visualization Component in the jasperserver-pro(localhost:8080/jasperserver-pro), which is commercial version. but faild in the community version(localhost:8080/jasperserver). so I want to know the reason is the difference between the two version or something I have donw wrong. I do this cause I want to integrate with D3.js any suggestions would be appreciated follow up , there is no error message , and when I view the report in jasperserver, the page will continue loading all the time. and the server will create temp file like svg and html file in temp folder. and these file works perfectly , so why jasperserver not show these thing ? this is the link I followed, worked on pro version : http://community.jaspersoft.com/wiki/custom-visualization-component-v60x the community version I use: jasperreports-server-cp-6.0.1-bin jars:htmlcomponent.jar, jasperreports-customvisualization-6.0.1.jar, mysql-connector-java-5.1.25-bin.jar, phantomjs works and my jasperreports.properties: com.jaspersoft.jasperreports.components.customvisualization.require.js=file:///usr/local/Cellar/tomcat7/7.0.59/libexec/webapps/jasperserver/optimized-scripts/bower_components/requirejs/require.js net.sf.jasperreports.web.resource.pattern.customvisualization.scripts=com/jaspersoft/jasperreports/customvisualization/resources/require com.jaspersoft.jasperreports.components.customvisualization.phantomjs.executable.path=file:///usr/bin/phantomjs net.sf.jasperreports.query.executer.factory.sql=com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuterFactory net.sf.jasperreports.query.executer.factory.HiveQL=com.jaspersoft.hadoop.hive.HiveQueryExecuterFactory #limit the crosstab bucket/measure count to prevent out of memory errors net.sf.jasperreports.crosstab.bucket.measure.limit=100000 #suppress page and column footers and all but the first page and column headers when exporting to XLS net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.1=pageHeader net.sf.jasperreports.export.xls.exclude.origin.band.2=pageFooter net.sf.jasperreports.export.xls.exclude.origin.keep.first.band.3=columnHeader net.sf.jasperreports.export.xls.exclude.origin.band.4=columnFooter # report exporter hints override export parameters net.sf.jasperreports.export.parameters.override.report.hints=false # use the workaround for the Sun JDK Glyph synchronization bug net.sf.jasperreports.text.measurer.factory=net.sf.jasperreports.engine.util.JdkGlyphFixTextMeasurerFactory # the fast/single line text measurer factory net.sf.jasperreports.text.measurer.factory.single.line=com.jaspersoft.jasperserver.api.engine.jasperreports.util.SingleLineTextMeasurerFactory # the default chart theme to use #net.sf.jasperreports.chart.theme=eye.candy.sixties # override the JR MDX query executer net.sf.jasperreports.query.executer.factory.mdx=com.jaspersoft.jasperserver.api.engine.jasperreports.util.JSMdxQueryExecuterFactory net.sf.jasperreports.query.executer.factory.MDX=com.jaspersoft.jasperserver.api.engine.jasperreports.util.JSMdxQueryExecuterFactory # save line break positions at fill time net.sf.jasperreports.text.save.line.breaks=true # nested tables can cause column misalignments net.sf.jasperreports.export.html.frames.as.nested.tables=false #net.sf.jasperreports.export.html.border.collapse=separate # ignore missing fonts in reports net.sf.jasperreports.awt.ignore.missing.font=true # allow element negative width net.sf.jasperreports.allow.element.negative.width=true # switch between new XHTML to the former HTML exporter com.jaspersoft.jasperreports.export.html.type=html2 #com.jaspersoft.jasperreports.export.html.type=xhtml #com.jaspersoft.jasperreports.export.html.type=html # date patterns for JR interactive components #net.sf.jasperreports.components.date.pattern.key=date.format #net.sf.jasperreports.components.calendar.date.pattern.key=calendar.date.format net.sf.jasperreports.web.report.resources.path=/reportresource/reportresource net.sf.jasperreports.web.request.parameter.resource.uri=resource net.sf.jasperreports.print.transfer.jrs.export=com.jaspersoft.jrs.export #com.jaspersoft.jrs.export.csv.paginated=true #com.jaspersoft.jrs.export.xls.paginated=true #com.jaspersoft.jrs.export.pdf.paginated=false #com.jaspersoft.jrs.export.docx.paginated=false #com.jaspersoft.jrs.export.rtf.paginated=false #com.jaspersoft.jrs.export.odt.paginated=false
chenyang.feng.cn Posted April 10, 2015 Author Posted April 10, 2015 hi, the problem is still not solved. and I want to post my tutorial on how to integrate jasperserver and studio with D3.js in case someone need this.and this tutorial is just for someguy's enviroment same like me, mac, haha. jasper server integrate with d3.js1,install the tomcat:in terminal type:brew search tomcatand type:brew install tomcat7so, tomcat7 will installed in your /usr/local/Cellar2,install jasper server-cedownload the jasper server source code, link: http://community.jaspersoft.com/project/jasperreports-server/releasesdownload jasperreports-server-cp-6.0.1-src.zipunzip the zip file and then folllow the TIBCO jasperreporats server source build guide to install jasper server in your tomcatsteps are :copy config file you need from the sample config file and rename it, like if you want to run jasper server on mysql and tomcat, run these command in your terminal:cd <PATH>/JasperReports-Server-cp-6.0.1-src/jasperserver/buildomaticcp sample_conf/mysql_master.properties default_master.propertiesand change the data in it :dbUsername = rootdbPassword = passwordmaven = /home/devuser/apache-maven-3.0.4/bin/mvnjs-path = /home/<user>/JasperReports-Server-6.0-src/jasperserverrepo-path = /home/<user>/JasperReports-Server-6.0-src/jasperserver-repojs-pro-path = /home/<user>(no idea why it need this, just give some location you like, any one works, but if you comment this line, it will get error when you install)maven.home = /usr/local/apache-maven/apache-maven-3.2.3(this is optional, in case jasper can not have your maven home)make sure you have start your database and stop your tomcat , then follow these command in your terminal to build the source code:cd <PATH>/JasperReports-Server-cp-6.0.1-src/jasperserver/buildomatic./js-ant clean-config./js-ant gen-config./js-ant add-jdbc-driver./js-ant build-ce./js-ant create-load-js-db-ce./js-ant deploy-webapp-ce(if you failed when on one step, and the error message mentioned something like request address is already used.. you can search the result from google and get the solution, but easy way to fix this is turn off your wifi)now, the jasper server has been deployed to your tomcat, so go to tomcat and start the server:cd /usr/local/Cellar/tomcat7/7.0.59/libexec/binbash startup.shthen go to http://localhost:8080/jasperserver(if you can not see the welcome page, and a hug 404 come into your eye, an easy way to fix this is to turn off your wifi, and restart your server)you will see the welcome page, then use account:jasperadmin, password:jasperadmin to login3,install jasper studiodownload page ishttps://community.jaspersoft.com/project/jaspersoft-studio/releases4,Custom Visualization Componentofficial link :http://community.jaspersoft.com/wiki/custom-visualization-component-v60xthe only thing jasper studio need is phantoms, the other things are for jasper server:1,install phantomjsyou will need phantom jsdownload it from its website:http://phantomjs.org/if your system is yosemity or later , you may want this version of this phantom:https://github.com/eugene1g/phantomjs/releasesother wise it will not workafter download, unzip the file, and add it to your PATH, and it is ready to use.to find which PATH you use, just typeecho $PATHterminal will give you all the PATH you are using, move phantomjs to any of themyou can run phantomjs —version in your command to make sure phantomjs worksif you are running linux, please follow the link bellow to install the source code,very sorry for the 30 minutes you will take:http://phantomjs.org/build.html2,add require.jsgo to :/apache-tomcat/webapps/jasperserver/WEB-INF/classes/jasperreports.propertiesadd these two line in jasperreports.properties:com.jaspersoft.jasperreports.components.customvisualization.require.js=file:///path/to/require.jsnet.sf.jasperreports.web.resource.pattern.customvisualization.scripts=com/jaspersoft/jasperreports/customvisualization/resources/requireReplace /path/to/require.js with a proper absolute path to require.js3,jarsthe location of jasper server jars is :~/jasperserver/WEB-INF/lib/check if you have jasperreports-customvisualization-x.y.z.jar in your jasper server lib file,if you do not have it , download it from website. this jar include D3.js and other stuff you will need to customize your jasperfind htmlcomponentX_X_X.jar in studio, this is shipped with studio, but not shipped with jasper server. so extract htmlcomponentX_X_X.jar, and get another htmlcomponent.jar, put it in server lib file. this file is used for html component in server side(if you do not have this jar in server side, it will get your error when you deploy report from studio to server)5,run the samplebefore this, you may wan to see 3rd part in errors and solutionsthis is official link tell you how to run the D3 samples;http://community.jaspersoft.com/wiki/custom-visualization-component-v60x-how-run-samplesyou can follow the tutorial. they use sample DB which is a postgre database created by studio. so if you want to make these samples viewed in jasper server, you will need to make a same database and connect with serverOr, you can create a simple D3.js by yourself, no database needed1, click File-> new -> other ->jaspersoft Studio -> custom visualization component2, errors and solution:1,start the server, and there is error like this:2013-12-09 15:35:47,869 ERROR JNDIResourceProvider,localhost-startStop-1:75 - error closing contextjavax.naming.OperationNotSupportedException: Context is read onlysolution link: https://community.jaspersoft.com/questions/822153/error-closing-context2,if you get an error from catalina.out said your java memory not enough, just increase it in tomcat setting:add following two line to your <USER>/.bash_profile file:export JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"export JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:PermSize=512m”and runsource ~/.bash_profilein your terminal to restart the bash_profile3,if you can not see the preview in jasperstudio in java format, you may try this :http://localhost:8080/jasperserver-pro/flow.html?_flowId=searchFlow4,when you add data source in jasper studio, and there is an error said you do not have XXX driver, you may click Driver Classpath and add your jars here.and same thing when you run your project in studio, and you can add your jars in the project class path. by right click your project, and click Build Path -> Configure Build Path ->Libraries -> add extenal JARS
newbie wan Posted June 11, 2015 Posted June 11, 2015 hi, chenyang.feng.cnHave you ever successfully run custom visualization component in Jasperserver CE?Cause I have faced some problem when trying to deploy in server. It always says "Internal server error".But if i remove cvc element in the report file, it deployed well.I have follow your intruction above to add some line in jasperreports.properties and some jar too.is it ever happen to you? Thanks & Regards
chenyang.feng.cn Posted June 12, 2015 Author Posted June 12, 2015 Hi newbie wanI think you may NOT add html component to the jasperserver, check thatd
newbie wan Posted June 12, 2015 Posted June 12, 2015 :D yeah you're right,i removed that html component jar and its works well.Thanks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now