Hi Alex,
Alex Gerasev wrote:
>
> Hi,
>
> Let me briefly explain what I need: I'm working on application that uses
> perl DBI internally and provides web user interface. I need to be able to
> provide nice database table access from the web, i.e. view tables (or even
> sets of data generated by database as a response to ANY sql statement) or
> parts of the tables, modify records, add records, etc. I would like to be
> able to sort dataset by clicking on a column name. To delete or modify line
> by clicking the hyperlink to the right of that record. This is what this
> could look like:
Welcome to the club! <grin>
> Could anyone suggest me a module for that? There's a number of related
> modules on CPAN, however, part of them doesn't do exactly what I want,
> another part is far from being bug-free... If you have experience in doing
> something like that, I would appreciate your comment!
Exactly. I tried evaluating lots of various modules and complete
stand-alone Perl Web DB access systems available about a year ago before
starting my own similar project but ended up coding it myself since I
was never able to find anything 100% suitable for my needs and reliable
enough. I've been tracking development of several modules since then and
although some of them progressed a lot still none could meet all of my
requirements. However, YMMV so I'll try to point you to a few
interesting options. What you are trying to achieve looks pretty simple
and generic enough that it might be possible to find a module that will
suite you.
Look at LibWeb http://libweb.sourceforge.net/ , it is a complete dynamic
Web site system, rather powerful and with DB access built-in of course.
Try out CGI::MxScreen module, or at least read its documentation
thoroughly. It is the best implementation of CGI-driven interface to a
complex multi-object data, including but not limited to database
backends. Rather complex and not exactly a DB Web interface, but very
flexible. It could save me weeks of coding if they'd released it a year
ago :). The state of development for this module is not clear however,
they declare it as alpha version and no updates available for many
months.
CPAN URL:
http://www.perl.com/CPAN-local/modules/by-category/15_World_Wide_Web_HTML_HTTP_CGI/CGI/CGI-MxScreen-0.1.1.tar.gz
Another interesting bundle of modules is DBIx::CGI :
http://linuxia.net/DBIx/CGI/DBIx-CGI.en.html
(also available on CPAN under Database Interfaces->DBIx). Rather generic
and not very well documented unfortunately. Actually, it is a CGI
wrapper around DBIx::Easy module.
Similar approach is available in DBIx::HTMLView module. Better
documented and looks more developed.
DB_Browser http://www.summersault.com/software/db_browser/ : Simple yet
flexible enough, but looks a bit ugly to my eyes :-). Might be closer to
what you need, e.g. a simple complete Web interface to a generic SQL
database (Oracle, MySQL and Postgres supported explicitely).
I am sure I have missed lots of other options, hope the above list will
give you a good starting point.
Cheers,
Ivan Adzhubei
________
Thus spake the master programmer:
"When you have learned to snatch the error code from
the trap frame, it will be time for you to leave."
-- Geoffrey James, "The Tao of Programming"