| Summary: | Replacing the built in emitters in BIRT 3.7 runtime is a major hack | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Missing name <jim.talbut> |
| Component: | BIRT | Assignee: | Birt-ReportViewer <Birt-ReportViewer-inbox> |
| Status: | RESOLVED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | ajwtech, jasonweathersby, jouyang, julien.pellissier, tim.hardcastle |
| Version: | 3.7.0 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Missing name
You can set default emitter for a format by API in engine config: setDefaultEmitter( String format, String emitterId ) There is no way to do this in the viewer though. Jason, Do you mean set a default emitter by URL parameter? Or you mean on GUI? I meant through the viewer export dialog. I suppose if they are just using the URLs they could use the __emitterid parameter. Any way to modify the .js files to point to the new emitter? I am having issues with this as well. I have created a fresh install and tried the hack listed below but it is not working at all for me. Below is the error I get when trying the hack listed below. - Fatal error occurred when try to startup report engine. org.eclipse.birt.report.exception.ViewerException: Fatal error occurred when try to startup report engine. at org.eclipse.birt.report.service.ReportEngineService.setEngineContext(ReportEngineService.java:334) at org.eclipse.birt.report.service.BirtViewerReportService.setContext(BirtViewerReportService.java:1022) at org.eclipse.birt.report.servlet.ViewerServlet.__getContext(ViewerServlet.java:148) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doGet(BirtSoapMessageDispatcherServlet.java:151) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Did you do this: I then opened the META-INF folder and deleted everything but the MANIFEST.MF. I modified this file to look like: Manifest-Version: 1.0 Bundle-Vendor: Eclipse.org Bundle-Name: BIRT Runtime SDK Bundle-SymbolicName: org.eclipse.birt.runtime Bundle-Version: 3.7.0.v20110615-1818 Jason Take a look at this blog: http://birtworld.blogspot.com/2011/07/replacing-default-birt-xls-emitter.html the birtworld blog show how to include tribix emitter into web viewer. Do you know the way to do the same with a the runtime engine ? You would use the same approach, except instead of copying to the web-inf/lib you would just add the jar(s) to the classpath like the reportengine/lib jars. (In reply to comment #9) > You would use the same approach, except instead of copying to the web-inf/lib > you would just add the jar(s) to the classpath like the reportengine/lib jars. Thx Jason it's working well (In reply to comment #10) > (In reply to comment #9) > > You would use the same approach, except instead of copying to the web-inf/lib > > you would just add the jar(s) to the classpath like the reportengine/lib jars. > Thx Jason it's working well Julie - Can you clarify how you got this to work? I have installed the BIRT Runtime 3.7 and I am using the genReport.bat file to help automate some monthly reports. I would like to be able to replace the default xls emitter. |