----- Original Message ----- From: "_brian_d_foy" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Saturday, November 30, 2002 11:23 AM Subject: Re: Module submission Data::Presenter
> In article <[EMAIL PROTECTED]>, Perl Authors > Upload Server <[EMAIL PROTECTED]> wrote: > > > modid: Data::Presenter > > > description: Reprocess information from database reports > > > > In Perl terms, if the > > data can be represented by a hash of arrays, where each element of > > each array is a number or a string, it is suitable for manipulation > > by Data::Presenter. > > is this module just an interface to a hash of arrays? that seems > much more useful than just for database reports. A good intuition. This module began as a way for me to reprocess data coming from what may charitably be called a "legacy" database, the reports from which contain valuable data but no longer have maintainers -- even though valuable data is input into the system daily. Once I found a way to stuff the data into a hash of arrays, I realized that I could reprocess the data and present it in ways that are much more useful to me in my daily use. But more recently I've been developing another module (also in response to on-the-job needs) in which I construct a Perl hash-based database. I discovered that if I constructed the object in this new module carefully, I could pass it as an argument to Data::Presenter and have all of Data::Presenter's output methods available to me. > > what does the module do? In my first posting I felt I should be brief. But here's the complete DESCRIPTION section from a recent version of the POD. I will be revising it to more fully reflect the generality of Data::Presenter's applicability. *** start DESCRIPTION *** Data::Presenter is an object-oriented module designed to facilitate the manipulation of database reports. If the data can be represented by a row-column matrix, where for each data entry (row) (a) there are one or more fields containing data values (columns) and (b) at least one of those fields can be used as an index to uniquely identify each entry, then the data structure is suitable for manipulation by Data::Presenter. In Perl terms, if the data can be represented by a hash of arrays, it is suitable for manipulation by Data::Presenter. Data::Presenter can be used to output some fields (columns) from a database while excluding others. It can also be used to select certain entries (rows) from the database for output while excluding other entries. In addition, if a user has two or more database reports, each of which has the same field serving as an index for the data, then it is possible to construct either a: Data::Presenter::Combo::Intersect object which holds data for those entries found in common in all the source databases (the intersection of the source databases' entries); or a Data::Presenter::Combo::Union object which holds data for those entries found in any of the source databases (the union of the source databases' entries). Whichever flavor of Data::Presenter::Combo object the user creates, the module guarantees that each field (column) found in any of the source databases appears once and once only in the Combo object. Data::Presenter is not a database module per se, nor is it an interface to databases in the manner of DBI. It cannot used to enter data into a database, nor can it be used to modify or delete data. Data::Presenter operates on reports generated from databases and is designed for the user who: does not necessarily have direct access to a given database; receives reports from that database generated by another user; but needs to manipulate and re-output that data in simple, useful ways such as text files, Perl formats and HTML tables. Data::Presenter is most appropriate in situations where either has no access to (or chooses not to use) commercial desktop database programs or open source database programs. Data::Presenter's installation and preparation require moderate knowledge of Perl, but the actual running of Data::Presenter scripts can be delegated to someone with less knowledge of Perl. *** end DESCRIPTION *** > can you post docs? > Here is a link to the latest *draft* version of the POD in HTML format: http://www.concentric.net/~Jkeen/datapresenter/Presenter.html Note: the tarball found in the same directory represents an older version of DataPresenter. I'm in the process of rewriting the POD, after which I'll write some tests and prepare a tarball in the proper fashion for CPAN. Thank you very much.