Giter Site home page Giter Site logo

eclipse-birt / birt Goto Github PK

View Code? Open in Web Editor NEW
421.0 70.0 387.0 215.02 MB

Eclipse BIRT™ The open source reporting and data visualization project.

Home Page: http://www.eclipse.org/birt

License: Eclipse Public License 2.0

HTML 5.06% Java 89.60% CSS 0.09% Shell 0.04% JavaScript 0.54% PostScript 4.60% C++ 0.01% XSLT 0.05% Batchfile 0.01%

birt's Introduction

Eclipse BIRT Build Status

The open source Eclipse BIRT reporting and data visualization project.

Website

https://eclipse.org/birt

Create a BIRT Development Environment

  • yt

  • Create Eclipse Development Environment for Eclipse BIRT

Building BIRT

BIRT is built with Apache Maven through Tycho on Eclipse CI.

To build BIRT with the latest Eclipse platform, run:

mvn clean verify -DskipTests=true

Building environment

  • JDK 17
  • Maven 3.9.0

Eclipse Version

If you want to install BIRT as a plug-in, please be aware that BIRT 4.14 requires Eclipse 4.30 or higher, and Java 17 or higher.

Latest Version 4.16.0

Current Version 4.16.0

Latest Snapshots Towards <birt.version><birt.version>4.17.0</birt.version></birt.version>

birt's People

Contributors

bgamble avatar bharadwaj14 avatar bsrujank avatar claesrosell avatar flugtiger avatar frostscar avatar greatyan avatar hvbtup avatar jane-tatchell avatar jonfang avatar jzhai avatar lchenmis97 avatar lllxin avatar merks avatar ravikirankatneni avatar rkanguri-birt avatar ruspl-afed avatar serguei-actuate avatar sguan-actuate avatar speckyspooky avatar steveschafer-innovent avatar terrypcbian avatar thelaserninja avatar vnijhawa avatar wimjongman avatar xinzhao-actuate avatar xluo-actuate avatar yongjiang avatar yuxuandai avatar zhiqiangqian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

birt's Issues

Review ReportLauncherUtils.java:

This class could not be compiled against latest eclipse. Review what needs to be done here.

UI/org.eclipse.birt.report.debug.ui/src/org/eclipse/birt/report/debug/internal/ui/launcher/util/ReportLauncherUtils.java:

java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255

Hi Team,

I have a query related to this issue
“java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255"

Let me brief you few analysis part
As currently we are using "com.ibm.icu_3.6.1.v20070906.jar" jar in our project.
This jar is getting used in reporting tool(Birt report) of our product.

In recent months we upgraded our product java to 8.0.6.15 version but our reporting tool throws this error


Caused by: java.lang.IllegalArgumentException: Invalid version number: Version number may be negative or greater than 255
at com.ibm.icu.util.VersionInfo.getInstance(VersionInfo.java:194)
at com.ibm.icu.impl.ICUDebug.getInstanceLenient(ICUDebug.java:65)


At previous , I approached icu-support with short analysis over this issue.
we got response at that time i.e "this issue fixed in icu4j.jar(of version 68).So you can use this version of jar".

Later we analysed more and test , found we are using "com.ibm.icu_3.6.1.v20070906.jar" in the reporting tool not icu4j.jar.
Further we upgarded our java version to 8.0.6.20,8.0.6.25 & 8.0.6.30. Finally we are using java 8.0.6.30 now. And still our birt repoting tool throwing the same error which we got on 8.0.6.15 version of java.

Although the error was in Birt module so I checked with Eclipse support who managed this Birt project. But they directed me that this is an ICU4J issue.

As we analysed deeply the issue and found the source of exception is from versionInfo.class. We know there is a check placed in versionInfo.class to check the minor/macro version of java and it hardcoded as 255.
But java version start from 8.0.6.15(261) exceeding the limit of 255.It is the main source of issue.
As downgrading java version 8.0.6.10 also works here to solve this issue , but it is not good approach.
For testing scenario , we modified the code of versionInfo.java and replace the 255 check to some higher version such as 301 or 311.
And our testing results show no error afterwards.

