Fórum

how to integrate birt report

Al Y, modificado 16 Anos atrás.

how to integrate birt report

New Member Postagens: 5 Data de Entrada: 15/12/07 Postagens Recentes
I would like to view a BIRT report within a liferay portlet. Has anyone had success in deploying a birt portlet? How come there are no articles mentioning BIRT? <frustrated BIRT report developer></frustrated BIRT report developer>emoticon
thumbnail
Roman Hoyenko, modificado 16 Anos atrás.

RE: how to integrate birt report

Liferay Master Postagens: 878 Data de Entrada: 08/10/07 Postagens Recentes
I haven't seen a discussion about this portlet here in the community. Is there a JSR-168 compliant portlet available to view BIRT reports? If there is it should work within Liferay.
Al Y, modificado 16 Anos atrás.

RE: how to integrate birt report

New Member Postagens: 5 Data de Entrada: 15/12/07 Postagens Recentes
There is and isn't. Actuate has developed birt portlets (not sure if they are JSR168) for their own iPortal software, which I believe is also based on Liferay. However, it is highly customized to that environment. So in reality, there isn't, hence the need to perform integration. So can anyone shed light on this?
thumbnail
Roman Hoyenko, modificado 16 Anos atrás.

RE: how to integrate birt report

Liferay Master Postagens: 878 Data de Entrada: 08/10/07 Postagens Recentes
Well, if it is based on Liferay, I am pretty sure it could be installed. Did you try to deploy it on Liferay?
David Hay, modificado 16 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 30 Data de Entrada: 03/01/08 Postagens Recentes
Any success with this? We're looking to do the same thing...
Al Y, modificado 16 Anos atrás.

RE: how to integrate birt report

New Member Postagens: 5 Data de Entrada: 15/12/07 Postagens Recentes
Nope, not yet. Still working on it.

I'm much surprised due to the popularity of BIRT that there isn't more support the subject.
David Hay, modificado 16 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 30 Data de Entrada: 03/01/08 Postagens Recentes
Did you see this?

http://wiki.eclipse.org/Portlet_Example_%28BIRT%29_2.1
Ashutosh Patel, modificado 16 Anos atrás.

RE: how to integrate birt report

