Training Partner 2003 by GeoMetrix
In May of 2004, GeoMetrix embarked on a development plan to replace its current reporting tool within the administrative module of Training Partner 2003. Training Partner 2003, the flagship product of GeoMetrix, is an enterprise learning management system used by utilities, media, governments, universities, law enforcement agencies, commercial trainers, hospitals, and Fortune 1000 companies around the world. After an extensive search and review of reporting systems available, GeoMetrix decided upon an end-user reporting solution using products from Digital Metaphors Corporation, Steema, and Gnostice.
GeoMetrix has been using a commonly available non-Delphi reporting tool within Training Partner. While acceptable when the application was first developed several years ago, the reporting engine within the administrative module (Win-32 desktop application) had a number of serious downsides:
Installation issues. Installation issues often occurred as a result of different applications installing different and sharing different versions of the reporting engine.
Size. The reporting engine required dozens of files and approximately 15MB+ for the run-time installation.
Performance. Even with a simple report, it could take five seconds just to load the engine, and often ten plus seconds to complete. Larger reports resulted in significant delays often causing users to thing that the application had hung and stopped functioning.
Database issues. The engine often required separate versions of the same report to operate against different SQL databases.
End-user designer. The engine did not include a run-time designer for end-users. A separate report designer had to be purchased by each client, which was not appropriate for many non-technical users.
Delphi integration. The engine included a Delphi VCL component, but the company dropped support for this in later versions. The recommended Active-X component was both large and slower.
Export options. Export options in the engine varied by version, and PDF and Word output often didn't match the on-screen report.
As a result of these issues, a decision was made at the end of May 2004 to research the viability of using another reporting engine.
Finding a Solution
GeoMetrix examined numerous Delphi and non-Delphi reporting products: Report Smith, Quick Reports, FastReports, Rave Reports, ReportBuilder and others. We also considered several web-based systems.
ReportBuilder (and a few others) were recommended on the Borland Delphi forms, and GeoMetrix was able to download a free trial version quickly.
From the initial look at the documentation, sample reports, and the reporting components, it was clear that the product more than met the project requirements. The examples were extremely good (pointing out each of the capabilities of the system), written (.PDF) documentation was good, the (Delphi) help files were well designed, and the engine appeared extremely easy to integrate. ReportBuilder also offered a few other features that GeoMetrix didn't expect such as integrated support for charting, a built-in macroing language (RAP), drill-down capability, and available source code. The product price also included royalty-free distribution of the engine and the designer.
Following the initial review, GeoMetrix not only concluded that replacing the current engine was viable, but that ReportBuilder would meet, and in many cases exceed, these goals. In June of 2004, GeoMetrix proceeded with purchasing ReportBuilder and implementation of the project.
Adding ReportBuilder functionality to the Training Partner 2003 application took approximately one week. This included support for MDI windows, integration with the built-in reporting systems, support for the built-in macroing language (SaxBasic), COM access and invoking the designer.
The integration went extremely smoothly with the components cleanly designed and documented. Digital Metaphors staff answered any questions extremely quickly (same day) on their newsgroups.
Adding support for charting (using Steema's charting component) and exporting to various formats (using a library from Gnostice's eDocEngine) took GeoMetrix developers another week.
GeoMetrix staff also duplicated approximately eighty of the most complex reports already available in Training Partner - reviewing each using ReportBuilder. The process took one staff member two weeks, which included time to learn the new ReportBuilder report designer. A second staff member created approximately one hundred sample reports (as examples for clients) during the same period. Both staff members were extremely pleased at the simplicity and power of the designer.
End-user documentation for the new report designer was easily produced thanks to permission granted by Digital Metaphors to allow duplication of excerpts from their manuals.
GeoMetrix has been extremely satisfied with the results of the new built-in solution. In short:
Installation issues. Installation issues are non-existent as ReportBuilder (as pure VCL code) is compiled into the application.
Size. GeoMetrix replaced 15MB+ of the previous engine's libraries wile increasing the size of the application by less than 2MB - which includes the report designer.
Performance. Performance of the new reporting engine is at least 5-10 times that of the previous engine. Most reports now complete long before the previous engine could load.
Database issues. The database issues were solved. The same report runs correctly under all the databases supported by Training Partner: Oracle, MS SQL, and InterBase.
End-user designer. The report designer is built into the Training Partner application and is powerful and easy-to-use. Wizards are available within the system for creating reports.
Delphi integration. ReportBuilder is a pure VCL component with no libraries and the source code was included.
Export options. With the added eDocEngine engine from Gnostice, the application gained several export options, and PDF output is quick and almost perfectly matches the designed report.
Training Partner 2003 - Displaying several
Training Partner 2003 - Editing a report using