[RFC] HTML::Dashboard (Spreadsheet-like formatting for HTML tables)

[RFC] HTML::Dashboard (Spreadsheet-like formatting for HTML tables)

am 16.04.2007 22:50:05 von PKJ

I am looking for comments on a new Perl module. The purpose of the
module is to take a data set (e.g. from a DB query), apply a bunch of
formatting rules, and render the resulting information in the form of
an HTML table.


Why this module?
=============

For reports delivered via the web, it is often desirable to be able to
apply data-dependent formatting rules, such as:
- shading every second row to make reading easier
- highlighting table cells (or rows, or columns) when some condition
is fullfilled (e.g. when the value of cell is outside of some range)
- passing the content through some random formatting filter (such as
sprintf(...) or substr(...))

It is often also desirable to be able to sort the data (on a random
column) or to restrict the set of columns included in the report.

It is quite painful to build and apply such rules in an ad-hoc fashion
while building the HTML table from a data set. (In particular when
working on a one-off report which should take no more than half an
hour to write.)

Hence a module to take care of all of that.


Proposal:
=======

I have put together a module (tentatively named HTML::Dashboard),
which allows the programmer to specify a number of formatting rules,
which will be applied to the data as it is rendered into HTML. The
module is currently in alpha, and I am looking for comments (in
particular in regards to usability, features, documentation, bugs).

The best way to get an idea of what the module (currently) can do is
to look at some examples. I put together a "gallery" show-casing the
most important features. You can find it here:
http://www.beyondcode.org/projects/dashboard/gallery.html

The POD can be found here:
http://www.beyondcode.org/projects/dashboard/index.html

and the download here:
http://www.beyondcode.org/projects/dashboard/HTML-Dashboard- 0.01.tar.gz


Questions:
========

Feel free to take a look and let me know what you think. In
particular, I'd like to know: Is this useful? And does it work?

Is the documentation understandable (the API is uncomfortably large,
in my opinion)?

Is anything missing?

And finally, I am looking for comments on the proposed module name.
It's not perfect - any better ideas?

Re: [RFC] HTML::Dashboard (Spreadsheet-like formatting for HTML tables)

am 16.04.2007 23:27:12 von Dean Arnold

pkj wrote:
> I am looking for comments on a new Perl module. The purpose of the
> module is to take a data set (e.g. from a DB query), apply a bunch of
> formatting rules, and render the resulting information in the form of
> an HTML table.
>
>



>
> Questions:
> ========
>
> Feel free to take a look and let me know what you think. In
> particular, I'd like to know: Is this useful? And does it work?
>
> Is the documentation understandable (the API is uncomfortably large,
> in my opinion)?
>
> Is anything missing?
>
> And finally, I am looking for comments on the proposed module name.
> It's not perfect - any better ideas?
>

While the solution looks fine, I do have an issue
with the use of the term "Dashboard". Dashboard already has
strong associations with graphical data display
(most notably, information dashboards with, e.g.,
gauges, sparklines, barcharts, etc.).

Since the modulelist (http://www.cpan.org/modules/00modlist.long.html#ID15_WorldW ideW)
doesn't currently list any registered "HTML::Spreadsheet", and it doesn't seem to exist
on CPAN, perhaps thats a more appropriate name ? (and perhaps a bit more likely to pop up
in a CPAN search when someone is casting about for your solution.)

My US$0.02,
Dean Arnold
Presicient Corp.

Re: HTML::Dashboard (Spreadsheet-like formatting for HTML tables)

am 17.04.2007 13:42:32 von keith

On Apr 16, 3:50 pm, "pkj" wrote:
> I am looking for comments on a new Perl module. The purpose of the
> module is to take a data set (e.g. from a DB query), apply a bunch of
> formatting rules, and render the resulting information in the form of
> an HTML table.
>
> Why this module?
> =============
>
> For reports delivered via the web, it is often desirable to be able to
> apply data-dependent formatting rules, such as:
> - shading every second row to make reading easier
> - highlighting table cells (or rows, or columns) when some condition
> is fullfilled (e.g. when the value of cell is outside of some range)
> - passing the content through some random formatting filter (such as
> sprintf(...) or substr(...))
>
> It is often also desirable to be able to sort the data (on a random
> column) or to restrict the set of columns included in the report.
>
> It is quite painful to build and apply such rules in an ad-hoc fashion
> while building the HTML table from a data set. (In particular when
> working on a one-off report which should take no more than half an
> hour to write.)
>
> Hence a module to take care of all of that.
>
> Proposal:
> =======
>
> I have put together a module (tentatively named HTML::Dashboard),
> which allows the programmer to specify a number of formatting rules,
> which will be applied to the data as it is rendered into HTML. The
> module is currently in alpha, and I am looking for comments (in
> particular in regards to usability, features, documentation, bugs).
>
> The best way to get an idea of what the module (currently) can do is
> to look at some examples. I put together a "gallery" show-casing the
> most important features. You can find it here:
> http://www.beyondcode.org/projects/dashboard/gallery.html
>
> The POD can be found here:
> http://www.beyondcode.org/projects/dashboard/index.html
>
> and the download here:
> http://www.beyondcode.org/projects/dashboard/HTML-Dashboard- 0.01.tar.gz
>
> Questions:
> ========
>
> Feel free to take a look and let me know what you think. In
> particular, I'd like to know: Is this useful? And does it work?
>
> Is the documentation understandable (the API is uncomfortably large,
> in my opinion)?
>
> Is anything missing?
>
> And finally, I am looking for comments on the proposed module name.
> It's not perfect - any better ideas?

Well, unless I'm missing something you could call it Data::Table, :-).

Keith