rbrw first release on Google Code

Due to many distractions, it has taken a while for the port of OOFILE’s report-writer to REALbasic to achieve some usable state. I’ve just committed the first version which includes printing and crude preview to the rbrw-core repository. The directory layout may look a bit weird, with many empty directories. That is because most files are external XML format (under the top rbrw directory) but the VCP format used for the sample creates a hierarchy of empty directories.

I will be adding more documentation over the next few months explaining how to use the library and how it works (the latter proving more challenging than I realised – it’s been nearly 10 years since I did more than trivial extensions). In a bitter lesson about using digital documentation, the inches of paper-based design documents for the original product have been mislaid/filed in one of my house moves of the last decade.

This initial release does include a fairly comprehensive sample program showing how to create reports of various styles.

One of the hardest things has been coming up with a data abstraction to feed the reports. The original OOFILE report writer relied on having OOFILE there and taking data from an dbView. This time around, I abstracted things out totally to the point where there’s an rbrwFieldFacade interface that delivers lists of fields (horizontal iteration across a view) and an rbrwSourceIterator interface for progressing down the data.

The sample program in RBRWSample includes a number of examples of data sources including how to use the trivial rbrwRecordSetSource which takes a RecordSet.