Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 268290 - Enhance to support page-break-inside in Crosstab [1302]
Summary: Enhance to support page-break-inside in Crosstab [1302]
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 2.5.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: 2.5.0 M7   Edit
Assignee: Chen Chao CLA
QA Contact: Xiaodan Wang CLA
URL:
Whiteboard: Autoed,G
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-12 03:44 EDT by Xiaodan Wang CLA
Modified: 2010-03-25 03:23 EDT (History)
5 users (show)

See Also:


Attachments
Sample report (3.57 KB, application/octet-stream)
2009-03-16 11:20 EDT, Benjamin Cabé CLA
no flags Details
Sample report 2 (6.75 KB, application/zip)
2009-04-02 13:02 EDT, Christophe CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Xiaodan Wang CLA 2009-03-12 03:44:45 EDT
Description:
Enhance to support page-break-inside in Crosstab.

Build number:
2.5.0.v20090312-0630

Steps to reproduce:
1. New a report with a crosstab binding to the data cube.
2. Set page-break for row/column area.

Expected result:
Support page-break-inside in Crosstab as support page-break-inside in table.

Actual result:
Only support page-break-before and page-break-after in Crosstab.

Error log:
N/A
Comment 1 Benjamin Cabé CLA 2009-03-16 11:20:47 EDT
Created attachment 128935 [details]
Sample report

Hi guys,

This is great to see that you're going to address this bug soon!

Just to be sure, can you please confirm that a report like the one I attached will render on two different pages, the first one having the whole 2002 results, the second one having the whole 2003 results (since there are too many lines in 2003 *and* I've set page-break inside to 'avoid' for "years").

Could you also please tell me if there is any way I could help in fixing the bug, and when you think it will be available in nightly builds (i.e. in just a few days, or at the very end of the RC0 cycle?)?

Thanks alot,
Cheers.
Comment 2 Zhiqiang Qian CLA 2009-03-16 23:42:25 EDT
(In reply to comment #1)
> Created an attachment (id=128935) [details]
> Sample report
> 
> Hi guys,
> 
> This is great to see that you're going to address this bug soon!
> 
> Just to be sure, can you please confirm that a report like the one I attached
> will render on two different pages, the first one having the whole 2002
> results, the second one having the whole 2003 results (since there are too many
> lines in 2003 *and* I've set page-break inside to 'avoid' for "years").
> 
> Could you also please tell me if there is any way I could help in fixing the
> bug, and when you think it will be available in nightly builds (i.e. in just a
> few days, or at the very end of the RC0 cycle?)?
> 
> Thanks alot,
> Cheers.
> 
Benjamin,

The final pagination result also depends on other pagination settings, e.g. page break before/after setting between levels, pagination options for specific media(PDF/HTML). Basically setting page-break inside to 'avoid' just adds a hint for the layout engine. But I believe you should be able to achieve the expected pagination result by some combined settings after this is fixed..

Comment 3 Benjamin Cabé CLA 2009-03-17 10:18:56 EDT
(In reply to comment #2)
> But I believe you should be able to achieve the
> expected pagination result by some combined settings after this is fixed..
> 

Good news! Do you have any idea when the fix will be available in an N-build?
Thanks!
Comment 4 Zhiqiang Qian CLA 2009-03-19 01:57:29 EDT
Done crosstab model and engine chanege. Need add UI support in row area page break setting dialog. Note page-break-inside currently only applies to row area levels, for column area levels, it always works as 'avoid'.
Comment 5 Christophe CLA 2009-03-25 06:03:25 EDT
(In reply to comment #4)
> Done crosstab model and engine chanege. Need add UI support in row area page
> break setting dialog. Note page-break-inside currently only applies to row area
> levels, for column area levels, it always works as 'avoid'.
> 

Hi Zhiqiang,
I'm also interrested in this feature but I'm very hurry.

My question is :
If I use the last nightlyBuild, How to update manually the "rptdesign" file without UI?

Thanks alot,
Cheers.
Comment 6 Zhiqiang Qian CLA 2009-03-25 06:13:34 EDT
(In reply to comment #5)
> Hi Zhiqiang,
> I'm also interrested in this feature but I'm very hurry.
> 
> My question is :
> If I use the last nightlyBuild, How to update manually the "rptdesign" file
> without UI?
> 
> Thanks alot,
> Cheers.
> 
The simplest way is using the existing UI to set the 'pageBreakAfter' to 'avoid' for same Level, and search in the xml source for string like "<property name="pageBreakAfter">avoid</property>", and replace "After" with "Inside".
Comment 7 Christophe CLA 2009-03-26 12:39:25 EDT
Thanks Zhiqiang,

Good new! It works with the attached sample report.
 
But I have the following error on another report (more complex), probably because I use a nightlybuild (2_5_0-N20090324).

Cheers.


FYI : 

- org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}stackTrace:org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report
	at org.eclipse.birt.report.service.ReportEngineService.throwDummyException(ReportEngineService.java:1054)
	at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:883)
	at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:938)
	at org.eclipse.birt.report.service.actionhandler.BirtRunAndRenderActionHandler.__execute(BirtRunAndRenderActionHandler.java:76)
	at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
	at org.eclipse.birt.report.presentation.aggregation.layout.EngineFragment.doService(EngineFragment.java:318)



(In reply to comment #6)
> (In reply to comment #5)
> > Hi Zhiqiang,
> > I'm also interrested in this feature but I'm very hurry.
> > 
> > My question is :
> > If I use the last nightlyBuild, How to update manually the "rptdesign" file
> > without UI?
> > 
> > Thanks alot,
> > Cheers.
> > 
> The simplest way is using the existing UI to set the 'pageBreakAfter' to
> 'avoid' for same Level, and search in the xml source for string like "<property
> name="pageBreakAfter">avoid</property>", and replace "After" with "Inside".
> 

Comment 8 Christophe CLA 2009-04-02 13:01:10 EDT
Hi guys,

I tested my reports with the nightlybuild 2_5_0-N20090401.
I inform you I have no exception! great!

However I found some regressions. (see the attached file "Sample report 2.zip", pdf file, page 2).

Other problems were found but they don't concern Crosstab. Do you want I send you these remarks for helping your team ? (How?)

Thanks a lot,
Cheers.
Comment 9 Christophe CLA 2009-04-02 13:02:33 EDT
Created attachment 130730 [details]
Sample report 2
Comment 10 Chen Chao CLA 2009-04-09 04:34:19 EDT
Fixed it.
Comment 11 Christophe CLA 2009-04-14 04:54:44 EDT
That's ok (Verified in build 2.5.0v20090410).

Thanks.
Comment 12 Xiaodan Wang CLA 2009-04-14 23:35:48 EDT
For vertical page break, support page-break-before: avoid, page-break-after: avoid, and page-break-inside: avoid.
For horizontal page break, support page-break-before: avoid and page-break-after: avoid.

Verified in build (2.5.0.v20090414-0630), closed.