Here is another Perl success story from Jay Lawrence, writing in to the mod_perl mailing list. EDDS is a customized document management system.
There are few things more sure in life than death and taxes. Ok, well I can think of one more - tax forms!
The Canada Customs and Revenue Agency (CCRA - our Federal tax collection agency - like the infamous IRS) has a collection of approximate 10,000 forms, guides and other publications that require management and control.
For the past 6 or 7 years these forms were managed using a proprietary database software that was costly to maintain and difficult to extend. As well, the system was housed on aging SPARC processors. In order to meet on-going and changing business requirements the system would need to be upgraded or replaced. It turns out that by using mod_perl, Linux and MySQL, plus some contracting time, the entire system was replaced for the cost of 1 year of operation costs.
A customized document management system was created to meet the unique business requirements of the forms management group at CCRA. This includes document versioning and multiple document formats for each document name. The filing and classification methods are continuously evolving and so the addition and decomission of some metadata fields is necessary.
New documents are created by either starting a new version of an existing form/document or by creating a new document header record. Then each document format, PDF, MS Word, Form Flow, etc., is uploaded using the file upload feature and the libapreq module to decode the uploaded files.
Security is a concern - we cannot place access to this document collection on the Internet. Instead we must report out files and then use rsync to move our data to a staging server. By using Perl we have been able to change from a weekly reporting cycle to a daily reporting cycle. As well, by using Perl we have been able to fix some really nasty decisions that were made 6 or 7 years ago when publishing to the web was to most people, an unknown process. Finally, by dumping the old software, CCRA and its clients were able to chuck out all those modems and go via the web.
The Publishing Directorate has been able to introduce many improvements to the reports of forms and publication. Turnaround time for changes or additions to existing reports, plus writing new ones, is trivial given we use the Template Toolkit (available through CPAN) for writing all reports. For things such as the Canadian Government On-Line (GOL) project, we are able to easily change templates and add new metadata fields. The power of reporting is good news for the Publishing Directorate, as their output represents the quality of their work.
CCRA is happy to have learned that Perl is the most practical language for extracting and reporting. The turnaround time and cost effectiveness of this project is a testament to that claim!
Jay Lawrence has a small services and software company in Ottawa, Ontario, Canada. His company builds custom information management and retrieval systems based entirely on open source software using Perl as his programming language of choice. He hopes to give back to the community by serving as co-ordinator of the Ottawa Perl Mongers group and by placing his best quality modules on CPAN.
To learn how large and small companies are using Perl to meet their goals, check out Perl Success Stories.
If you have a Perl success story of your own that you’d like to share, please let me know. You can reach me at: firstname.lastname@example.org