----- 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.

Reply via email to