New Member Postagens: 2 Data de Entrada: 03/04/08 Postagens Recentes
Hi Guys,
I was successfully able to integrate birt report with Liferay portlet.
I just followed above link (http://wiki.eclipse.org/Portlet_Example_%28BIRT%29_2.1) . But i got problem of getting reference to PortletContextImpl. Even after adding the jar in classpath, I got class cast exception. Moreover, it made the portlet non JSR compliant implying that it could not be ported directly to other portal servers.

Then instead of passing ServletContext in WebReoprt.java, I used PortletContext.
PortletContext pc = req.getPortletSession().getPortletContext();
this.birtReportEngine = BirtEngine.getBirtEngine(pc);

In BirtEngine.java, I used following approach:

config.setEngineHome(pc.getRealPath("/WEB-INF/platform"));
//IPlatformContext context = new PlatformServletContext( sc );
//config.setPlatformContext( context );

Then everything works fine!
thumbnail
Bryan Cheung, modificado 15 Anos atrás.

RE: how to integrate birt report

Expert Postagens: 373 Data de Entrada: 27/08/04 Postagens Recentes
Ashutosh Patel:
Hi Guys,
I was successfully able to integrate birt report with Liferay portlet.
I just followed above link (http://wiki.eclipse.org/Portlet_Example_%28BIRT%29_2.1) . But i got problem of getting reference to PortletContextImpl. Even after adding the jar in classpath, I got class cast exception. Moreover, it made the portlet non JSR compliant implying that it could not be ported directly to other portal servers.

Then instead of passing ServletContext in WebReoprt.java, I used PortletContext.
PortletContext pc = req.getPortletSession().getPortletContext();
this.birtReportEngine = BirtEngine.getBirtEngine(pc);

In BirtEngine.java, I used following approach:

config.setEngineHome(pc.getRealPath("/WEB-INF/platform"));
//IPlatformContext context = new PlatformServletContext( sc );
//config.setPlatformContext( context );

Then everything works fine!


That's great news, Ashutosh! I was talking to someone interested in Liferay today and he was also interested in using BIRT.

If you send us the portlet, we can make it available in the portlet repository. What do you think?
Arun Kumar S, modificado 15 Anos atrás.

RE: how to integrate birt report

Regular Member Postagens: 182 Data de Entrada: 23/06/08 Postagens Recentes
Hi,

plz help me....

I built BIRT report into liferay and it works generating HTML
reports. But I need PDF format, so I changed to
resp.setContentType("application/pdf"); and
OUTPUT_FORMAT_PDF
but I don't get any output, just a blank screen.
In Eclipse preview, the PDF works.
Ganesh Ram, modificado 15 Anos atrás.

RE: how to integrate birt report

Regular Member Postagens: 199 Data de Entrada: 05/02/08 Postagens Recentes
I tried building the portlet using the instructions here.

The IReportEngineFactory object is always null.




EngineConfig config = new EngineConfig();
config.setEngineHome("");
//config.setBIRTHome(sc.getRealPath("/WEB-INF/platform"));
IPlatformContext context = new PlatformServletContext(sc);
config.setPlatformContext( context );

try{
	Platform.startup( config );
}
catch ( BirtException e )
{
	e.printStackTrace( );
}
IReportEngineFactory factory = null;
try{
	factory = (IReportEngineFactory) Platform.createFactoryObject("org.eclipse.birt.report.engine.api.impl.ReportEngineFactory");
}
catch(Exception e){
				e.printStackTrace();
}
						
System.out.println("factory: "+factory);



How did you guys get the birt portlet running ?
Any mistake that iam doing ?
xavi c o, modificado 15 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 39 Data de Entrada: 05/01/09 Postagens Recentes
I guess that's the code for BirtEngine.java. If so:

config.setEngineHome("");
//IPlatformContext context = new PlatformServletContext( sc );
//config.setPlatformContext( context );
config.setEngineHome(sc.getRealPath("/WEB-INF/platform"));

Also, you need to change the receiver parameter "ServletContext sc" for "PortletContext sc", and import the package "javax.portlet.PortletContext;", of course.

Good luck !!
Ganesh Ram, modificado 15 Anos atrás.

RE: how to integrate birt report

Regular Member Postagens: 199 Data de Entrada: 05/02/08 Postagens Recentes
I got it working !
I had not put the platform\configuration\config.ini file.
thumbnail
Jonas Yuan, modificado 14 Anos atrás.

RE: how to integrate birt report

Liferay Master Postagens: 993 Data de Entrada: 27/04/07 Postagens Recentes
Hi Ganesh

That's great that you have made the BIRT portlet working in Liferay.

Do you plan to share your work in Liferay community? Love to play with the BIRT portlet.

Thanks

Jonas Yuan

-----------------
Liferay Books

Liferay Portal 5.2/5.3 Systems Development
Liferay Portal 4.4/5.0 Enterprise Intranets
Shravan A, modificado 14 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 29 Data de Entrada: 05/01/09 Postagens Recentes
Hi,


I have followed all the steps given in this message board in 5.1.2,5.2.2 but portlet is not deploying

I am getting the following error.

07:21:04,457 ERROR [HotDeployUtil:60] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets f
or birt-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for birt-portlet
at com.liferay.portal.deploy.hot.BaseHotDeployListener.throwHotDeployException(BaseHotDeployListener.java:47)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:117)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil._fireDeployEvent(HotDeployUtil.java:84)
at com.liferay.portal.kernel.deploy.hot.HotDeployUtil.fireDeployEvent(HotDeployUtil.java:41)
at com.liferay.portal.kernel.servlet.PortletContextListener.portalInit(PortletContextListener.java:92)
at com.liferay.portal.kernel.util.PortalInitableUtil.init(PortalInitableUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletContextListener.contextInitialized(PortletContextListener.java:88)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3764)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1217)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: WebReport cannot be cast to javax.portlet.Portlet
at com.liferay.portal.deploy.hot.PortletHotDeployListener.initPortlet(PortletHotDeployListener.java:369)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.doInvokeDeploy(PortletHotDeployListener.java:230)
at com.liferay.portal.deploy.hot.PortletHotDeployListener.invokeDeploy(PortletHotDeployListener.java:114)
... 21 more



What might be the problem


Thanks in advance
Tim Mi Midd, modificado 14 Anos atrás.

RE: how to integrate birt report

New Member Postagens: 11 Data de Entrada: 16/10/09 Postagens Recentes
I can't get my birt portlet/app deployed, did anybody get theirs working by following the directions in the links above?
donino donino, modificado 12 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 81 Data de Entrada: 02/07/11 Postagens Recentes
Have a look on this jsr 286 Birt Portlet project, the whole site including the reports live demo work on a standard bundle Liferay 6.1. Enjoy! emoticon
thumbnail
Philippe CHEIPE, modificado 12 Anos atrás.

RE: how to integrate birt report

Junior Member Postagens: 61 Data de Entrada: 12/08/10 Postagens Recentes
Perhaps try this way:
http://www.cheipe.com/java/integrer-birt-viewer-dans-une-web-app-java-3

It's an old post, but should still work.

Philippe