DataVision 1.0.0 review

by on

DataVision is an Open Source reporting tool similar to Crystal Reports

License: GPL (GNU General Public License)
File size: 0K
Developer: Jim Menard
0 stars award from

DataVision is an Open Source reporting tool similar to Crystal Reports. Reports can be designed using a drag-and-drop GUI.

They may be run, viewed, and printed from the application or exported as HTML, XML, PDF, LaTeX2e, DocBook, or tab- or comma-delimited text files. The output files produced by LaTeX2e and DocBook can in turn be used to produce PDF, text, HTML, PostScript, and more.

DataVision is written in Java and runs almost anywhere. It can generate reports from databases or text data files. Any database with an available JDBC driver should work: Oracle, PostgreSQL, MySQL, Informix, hsqldb, Microsoft Access, Progress, and more. Columns read from text files can be separated by any character.

Report descriptions are stored as XML files. This means you can not only use the DataVision GUI but you may also edit reports using your favorite text editor.

Here are some key features of "DataVision":
Drag-and-drop report builder.
Runs anywhere Java runs: Windows, Linux, Mac OS X, BSD, Solaris, and more.
Works with any database that has a JDBC driver: Oracle, PostgreSQL, MySQL, Informix, hsqldb, Microsoft Access, DB/2, and more.
Report headers and footers, page headers and footers, group headers and footers.
Report field formatting: color, numeric and date format, italic, bold, border lines, etc.
Editable report-wide default field format.
Visual table linker.
Aggregates (sum, min, max, count, average, stddev) by group and at report's end.
Record sorting.
Sub-selects allowed within SQL WHERE clauses.
Formulas, using any language supported by the Bean Scripting Framework (BSF). The default formula language shipped with DataVision is Ruby (via JRuby).
Record selection (SQL WHERE clause for database data sources, BSF script that accepts/rejects records for character-separated file data sources).
Run-time parameters; asks the user for values when the report runs; if running from the command line, reads values in from an XML file.
Run-time variables (again thanks to the BSF). A script run at the start of each report run is the perfect place to set all your initial values.
User-defined SELECT clause columns; useful for calling stored procedures or SQL functions.
Hide columns and entire sections.
Reports can read data from different data sources. Currently, data sources are defined for databases and text data files (comma-separated, tab-separated, etc.)
When reading text data files, translates date and numeric columns into the appropriate Java classes so they can be manipulated as such (formatted, used in formulas, etc.)
Run and view reports on-screen.
Print report from DataVision.
Exports to HTML, XML, PDF, comma-separated, tab-separated, DocBook, LaTeX.
GUI translated into eleven languages.
Report definitions stored as human-readable XML.
Open source, so you get all the code to play with and use.
DataVision is embeddable within your own application.
The download contains the Java source code, a jar file (so you don't have to compile anything), scripts for running DataVision, examples, and the documentation.

What's New in This Release:
DataVision now requires Java 1.4.X. (I don't know if it will work with Java 1.5.)
New aggregate fields, replacing the single "subtotal" aggregate field. Field type values may be "sum", "min", "max", "count", "average", and "stddev". The old "subtotal" type will still be accepted and will be turned into "sum". The old "Running Total" dialog now lets you select the aggregate type at each level (group or report footer).
The file parsing API has been simplified. Almost everywhere in the public interface, such as the report reading methods, that used to take a String file path, a Reader, an InputStreamReader, an InputSource, or anything else now just takes one of two types: a File or a InputSource.
The old readFile() methods, that were deprecated, have been removed. Use the read() equivalents. See the previous item, though: read() only takes a File or an InputSource.
The old Report.setParameterXMLFile method, that was deprecated, has been removed. Use setParameterXMLInput, which now only takes a File or an InputSource.
Stopped using the MinML2 SAX parser, in favor of the built-in Java SAX parser.
Removed the GNU regex library, since Java 1.4 includes regex support.
Upgraded to iText PDF generation library version 1.3.
Upgraded to JRuby 0.8.2.
Added Rick Kramer's patch which adds a delete menu item to the field picker window's edit menu.
Stop using "enum" as a variable name. It's a reserved word as of Java 1.5.
The class ConnectionTest in examples/ is now in the package named "examples". The class TranslateOMatic in jimm/properties/ is now in the package "".
I've switched to using Subversion (SVN) instead of CVS for source code control. SourceForge will be offering SVN in the future. For now, I'm hosting the repository at I haven't bothered to try to import the existing CVS repository, since I don't think anybody really cares about the complete revision history of all the code since I've checked it in to CVS. To check out the source anonymously, assuming you have a SVN client, type

DataVision 1.0.0 search tags