Foren

how to integrate birt report

Al Y, geändert vor 16 Jahren.

how to integrate birt report

New Member Beiträge: 5 Beitrittsdatum: 15.12.07 Neueste Beiträge
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, geändert vor 16 Jahren.

RE: how to integrate birt report

Liferay Master Beiträge: 878 Beitrittsdatum: 08.10.07 Neueste Beiträge
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, geändert vor 16 Jahren.

RE: how to integrate birt report

New Member Beiträge: 5 Beitrittsdatum: 15.12.07 Neueste Beiträge
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, geändert vor 16 Jahren.

RE: how to integrate birt report

Liferay Master Beiträge: 878 Beitrittsdatum: 08.10.07 Neueste Beiträge
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, geändert vor 16 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 30 Beitrittsdatum: 03.01.08 Neueste Beiträge
Any success with this? We're looking to do the same thing...
Al Y, geändert vor 16 Jahren.

RE: how to integrate birt report

New Member Beiträge: 5 Beitrittsdatum: 15.12.07 Neueste Beiträge
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, geändert vor 16 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 30 Beitrittsdatum: 03.01.08 Neueste Beiträge
Did you see this?

http://wiki.eclipse.org/Portlet_Example_%28BIRT%29_2.1
Ashutosh Patel, geändert vor 16 Jahren.

RE: how to integrate birt report

New Member Beiträge: 2 Beitrittsdatum: 03.04.08 Neueste Beiträge
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, geändert vor 15 Jahren.

RE: how to integrate birt report

Expert Beiträge: 373 Beitrittsdatum: 27.08.04 Neueste Beiträge
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, geändert vor 15 Jahren.

RE: how to integrate birt report

Regular Member Beiträge: 182 Beitrittsdatum: 23.06.08 Neueste Beiträge
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, geändert vor 15 Jahren.

RE: how to integrate birt report

Regular Member Beiträge: 199 Beitrittsdatum: 05.02.08 Neueste Beiträge
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, geändert vor 15 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 39 Beitrittsdatum: 05.01.09 Neueste Beiträge
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, geändert vor 15 Jahren.

RE: how to integrate birt report

Regular Member Beiträge: 199 Beitrittsdatum: 05.02.08 Neueste Beiträge
I got it working !
I had not put the platform\configuration\config.ini file.
thumbnail
Jonas Yuan, geändert vor 14 Jahren.

RE: how to integrate birt report

Liferay Master Beiträge: 993 Beitrittsdatum: 27.04.07 Neueste Beiträge
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, geändert vor 14 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 29 Beitrittsdatum: 05.01.09 Neueste Beiträge
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, geändert vor 14 Jahren.

RE: how to integrate birt report

New Member Beiträge: 11 Beitrittsdatum: 16.10.09 Neueste Beiträge
I can't get my birt portlet/app deployed, did anybody get theirs working by following the directions in the links above?
donino donino, geändert vor 12 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 81 Beitrittsdatum: 02.07.11 Neueste Beiträge
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, geändert vor 12 Jahren.

RE: how to integrate birt report

Junior Member Beiträge: 61 Beitrittsdatum: 12.08.10 Neueste Beiträge
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