As per your old communication i.e this issue fixed in 68 version of icu4j.jar
I tried to find out the references ,
https://unicode-org.atlassian.net/browse/ICU-21295
unicode-org/icu#1245
https://unicode-org.atlassian.net/browse/ICU-21219
https://github.com/unicode-org/icu/blob/main/icu4j/main/classes/core/src/com/ibm/icu/util/VersionInfo.java#L294

I also found one link of github which having code commits indicating the fix.
unicode-org/icu@ab08fac

At next , part of testing area we also did the same change in VersionInfo.class(com.ibm.icu_3.6.1.v20070906.jar) as provided in above link of code commit to resolve this issue.
But we found same issue occured in this testing.

This is our main concern/query
we are using this jar com.ibm.icu_3.6.1.v20070906.jar, I believe in order to fix this issue we have to place new jar of com.ibm.icu*.

*Is this code commit sufficient to resolve this issue? or any other code changes is required? as in our env this change not worked.
unicode-org/icu@ab08fac

In which version of com.ibm.icu this issue got fixed?

How we can get the fixed jar of com.ibm.icu version?

Icu4j jar of version 68/69 got release which including the fix of this issue(as communicated).
I did not found any reference which showing the release of these jars com.ibm.icu
, Can you please let us aware who is responsible for the release of newer version com.ibm.icu* jars.
Kindly let us know.

Please help us to resolve this issue, we are blocked due to it.

Thanks

NullPointerException when generating PDF report

I tried to generate a PDF with the example report from https://bugs.eclipse.org/bugs/show_bug.cgi?id=562873
Unfortunately this results in a NullPointerException:
...
Caused by: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2387)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:188)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:74)
at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:939)
... 42 more
Caused by: java.lang.NullPointerException
at org.eclipse.birt.report.engine.layout.emitter.PageDeviceRender.drawBorder(PageDeviceRender.java:1113)
at org.eclipse.birt.report.engine.layout.emitter.PageDeviceRender.drawTableBorder(PageDeviceRender.java:1333)
...

I'll investigate this this later this week.

4.9.0 release

Hi,

I use embedded BIRT 4.8.0 (runtime environment) but I noticed it uses batik 1.7, which has many (security) issues.
Any idea when 4.9.0 will be released?

I only see the following: "Latest snapshot repository towards 4.9.0" but any idea when 4.9.0 will be released?

Thank you

Code cleanup

Before we start accepting bug fixes after 4.9, I suggest moving all code to Java 11 and reformat/cleanup all source code.

  1. Create formatting rules for each project
  2. Create save actions for each project
  3. ..

Fix test failures in master

The test data like this leads to test failures:

        <extended-item extensionName="RotatedText" name="testExtendedItem" id="252">
            <property name="displayText">rtl direction RotatedText BEGIN</property>
            <property name="bidiTextDirection">rtl</property>
        </extended-item>

it seems that displayText is no longer valid for this element and ignored by parser

Maven build doesn't work for me

Sorry, doing this in my holiday, so I cannot communicate over birt-dev. I'm trying to create some PRs to fix some bugs as I announced in birt-dev.

Wim said that the Travis build is working. But after cloning a fresh fork of the GubtHub repo,

mvn package -DskipTests

