Tree [822291] master /

File Date Author Commit
 bin 2011-03-26 stefan stefan [339ff7] Copyright update
 data 2010-08-19 stefan stefan [fa1fc8] Moved classicmodels data and sql to tpda/
 doc 2011-03-26 stefan stefan [037dfa] Many changes, see list below.
 lib 2011-03-26 stefan stefan [037dfa] Many changes, see list below.
 patch 2010-09-30 stefan stefan [deb8e7] Fixed bug revelaed by tests, regarding LabFrame...
 script 2011-03-29 stefan stefan [abe9d7] Added user option to load classicmodels script
 sql 2010-08-19 stefan stefan [fa1fc8] Moved classicmodels data and sql to tpda/
 t 2010-09-22 stefan stefan [167d07] Added tests for classicmodels demo app
 .gitignore 2011-04-15 stefan stefan [8fdd60] Ignoring the MANIFEST file
 ChangeLog 2010-12-14 stefan stefan [8f737e] Bug fix and new release in preparation
 Makefile.PL 2011-03-26 stefan stefan [29967f] Experimenting with recommends instead of requir...
 README 2012-12-19 Stefan Suciu Stefan Suciu [822291] Update README.
 xresource.xrdb 2011-04-15 stefan stefan [989fa8] Using xresource.xrdb file for font setting (fro...

Read Me


This is the old unmaintained code for TPDA.

The repository for the new Tpda3 is on GitHub:

TPDA (Tiny Perl Database Application)
Copyright (C) 2004-2010  Stefan Suciu
GNU General Public License v3


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

There is a demo TPDA application that uses an open source sample
database named classicmodels from: 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 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)


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 (C) 2004-2010  Stefan Suciu


Stefan Suciu  [ stefansbv 'at' users . sourceforge . net ]

Help with docs and English translations:
Dorin Suciu   [ dorinsuciu 'at' users . sourceforge . net ]



GNU General Public License v3


The Open Source movement, and all the authors, contributors and
community behind this great projects:
 Perl and Perl modules
 Firebird and Flamerobin
 [[][Perl Monks]] (the best Perl support site)
and of course Sourceforge for hosting this project :)

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