TPDA (Tiny Perl Database Application)
Copyright (C) 2004-2010 Stefan Suciu
GNU General Public License v3
* DESCRIPTION
TPDA (Tiny Perl Database Application) is a classic desktop, database
application framework, written in Perl and pTk. TPDA has support for
Firebird, Postgresql and MySQL. The goal of this project is to make
database applications more flexible and accessible for every user.
This project has two components, the TPDA framework and the TPDA
applications. The framework has to be installed first.
From version 0.90 the installation is done with:
% perl Makefile.PL
% make # or dmake for Strawberry Perl
% make test # EXPERIMENTAL
% make install # dmake install
HOME/.tpda directory is the default place for the configuration file(s).
Check the tpda-apps folder on the SourceForge site for new
applications: http://sourceforge.net/projects/tpda/files/
There is a demo TPDA application that uses an open source sample
database named classicmodels from:
http://www.eclipse.org/birt/phoenix/db/ The CSV data files are in the
'data' directory, and can easily be loaded with the provided tools.
The goal of the demo is to show most of the capabilities of the
application, from which we enumerate the main ones:
- Support for multiple RDBMS's: Firebird, Postgresql, MySQL and for
multiple databases by using different configuration files that can
be loaded from the command line.
- Rapid Application Development (RAD). It' possible to create an
relatively complex application for working with two or three tables
in a database, in just a few days, including the design of the
database schema; by the way, that is the hardest part :)
- Operating system independence. The application is supposed to work
on any OS that has a Perl interpreter and the required modules, can
be installed. Tested only on Win32 and GNU/Linux!
Of course, any other database schema than classicmodels can be adapted
to work with TPDA. The application uses views to present the data
from the tables in screens, one record at a time. A particular record
can be altered or deleted. New records can be added. By using keys and
candidate keys that can be set by using dialogs, the database tables
can be normalized, making it easy to create applications that are
working correctly.
Check the sourceforge.net TPDA download area for new real (real as
opposed to demo) applications.
Please send questions and other feedback about TPDA to:
"stefansbv 'at' users . sourceforge . net".
* KNOWN BUGS | or features ;)
** Screens that have a TableMatrix widget for a referenced table
(e.g. Orders in classicmodels demo application) allows to insert or
update records even only in the main table without checking if there
is at least one record in the referenced table
** In tables (TableMatrix widget) the Enter key from the key pad
doesn't work on GNU/Linux (at least in Slackware)
* HISTORY
This is a major rewrite of an other (open source) project that was
started sometime in the beginning of the millennium, but was never
released to the public.
At the time i was starting that project (and started learning Perl) I
found just a couple of Perl Tk applications to get inspiration from
(apart from the Perl Tk modules manual pages, forums and FAQs). First
was Organon written by Basilios and second was sqlgui a GUI SQL
processor by Dr. Scott E. Aaron
Another great source of inspiration was "The Speech Timer Program"
Copyright (C) 2003 by Steve Litt.
Thank You!
* COPYRIGHT
Copyright (C) 2004-2010 Stefan Suciu
* AUTHORS
Stefan Suciu [ stefansbv 'at' users . sourceforge . net ]
Help with docs and English translations:
Dorin Suciu [ dorinsuciu 'at' users . sourceforge . net ]
* WEB SITE
http://tpda.sourceforge.net
* LICENSE
GNU General Public License v3
* THANKS to
The Open Source movement, and all the authors, contributors and
community behind this great projects:
Perl and Perl modules
Firebird and Flamerobin
Postgresql
GNU/Linux
MySQL
[[http://www.perlmonks.org/][Perl Monks]] (the best Perl support site)
and of course Sourceforge for hosting this project :)
Footnotes:
[1] Easy, comparing with other applications written in compiled languages and
easy for anybody who knows Perl and how to work with a database like
Firebird, Postgresql or MySQL.
[2] SCREEN, in this application, means a window with Perl Tk widgets
for editing columns from a database table.