does not work for me (I'm using JDK8).

It results in
[INFO] Resolving dependencies of MavenProject: org.eclise.birt:birt-report-all-in-one:4.9.0-SNAPSHOT @ D:\git-repos\birt\birt\build\birt-packages\birt-report-all-in-one\pom.xml
[INFO] {osgi.os=win32, osgi.ws=win32, org.eclipse.update.install.features=true, osgi.arch=x86_64}
[ERROR] Cannot resolve project dependencies:
[ERROR] Software being installed: org.eclipse.birt.report.designer.all 4.9.0.qualifier
[ERROR] Missing requirement: org.eclipse.birt.report.designer.all 4.9.0.qualifier requires 'org.eclipse.mylyn.bugzilla_feature.feature.group 0.0.0' but it could not be found

Am I missing an important point?

These build problems were the main reason why I forked hvbtup/birt from flugtiger/birt instead of directly from eclipse/birt.

BIRT Framework fails to install in eclipse

eclipse 2020-06
Help -> Install New Software
Point it to birt-packages/birt-report-framework/target/birt-report-framework-4.9.0-SNAPSHOT.zip that was created during the build process.
Select BIRT Framework only
Get the following message when it tries to resolve dependencies:

Cannot complete the install because one or more required items could not be found.
Software being installed: BIRT Framework 4.9.0.v202108161823 (org.eclipse.birt.feature.group 4.9.0.v202108161823)
Missing requirement: org.apache.xmlgraphics:batik-bridge 1.14.0.v20210324-0332 (org.apache.batik.bridge 1.14.0.v20210324-0332) requires 'java.package; org.apache.batik.anim.dom [1.14.0,2.0.0)' but it could not be found
Cannot satisfy dependency:
From: BIRT Framework 4.9.0.v202108161823 (org.eclipse.birt.feature.group 4.9.0.v202108161823)
To: org.eclipse.equinox.p2.iu; org.apache.batik.bridge [1.14.0.v20210324-0332,1.14.0.v20210324-0332]

Maybe I can make it happy by including this in the birt target. I'll give that a try.

Axis vulnerabilities

I'm aware of the following vulnerabilities related to axis 1.4:

CVE-2019-0227 | Server Side Request Forgery (SSRF)
CVE-2018-8032 | Cross-site scripting (XSS)
CVE-2014-3596 | SSL spoofing
CVE-2012-5784 | SSL spoofing
CVE-2007-2353 | Request non-existent WSDL file reveals AXIS installation path

Axis 1.4 is used for SOAP communication in the viewer. The Orbit plugin org.apache.axis_1.4.0.v201411182030.jar embeds axis.jar which hasn't changed since 2006. A github repository for axis 1.4 has been kept up to date however: https://github.com/apache/axis-axis1-java which contains fixes for all of these bugs except possibly CVE-2007-2353. The jar file can be rebuilt from this repository and I have done this successfully for one of our clients.

I'm not sure what the right approach is for this.

  • Build the jar from source and update the Orbit plugin (how to do that?)
  • Build the jar from source and embed it in the BIRT repo without using the Orbit plugin (how to do that?)
  • Convert to axis 2. This is may be a rabbit hole.

I welcome comments.

All-In-One for MacOSX

Hello,

I am running on macosx Catalina. I cloned the latest repo and successfully built. However, it appears as if the all-in-one only built for win32? Is there something I can do such that it will build for mac osx?

Thanks so much,

Ann BZ

XLSX tab naming can cause IllegalArgumentException

The spudsoft emitter uses the table of contents entries for tab naming. POI and/or Excel has some restrictions on what characters can comprise a tab name, and this can lead errors that can be data-dependent. Additionally there is a size limit on the name but the emitter code doesn't take that into account when searching for duplicate names, which can also lead to errors. The latter issue is definitely a bug. For the first issue I think it would be acceptable for the emitter to edit the names before setting them, although this might be a matter of opinion. Please leave comments as to whether you agree.

Related bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=441382

I can implement these fixes but I don't know of yaytay (spudsoft author) is still involved.

Prepare for Java > 8

In order to compile with recent java compilers, the dependencies need to be a little more explicit in some cases.

Enable tests for GitHub Actions

The pipeline should execute mvn clean verify and avoid skipping tests.
If some tests cannot be fixed shortly we need to manage this with the dedicated tickets

Viewer does not work on Linux

Jetty component required for viewer is missing. I tried this in Eclipse 4.14 and 4.19 RC1. The viewer hasn't worked on Linix since 4.6. Bugzilla entry: https://bugs.eclipse.org/bugs/show_bug.cgi?id=517662. The bugzilla entry doesn't explicitly state that it's a Linux issue but that's been my experience.

Mar 16, 2021 9:10:10 AM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @70477ms to org.eclipse.jetty.util.log.JavaUtilLog
Mar 16, 2021 9:10:10 AM org.eclipse.jetty.osgi.boot.JettyBootstrapActivator start
WARNING: OSGi support for java.util.ServiceLoader may not be present. You may experience runtime errors.
Mar 16, 2021 9:10:10 AM org.eclipse.jetty.osgi.boot.internal.serverfactory.DefaultJettyAtJettyHomeHelper startJettyAtJettyHome
WARNING: No default jetty created.
Mar 16, 2021 9:10:10 AM org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration configure
WARNING: Config error at <Call name="insertHandler"><Arg>
		  <New id="GzipHandler" class="org.eclipse.jetty.server.handler.gzip.GzipHandler"><Set name="minGzipSize"><Property name="jetty.gzip.minGzipSize" deprecated="gzip.minGzipSize" default="2048"/></Set><Set name="checkGzExists"><Property name="jetty.gzip.checkGzExists" deprecated="gzip.checkGzExists" default="false"/></Set><Set name="compressionLevel"><Property name="jetty.gzip.compressionLevel" deprecated="gzip.compressionLevel" default="-1"/></Set><Set name="syncFlush"><Property name="jetty.gzip.syncFlush" default="false"/></Set><Set name="excludedAgentPatterns">
			  <Array type="String"><Item><Property name="jetty.gzip.excludedUserAgent" deprecated="gzip.excludedUserAgent" default=".*MSIE.6\.0.*"/></Item></Array>
			</Set></New>
		</Arg></Call> java.lang.ClassNotFoundException: org.eclipse.jetty.server.handler.gzip.GzipHandler cannot be found by org.eclipse.jetty.osgi.boot_9.4.15.v20190215 in UNKNOWN-LOCATION
Mar 16, 2021 9:10:10 AM org.eclipse.jetty.osgi.boot.internal.serverfactory.ServerInstanceWrapper configure
WARNING: Configuration error in file:/disk1/home/innovent/.eclipse/org.eclipse.platform_4.14.0_1154590306_linux_gtk_x86_64/plugins/org.eclipse.birt.report.viewer_4.9.0.v202103152015/jettyhome/etc/jetty.xml
Mar 16, 2021 9:10:10 AM org.eclipse.jetty.osgi.boot.internal.serverfactory.JettyServerServiceTracker addingService
WARNING: 
java.lang.ClassNotFoundException: org.eclipse.jetty.server.handler.gzip.GzipHandler cannot be found by org.eclipse.jetty.osgi.boot_9.4.15.v20190215
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:514)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:425)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:171)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	at org.eclipse.jetty.util.Loader.loadClass(Loader.java:64)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.newObj(XmlConfiguration.java:1006)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.itemValue(XmlConfiguration.java:1540)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.value(XmlConfiguration.java:1441)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.access$700(XmlConfiguration.java:395)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$Args.<init>(XmlConfiguration.java:1699)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration$Args.<init>(XmlConfiguration.java:1686)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.call(XmlConfiguration.java:942)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:515)
	at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:468)
	at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:380)
	at org.eclipse.jetty.osgi.boot.internal.serverfactory.ServerInstanceWrapper.configure(ServerInstanceWrapper.java:164)
	at org.eclipse.jetty.osgi.boot.internal.serverfactory.ServerInstanceWrapper.start(ServerInstanceWrapper.java:257)
	at org.eclipse.jetty.osgi.boot.internal.serverfactory.JettyServerServiceTracker.addingService(JettyServerServiceTracker.java:64)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:943)
	at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)
	at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
	at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
	at org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:903)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:113)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:985)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:896)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:834)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:258)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:525)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:544)
	at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1071)
	at org.eclipse.birt.report.viewer.utilities.ViewerWebServer.start(ViewerWebServer.java:51)
	at org.eclipse.birt.report.viewer.utilities.AppServerWrapper.startJettyServer(AppServerWrapper.java:250)
	at org.eclipse.birt.report.viewer.utilities.AppServerWrapper.start(AppServerWrapper.java:155)
	at org.eclipse.birt.report.viewer.utilities.WebappAccessor.start(WebappAccessor.java:72)
	at org.eclipse.birt.report.viewer.utilities.WebViewer.startWebApp(WebViewer.java:827)
	at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1078)
	at org.eclipse.birt.report.viewer.utilities.WebViewer.display(WebViewer.java:1073)
	at org.eclipse.birt.report.designer.ui.actions.PreviewSupport.preview(PreviewSupport.java:402)
	at org.eclipse.birt.report.designer.ui.actions.PreviewSupport$3.widgetSelected(PreviewSupport.java:245)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5676)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1423)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4935)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4429)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1160)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

