Re: [PROPOSAL] API Changes
-- J.Pietschmann [EMAIL PROTECTED] wrote: Glen Mazza wrote: That should be enough for us in 1.0, no? Those more elaborate API goals appear best discussed post-1.0, presumably once more vital parts of the system have been addressed. A stable API is as important as other major features. If we do a mojor release, post-release API changes should be small and rare. Agreed, I have less problem however with *adding* to the API as FOP gets more powerful. But if we're going from 3 methods to 40, then, yes, we probably would need a new major release. Now whether the changes I proposing (and the state of the app after the rest of the system is more or less complete) would warrant a 1.0 or a 0.30 is not of concern to me. The API-enhanced version would just be a 2.0 or a 1.0, respectively. Thanks, Glen
Bug report for Fop [2004/07/11]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=CriticalMAJ=Major | | | | MIN=Minor NOR=Normal ENH=Enhancement | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | | 635|Opn|Nor|2001-02-18|Doesn't support id= attribute in fo:page-sequence | | 953|Opn|Nor|2001-03-12|Incorrect hyperlinks area rendering in justified t| | 1063|New|Nor|2001-03-21|fop does not handle large fo files| | 1180|New|Maj|2001-04-02|Problem with monospaced font | | 1859|Opn|Min|2001-05-22|org.apache.fop.apps.Driver.reset() doesn't fully r| | 1998|New|Nor|2001-06-05|linefeed-treatment not understood | | 2150|Ass|Maj|2001-06-13|New page with a table-header but without any tabl| | 2475|Ass|Nor|2001-07-06|Borders don't appear to work in fo:table-row| | 2740|New|Maj|2001-07-23|multi-page tables sometimes render badly | | 2909|New|Maj|2001-07-30|Gradient render error | | 2964|Ass|Nor|2001-08-02|problems with height of cells in tables | | 2988|New|Maj|2001-08-03|0.19: list-item-label does not stick to list-item-| | 3044|Ass|Maj|2001-08-08|keep-together not functioning | | 3280|New|Nor|2001-08-27|PCL Renderer doesn't work | | 3305|Opn|Nor|2001-08-28|list-block overlapping footnote body | | 3497|New|Maj|2001-09-07|id already exists error when using span=all attr| | 3824|New|Blk|2001-09-25|MIF option with tables| | 4030|New|Nor|2001-10-08|IOException creating Postscript with graphics on S| | 4126|New|Nor|2001-10-12|FontState.width() returns pts instead of millipts | | 4226|New|Nor|2001-10-17|The orphans property doesn't seem to work | | 4388|New|Nor|2001-10-24|Nullpointer exception in the construction of new D| | 4415|New|Nor|2001-10-25|scaling=uniform does not work on images... | | 4510|New|Nor|2001-10-30|fo:inline common properties ignored? | | 4535|New|Maj|2001-10-31|PCL renderer 1.13 not rendering SVG | | 4767|New|Nor|2001-11-09|SVG text is distored in PDF output| | 5001|New|Nor|2001-11-21|content-width and content-height ignored? | | 5010|New|Enh|2001-11-21|Better error reporting needed | | 5047|Ass|Nor|2001-11-23|Dotted border style is not supported | | 5124|New|Maj|2001-11-27|fo:block-container is not rendered properly using | | 5335|Opn|Min|2001-12-10|Text with embedded CID fonts not retrievable from | | 5655|Ass|Nor|2002-01-02|text-decoration cannot take multiple values | | 6094|Opn|Maj|2002-01-29|0.20.3rc hangs in endless loop| | 6237|Opn|Nor|2002-02-05|#xFB01 (fi ligature) produces a sharp? | | 6305|New|Nor|2002-02-07|Using fo:table-and-caption results in empty output| | 6427|New|Enh|2002-02-13|Adding additional Type 1 fonts problem| | 6437|New|Maj|2002-02-13|Tables without fo:table-column don't render | | 6483|New|Nor|2002-02-15|Table, Loop, footer could not fit on page, moving| | 6844|New|Nor|2002-03-04|No line breaks inserted in list-item-label| | 6918|New|Enh|2002-03-06|reference-orientation has no effect | | 6997|New|Nor|2002-03-09|[PATCH] Row-spanned row data breaks over a page wi| | 7140|New|Enh|2002-03-15|page-position attribute set to last on condition| | 7241|New|Nor|2002-03-19|keep-with-previous, keep-with-next only working on| | 7283|New|Nor|2002-03-20|Table border misaligned when using margin-left in | | 7337|New|Nor|2002-03-21|border around external image leaves empty space | | 7487|New|Nor|2002-03-26|break-before=page for table inserts empty page | | 7496|New|Nor|2002-03-26|The table header borders are not adjusted to the b| | 7525|New|Cri|2002-03-27|table with spans inside a list-block | | 7919|New|Cri|2002-04-10|problem to use attribute linefeed-treatment and li| | 8003|Ass|Maj|2002-04-12|FopImageFactory never releases cached images | | 8050|New|Nor|2002-04-13|Soft hyphen (shy;) is not handled properly | | 8321|New|Nor|2002-04-19|from-parent('width') returns 0 for nested tables | |
retreat...
Team, On my two earlier API proposals [1], I'm going to take a step back on the first one about combining the apps.Driver class into apps.Fop. Joerg's thoughts that the API wrapper/class and application wrapper/class should be distinct is weighing on my mind; in the future we may find it beneficial that we have them separate. Also, Driver has a long history with our application that disturbing may not be worthwhile. The second issue I'm still unsure on, although I moved FopPrintServlet from using XSLTInputHandler to JAXP. Thanks, Glen [1] http://marc.theaimsgroup.com/?l=fop-devm=108942539604883w=2
FOP FAD design approaches
Fop-devs, It occurs to me that some of the implications of the FAD approach have not been successfully communicated. Part of this may well be because of my own inadequate understanding of the FOP process. Before I continuing with this discussion, I had better ensure that my understanding of one important point is correct. Why does FOP process in minimum units of a page-sequence? Peter -- Peter B. West http://www.powerup.com.au/~pbwest/resume.html
Re: FOP FAD design approaches
Here is what I understand, others may have more to add: I see two ways to interpret your question: (1) what happens in the code that makes page-sequence be the lowest granularity we have, and (2) why we do it that way. 1) When the page-sequence's children (layout-master-set, declarations?, flow) have been finished processing, endElement() in our SAXHandler FOTreeBuilder is called. [1] That method calls end() of the PageSequenceObject [2], which in turn calls endPageSequence() [3] of the FOInputHandler object, which is either FOTreeHandler for PDF/PS, etc. or MIFHandler or RTFHandler. It is endPageSequence() which calls formatPageSequence(pageSequence, areaTree)--which starts the formatting process. [1] http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/FOTreeBuilder.java?annotate=1.35#197 [2] http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java?annotate=1.27#170 [3] http://cvs.apache.org/viewcvs.cgi/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java?annotate=1.25#199 2) Our processing is directly on top of SAX--we react at the start and end of XML elements as they come in. Unlike FAD we don't cache into any intermediate data structures, so I don't see how we could do a lower granularity. We could stop at the end of fo:flow, but that is only one element away from fo:page-sequence's object endElement() being called from above, so nothing measurable would be gained. I guess the answer to your question in (2) is (a) that our process is driven by fo:objects, not the areas that they generate, and there is no fo:object that corresponds to 1 page, etc.--that's determined by fo:flow as it is formatted and (b) there are some programmatic conveniences to stopping at the page-sequence level, as the layout-master-set can be read in one time and is valid for all the pages generated. Glen --- Peter B. West [EMAIL PROTECTED] wrote: Fop-devs, It occurs to me that some of the implications of the FAD approach have not been successfully communicated. Part of this may well be because of my own inadequate understanding of the FOP process. Before I continuing with this discussion, I had better ensure that my understanding of one important point is correct. Why does FOP process in minimum units of a page-sequence? Peter -- Peter B. West http://www.powerup.com.au/~pbwest/resume.html