PackageDescription: Report Writer(Bundle)
Report WriterLast published: June 13, 2004 by 'rames'
No bundle comment found. Component comments follow
PackageDescription: Reports
- This program was inspired by a description of the WyCash Report Writer (http://c2.com/doc/oopsla91.html).
- If you have any feedback, Vibhu Mohindra (vibhu.mohindra@hotpop.com) would be most glad to have it.
- Nazim Elmazi (nelmazi@hotmail.com) took it to the next level by adding the ReportWriter hierarchy.
- Latest changes by Rames Creel (ramescreel@hotmail.com).
6/12/2004 RC - Changes
--------------------------------------
Added support for:
column alignment (left, center, right)
whether to truncate a field
truncation indicator (added to the end of a field when truncated)
font size
page orientation
report footer
allowing the report to be rerun after being generated
whether to allow report header generation
Changed print mechanism to use displayString instead of printString to remove the single quotes surrounding all strings.
Restored Report class>>reportFormat: inputStream: method. The tests utilize this method.
Added ReportFormat>> column: to return the column format for a specific position.
PackageDescription: ReportsTests
- This program was inspired by a description of the WyCash Report Writer (http://c2.com/doc/oopsla91.html).
- If you have any feedback, Vibhu Mohindra (vibhu.mohindra@hotpop.com) would be most glad to have it.
- Nazim Elmazi (nelmazi@hotmail.com) took it to the next level by adding the ReportWriter hierarchy.
- Latest changes by Rames Creel (ramescreel@hotmail.com).
6/12/2004 RC - Changes
--------------------------------------
Removed RowOutputStreamTest (MockReport class wasn't found)
Updated test cases to support changes to Reports package (see Reports package comment).
Can run all the report tests from ReportsTest class>>run
PackageDescription: ReportWriter
The ReportWriter package contains the classes required to generate a report in either of the following formats:
-Computer display
-HTML report
-PDF report
This package also contains a Graphical User Interface (Class ReportWriterUI) that allows for editing of a report. The UI must open on a collection of data that serves as the source of the report data. For more information, see the class comment for Class ReportWriterUI.
Also has a UI for previewing, printing, saving/exporting and making minor modifications (font size, page orientation) to report. See ReportViewer>>test (6/12/2004 RC).
Please send any questions and comments to Nazim Elmazi at UIUCReportWriter@hotmail.com
------------------------------------
- This program was inspired by a description of the WyCash Report Writer (http://c2.com/doc/oopsla91.html).
- If you have any feedback, Vibhu Mohindra (vibhu.mohindra@hotpop.com) would be most glad to have it.
- Nazim Elmazi (nelmazi@hotmail.com) took it to the next level by adding the ReportWriter hierarchy.
- Latest changes by Rames Creel (ramescreel@hotmail.com).
6/12/2004 RC - Changes
--------------------------------------
Removed the need to call "aReportWriter writeReport" after "aReportWriter write: aReport". I couldn't see the need to separate these messages from one another. See ReportWriter>>report writing protocol.
Massively overhauled report writers to take advantage of polymorphism. The changes were extensive for HTMLReportWriter. I liked the nextPutTag:for: approach to producing the html but it didn't lend itself to a common method structure among the other classes in the hierarchy.
In my mind I think the report writers are more similar than they are different.
Furthermore I believe report writers are useful for more than just printing. Exporting data for example. Hence the addition of the DelimitedReportWriter hierarchy.
Added support for encoding the data as appropriate (I convert any character < ascii 32 or > ascii 126 to a space). For delimited files I escape the quotes and for html files I encode &, < and > to their html equivalents.
Added support to produce a "blank" field.
Added an embedded stylesheet in the HTMLReportWriter output to specify page breaks and remove the color.
PDFReportWriter added support for page orientation.
Added ReportViewer class for previewing, paging, printing and saving\exporting reports.
6/12/2004 RC - Known issues or things to revisit
------------------------------------------------------------------------
Complete support for header & footer suppression in report writers
Find a more efficient way to preview pages rather than storing a copy of each page (see DelimitedReportWriter>>createPage:. Perhaps the DisplayPreviewReportWriter is on the right track?
Find a better way to match (or at least approximate) the output between text, html & pdf. For the time being I choose to go with plain fixed width fonts to get consistent output (except for the DisplayReportWriter).
Add support for new capabilities (column alignment, truncation, etc) to DisplayReportWriter.
Add support for multi row headers/footers.
Add support for graphics in headers/footers.
ReportViewer assumes a windows platform for opening saved/exported reports. Worse yet, because of the way the exported files are saved the path must not contain any spaces (and who knows what other restrictions there may be).
PackageDescription: ReportWriterTests
- This program was inspired by a description of the WyCash Report Writer (http://c2.com/doc/oopsla91.html).
- If you have any feedback, Vibhu Mohindra (vibhu.mohindra@hotpop.com) would be most glad to have it.
- Nazim Elmazi (nelmazi@hotmail.com) took it to the next level by adding the ReportWriter hierarchy.
- Latest changes by Rames Creel (ramescreel@hotmail.com).
6/12/2004 RC - Known issues or things to revisit
------------------------------------------------------------------------
To get the performance tests to run to completion I had to tweak my VW memory settings. Producing the 10,000 record report (pdf) ate up 1.5GB of memory peak. My machine: Dell 1.2Mhz PIII Laptop w/512MB.
Should add tests for new report writers.
Should add tests for suppressing headers/footers.