Opening in existing browser session.

Dragging column widths with the mouse working "opposite direction"

This is quite hard to explain with words.
Say you have created a new 2-column table item.
If you try to drag the column widths with the mouse to make e.g. the first column ca. 3 cm wide, this results in the first column having a width of (available-width - 3 cm).

This did not happen in BIRT 4.2.1.
OTOH, in BIRT 4.2.1, dragging the column width of any column caused every column to have a fixed width - and the table as a whole, too.
Now, in the 2-column example, the second column has no specified width - which is good.
When coaching, I always tell users to not use the mouse to set column widths, because I think it's usually much better if the table and at least one column do not have a specified width. With newer BIRT releases, this recommendation is no longer as important as before.

I guess this issue and the changed behavior in comparison to 4.2.1 are closely related.

I'll try to fix this myself after I'll have created PRs for some other bugs.

Put Apache Fop in Orbit

We have a curious way of consuming apache Fop. It would be nice if Apache Fop would live in the Orbit project to consume it from there instead of letting the maven build download it.

Created as collateral of issue "How to import BIRT code into eclipse #628"

Disable multi-sheet generation in xlsx emitter

I have a client that wants to disable multi-sheet generation in the xlsx emitter.

Coincidentally, this bug was just created yesterday: https://bugs.eclipse.org/bugs/show_bug.cgi?id=573117

