Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
How do I create an engine w/o engine home?
ychiu
I'm trying to deploy a report that runs as a standalone application and creates a PDF using BIRT 2.2.1.
Does anyone have an example of how to create a ReportEngine w/o specifying the ReportEngine home?
Our artifact server already has all the jars that are supposed to be in ReportEngine/lib and ReportEngine/plusgin/com.lowagie.itext.*/lib/*.jar.
When I don't set the engine home, it complains with the message "Cant startup the OSGI framework"
Is the other option to specify the EngineHomeContext in EngineConfig? Does anyone have some sample code on how to setup an IPlatformContext?
Find more posts tagged with
Comments
JasonW
Birt has two classes that implement the IPlatformContext. PlatformFileContext and PlatformServletContext. Both require a location to startup the OSGi framework. You do not want any of the libs from the plugins directory in your classpath. OSGi handles this already and it will cause issues. Currently there is no way around starting up the framework.
Jason
ychiu
Thanks Jason for the response.
So, I should then jar up the entire ReportEngine directory and place it in the classpath. Then, I wouldn't need to deploy any of the jars in the ReportEngine/lib directory. I'll derive the absolute path of the ReportEngine at runtime and specify it in the EngineHome.
JasonW
If you are writting your own application, using the API just add the jars from the reportengine/lib to your classpath. The plugins directory handles its own classpath using osgi. If you can not set the BIRT_HOME env var you may have to implent your own PlatformContext, which really only has one method which returns the hard location of the plugins directory to startup OSGI. Where are you putting the ReportEngine/Plugins directory in your application?
ychiu
We'll put the ReportEngine/plugin directory under the app home dir.
I was assuming earlier that I could specify everything BIRT needs in a classpath instead of a hard directory. So, from your tips, I gather:
- we can strip out the jars from ReportEngine/lib and place them in the classpath. We already ran into a dependency issue as the apache commons jar is an older version than what we use. We got around it though
- but we still need to keep the rest of the stuff in the ReportEngine directory.
We have concerns about shipping (w/ our swing app) a directory. If that's something we have to do, could you help me out further with the following questions:
- What's the minimal set of jars/plugins I'll need for the runtime to create simple PDFs? I guess I can do by trial and error and assume I can remove the ones for the designer and chart at the least. It appears the only plugin we need is iText.
- Is there a plan to simplify the deployment of BIRT on standalone applications (e.g. Swing) where the BIRT dependencies need to be shipped to the "clients"?
Thanks a ton, especially, Jason. Without your help and this forum we wouldn't have come this far.
- Yuan
JasonW
It is hard to say which plugins to remove, because I do not know what your reports contain. If you are only using pdf, you probably can remove the other emitter plugins, but make sure you keep the pdf plugins. There are no designer plugins in the runtime. This directory is used for deploying birt and hence contains no designer plugins.
ychiu
So even after removing the entire ReportEngine/lib directory, and the sample db, we have a whopping 24 MB. A huge concern is that it is almost the same size as all the rest of the thick application that we ship. This concern is a show-stopper and risks acceptance of BIRT as the tool for our reporting framework. Sigh!!!
JasonW
There are other plugins you can remove. Do you use charting? What data sources do you use?
ychiu
Thanks, Jason.
We don't use charting and only use the scripted data source. We do not use the birt viewer but call the Report Engine API instead to create PDFs only.
Yuan
JasonW
Can you email me a list of the plugins you currently have in? I will look through and try to explain which ones you can remove.
Jason
rsmith_hir
Could you post the results of your investigation to this thread? I am "in the same boat" so to speak and would like to be able to remove as many things that I don't need as possible.
Thanks
I have a BIRT_HOME that consists of the following directories:
configuration - Do I need this, this seems to have things added to it at runtime.
plugins -
DIR: com.lowagie.itext_1.5.2.v20070710
DIR: org.eclipse.birt.report.data.oda.jdbc_2.2.1.r22x_v20070919
DIR: org.eclipse.birt.report.data.oda.sampledb_2.2.1.r22x_v20070919
DIR: org.eclipse.birt.report.engine.fonts_2.2.1.v20070823
DIR: org.eclipse.core.runtime.compatibility.registry_3.2.100.v20070316
DIR: org.mozilla.rhino_1.6.0.v20070710
DIR: org.w3c.sac_1.3.0.v20070710
com.ibm.icu_3.6.1.v20070906.jar
javax.wsdl_1.4.0.v200706111329.jar
org.apache.batik.bridge_1.6.0.v200706111724.jar
org.apache.batik.css_1.6.0.v200706111724.jar
org.apache.batik.dom.svg_1.6.0.v200706111724.jar
org.apache.batik.dom_1.6.0.v200706111724.jar
org.apache.batik.ext.awt_1.6.0.v200706111724.jar
org.apache.batik.extension_1.6.0.v200706111724.jar
org.apache.batik.parser_1.6.0.v200706111724.jar
org.apache.batik.pdf_1.6.0.v200706111329.jar
org.apache.batik.svggen_1.6.0.v200706111724.jar
org.apache.batik.swing_1.6.0.v200706111724.jar
org.apache.batik.transcoder_1.6.0.v200706111724.jar
org.apache.batik.util.gui_1.6.0.v200706111724.jar
org.apache.batik.util_1.6.0.v200706111724.jar
org.apache.batik.xml_1.6.0.v200706111724.jar
org.apache.commons.codec_1.3.0.v200706111738.jar
org.apache.xerces_2.8.0.v200705301630.jar
org.apache.xml.resolver_1.1.0.v200705310020.jar
org.eclipse.birt.api_1.0.0.jar
org.eclipse.birt.chart.device.extension_2.2.1.r221_v20070828.jar
org.eclipse.birt.chart.device.svg_2.2.1.r221_v20070918.jar
org.eclipse.birt.chart.engine.extension_2.2.1.r221_v20070911.jar
org.eclipse.birt.chart.engine_2.2.1.r221_v20070911.jar
org.eclipse.birt.chart.reportitem_2.2.1.r221_v20070921.jar
org.eclipse.birt.core_2.2.1.r22x_v20070924.jar
org.eclipse.birt.data_2.2.1.r22x_v20070925.jar
org.eclipse.birt.report.data.adapter_2.2.1.r22x_v20070919.jar
org.eclipse.birt.report.data.oda.xml_2.2.1.r22x_v20070919.jar
org.eclipse.birt.report.engine.emitter.html_2.2.1.r22x_v20070918.jar
org.eclipse.birt.report.engine.emitter.pdf_2.2.1.r22x_v20070921.jar
org.eclipse.birt.report.engine.emitter.postscript_2.2.1.v20070823.jar
org.eclipse.birt.report.engine.emitter.ppt_2.2.1.r22x_v20070924.jar
org.eclipse.birt.report.engine.emitter.prototype.excel_2.2.1.r22x_v20070914.jar
org.eclipse.birt.report.engine.emitter.wpml_2.2.1.r22x_v20070829.jar
org.eclipse.birt.report.engine_2.2.1.r22x_v20070924.jar
org.eclipse.birt.report.item.crosstab.core_2.2.1.r221_v20070831.jar
org.eclipse.birt.report.model.adapter.oda_2.2.1.r22x_v20070911.jar
org.eclipse.birt.report.model_2.2.1.r22x_v20070927.jar
org.eclipse.core.contenttype_3.2.100.v20070319.jar
org.eclipse.core.expressions_3.3.0.v20070606-0010.jar
org.eclipse.core.filesystem_1.1.0.v20070606.jar
org.eclipse.core.jobs_3.3.1.R33x_v20070709.jar
org.eclipse.core.resources_3.3.0.v20070604.jar
org.eclipse.core.runtime.compatibility.auth_3.2.100.v20070502.jar
org.eclipse.core.runtime.compatibility_3.1.200.v20070502.jar
org.eclipse.core.runtime_3.3.100.v20070530.jar
org.eclipse.datatools.connectivity.oda.consumer_3.1.1.200708221.jar
org.eclipse.datatools.connectivity.oda.design_3.0.5.200709071.jar
org.eclipse.datatools.connectivity.oda.flatfile_3.0.4.200706071.jar
org.eclipse.datatools.connectivity.oda.profile_3.0.5.200708131.jar
org.eclipse.datatools.connectivity.oda_3.1.0.200708161.jar
org.eclipse.datatools.connectivity_1.0.1.200709061.jar
org.eclipse.datatools.enablement.oda.ws_1.0.1.200709111.jar
org.eclipse.datatools.enablement.oda.xml_1.0.2.200709101.jar
org.eclipse.emf.common_2.2.1.v200702131851.jar
org.eclipse.emf.ecore.xmi_2.2.2.v200702131851.jar
org.eclipse.emf.ecore_2.2.2.v200702131851.jar
org.eclipse.emf_2.2.0.v200702131851.jar
org.eclipse.equinox.app_1.0.1.R33x_v20070828.jar
org.eclipse.equinox.common_3.3.0.v20070426.jar
org.eclipse.equinox.preferences_3.2.100.v20070522.jar
org.eclipse.equinox.registry_3.3.1.R33x_v20070802.jar
org.eclipse.osgi.services_3.1.200.v20070605.jar
org.eclipse.osgi_3.3.1.R33x_v20070828.jar
org.eclipse.update.configurator_3.2.101.R33x_v20070810.jar
org.w3c.css.sac_1.3.0.v200706111724.jar
org.w3c.dom.smil_1.0.0.v200706111724.jar
org.w3c.dom.svg_1.1.0.v200706111724.jar
Jack
We have the same problem, we are using swing as client program, 35M is to big for us, we need to generate pdf report only, Can anyone to answer which jars and directories are necessary to generate pdf report?
Hawaa
Hello,
We have the same problme. We need to use the dataScripted and generate our report in pdf, html and xls.
can anyone to answer witch plugin are nessary to generate the reports?
PS.
Project size : 47 MO is to big to deploy.
We use BIRT 2.3
Server application : JBOSS GA.5.0.1
joann
Hi Jason,
Was hoping you could assist us with the same problem of removing unwanted plugins and jars from the report engine since it creates a hassle of size limitations.
I have reduced the no of jars in the lib to barely 7 to permit report geenration to pdf,xls,html,ppt,doc files.
I woudl appreciated some guidance as to which jars to remove from the configuration and plugins folder as well.
Regards,
Joann