The spudsoft emitter recognizes a render option "SINGLE_SHEET", which looks like it will do this but I can't find any provision in the viewer to set that option. It would be ideal if this option could be set globally in viewer.properties and also passed as a URL parameter such as __single_sheet=true/false or __xlsx_options=single_sheet/multi_sheet.

Please let me know if this capability already exists and I missed it, or if there's any reason not to implement it as I suggested.

Build Failure with GraalVM 8

When using latest GraalVM 8 to build, it fails with:

[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  42:26 min
[INFO] Finished at: 2021-03-15T20:47:30+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (javadoc) on project org.eclipse.birt.chart.doc.isv: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /home/cheeseng/git/birt/docs/org.eclipse.birt.chart.doc.isv/BuildChartISVDoc.xml:251: javax.script.ScriptException: org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (getProperty) on org.apache.tools.ant.Project@2bc5b8a failed due to: Unknown identifier: getProperty
[ERROR] around Ant part ...<ant antfile="/home/cheeseng/git/birt/docs/org.eclipse.birt.chart.doc.isv/BuildChartISVDoc.xml" target="Javadoc">... @ 5:116 in /home/cheeseng/git/birt/docs/org.eclipse.birt.chart.doc.isv/target/antrun/build-main.xml
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf org.eclipse.birt:org.eclipse.birt.chart.doc.isv

Fyi my graalvm version:

cheeseng@cheeseng-RAVEN:~$ java -version
openjdk version "1.8.0_282"
OpenJDK Runtime Environment (build 1.8.0_282-b07)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0.2 (build 25.282-b07-jvmci-21.0-b06, mixed mode)

Remove API baseline setting for one project

the o.e.b.report.engine.dataextraction contains a API analysis nature but we do not have API baselines ATM. Disable API analysis for this project until we can fix API baselines.

Running birt.war in java 11 illegal reflective access operation has occurred

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.lowagie.text.pdf.MappedRandomAccessFile$1 (file:/D:/TEMP/transient/5c930fda-cd80-47ce-b12e-d29302ca619a/webapp/WEB-INF/platform/plugins/com.lowagie.text_2.1.7.v201004222200.jar) to method java.nio.DirectByteBuffer.cleaner()

I used the following war
https://download.eclipse.org/birt/downloads/drops/I-R1-4.9.0-201905231911/birt-runtime-osgi-4.9.0-20190523.zip

How to import BIRT code into eclipse

I have not been successful at importing the BIRT code into eclipse without there being errors. I've tried several methods of importing, including importing existing project at the root level, importing existing project for each individual project, and importing existing maven project at the root level, with varying results. I'd like to know if anyone has been able to get the code imported without any errors and specifically how to do it.

Space is encoded in dataset parameter

I have a report that works via a URL in the 4.6 viewer but does not work in the 4.9 viewer because a space in a string parameter is being encoded to &#32; and passed on to the prepared statement and the database server (MySQL) doesn't like it at all. This seems to happen regardless of how or whether the space is encoded in the URL. I am continuing to investigate this and may resolve it on my own. If I can't I'll create a simple example to reproduce the behavior.

Batik vulnerability

CVE-2018-8013 appears to be addressed by JIRA issue BATIK-1222 which changed AbstractDocument.java which is part of the batik.dom jar. It was fixed in batik 1.10 but the version of that jar used by BIRT is 1.9. Unfortunately neither SVN comments nor JIRA issues specifically reference CVE numbers, but I'm pretty sure this was the fix. Recommend upgrading to batik 1.13. I'm already in the process of doing this in 4.8 and will apply the change to 4.9 when I'm done.

SVG support for pptx format

Hi,

Does Birt support export chart in SVG format into PowerPoint slides? If no is there is any idea or plan how/when that feature be added ?

Thanks For Help

POI vulnerabilities

POI 3.9 contains a number of vulnerabilities:

CVE-2017-12626
CVE-2017-5644
CVE-2016-5000
CVE-2014-9527
CVE-2014-3574
CVE-2014-3529

that I know about. POI 4.1.1 does not have these vulnerabilities and is available on orbit but the interfaces are somewhat incompatible. I'm presently working on this for a client in 4.8 and can apply these to 4.9 after I finish.

This is a bugzilla about vulnerabilities in multiple plugins including axis, derby, batik and poi: https://bugs.eclipse.org/bugs/show_bug.cgi?id=522431. I think it might be more manageable to break them out into individual issues.

Switch from Travis CI to GitHub Actions

GitHub Actions seems to be the way forward to use for GitHub-hosted projects. Let's switch to GitHub Actions:

  • add GitHub Actions configs
  • update README
  • remove Travis CI configs

How can we call Rest Service before Preview in viewer

i am using birt rptdesings and birt viewer running on same system. By using the context-params its evaluating the local path and its starts rendering. Can we make a rest call to external system to download rptdesign and place it in the context-params local path before rendering.

How to handle the Jetty inclusion

Jetty is no longer in the release train. This has the following drawbacks:

  1. When we build against a given target (e.g. 4.11), we also consume jetty from that target
  2. When we install BIRT into a newer target (e.g. 4.19) old jetty bits may get included.

This was causing the viewer to break when installing 4.9 (from Mar 17 2021) into 4.19.

The BIRT feature included the o.e.jetty.osgi.boot bundle which clashed with newer jetty versions. This inclusion was removed with commit 161d153

To install the viewer correctly the jetty 9.x update site must be added to the available update sites.

We need to find a fix for it.

Where did the Designer go?

Will the BIRT designer continue to be managed? I can't seem to find where to download it. I can't even find the standalone designer.
I did find this project: https://github.com/SaMuellerDLR/birt
However the runtime engine doesn't work with the newest eclipse.
What happened to the Java and Report Developers version of eclipse?

Determine why github CI is failing

I have a couple of pull requests that are failing the CI build. I want to replicate these test failures locally so I can debug and see what exactly is causing the failure but I haven't been able to replicate the CI failures. I do what I can to build and test exactly like what I see in the CI logs but, while my build succeeds, the tests fail in completely different ways from the CI tests. I suspect there are environmental differences, such as the mvn settings file, which is opaque to me. Is it possible to provide instructions on how to replicate the CI tests?

Update 2021-07-08: I am attempting to determine why github CI is failing for recent pull requests by reverting the code to a state where the CI succeeded and seeing what has changed.

Switch to maven antrun 3.0.0

The build uses old classes from the JDK. Specifically, native2ascii is used from tools.jar, which is no longer shipped with newer JDK's.

Recent ANT has a built-in implementation for native2ascii. Switching to antrun 3.0.0 will resolve the issue when compiling with a newer JDK.

(Question) Request for a supported product matrix

Hi guys,

I've been using BIRT since a long time (even working for Actuate, before it went bought by OpenText), and i'm happy to see that a "new community" is getting built around the OpenSource Version again.

We were using the Plugin version 4.7.0.v201706222054 with Eclipse 2019-09 (4.13.0) and we had problem to open existing rptdesign. After having updated the plugin to the last version you guys built (4.9.0.v202108150822), all went fine, cheers!!

Our rptdesign are embedded into a Java Application which uses the Birt Runtime Engine to render reports as PDF. In order to get the engine, our application has the following dependency:

 <dependency>
	<groupId>org.eclipse.birt.runtime</groupId>
	<artifactId>org.eclipse.birt.runtime</artifactId>
	<version>4.4.2</version>
</dependency>

Looking at the central Maven Repository, it seems that nothing's really moving with BIRT Runtime: https://search.maven.org/classic/#search%7Cgav%7C1%7Cg%3A%22org.eclipse.birt.runtime%22%20AND%20a%3A%22org.eclipse.birt.runtime%22

Do you have somewhere a kind of supported product matrix which would provide the following information:

  • Which Eclipse Version is supported by which plugin
  • Which BIRT Runtime Version supports which rptdesign
  • Which Java Version is supported by which BIRT Runtime

Thanks!!

Question on rendering images

Hi,

I'm having some troubles in using Birt with images. In particular, consider that I have created a report that uses dynamic data in HTML form.

Such HTML comes from my database, and most of the time contains an image:

<html lang="en">Boh, sta cos&amp;igrave; cos&amp;igrave;
<img src="data:image/png;base64,whateverBase64Image" />
Veh che fot</html>

The problem is that whenever I proceed to PDF report generation with this HTML embedded image it shows: The resource of this report item is not reachable

Thank you a lot for your help! - Francesco

Page footer displays in wrong place when preview in Web Viewer/print the report

Version: [2.5.1]

(PDF format
footer view when printing in web viewer
footer settings
footer

)

I've set up a complete report and when I want to preview this in web viewer, the page footer is in the middle of the page. Also, if i try to print the report, it will be right after the content instead of in the bottom. It seems to be floating. I can't find how to adjust this setting.

Expected result:
Page footer displays at the end of the report.

Actual result:
Page footer displayed in the middle of the report right after the last content.

Note - When exporting the report to a PDF and print it from there, the page footer is at the bottom. this Only happens in web viewer/html.

I know you asked for the RPT file, unfortunately, the files is within two remote desktops and I currently can't get it to my main computer. Hope the photos works, if not, let me know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.