About
Documentation
Screenshots
Download
People
Mailing List
Page Maintainer:
David Schweikert

Last Update:
2007-03-20
About Gedafe

Gedafe 1.4.0 is released! Read more...

What is Gedafe?

Gedafe is a Generic, Web-based, PostgreSQL Database Front-end written in Perl. It pulls all information it needs right from the underlying database. No database specific configuration is required in the front-end itself. Gedafe is nevertheless End-User-Friendly. This means that it provides a full featured Database Application Web-interface ready to be used by normal people.

The main idea behind Gedafe is to put all the application logic into the database along with meta-information on how to present the data. This allows to use a generic front-end which gathers that information and then builds the user interface accordingly.

Application in the Database

Modern databases such as PostgreSQL allow to setup rules defining what sort of data is permitted in each field of a table. It is even possible to store little programs (stored procedures) which get executed whenever a value in a table is inserted/changed/deleted. The program can then take additional action, run elaborate tests, and in the end even refuse the modification.

Implementing the application in the database is good practice, as it is highly effective in ensuring data integrity. Whatever means are used to access the database, data-integrity rules will be enforced. Also, writing database applications at the database level is easier, since the built-in programming facilities of the database are tailored to this very purpose.

Such Databases Applications can be implemented in a wide variety of ways. For Gedafe to be able to to generate a web-interface for your database it relies on a number of conventions. Check the Database Guide for details.

Other Gedafe Features
  • User authentication is done only at the database-level, it is transparent to the requested URL (after a login you get the page you requested initially). Authentication is based on cookies that expire server-side.
  • Templates allow to customize the Gedafe generated Web interface
  • POST is used only for data that modifies the database. Every view is encoded in the URL. This means that you can set bookmarks to screens inside Gedafe.
  • Double Submit Protection. It is not possible to submit the same form twice. This ensures that data is only entered once even when Gedafe is used under non standard conditions.
  • Gedafe can read additional setup information from special META tables stored alongside the production data in the database. This allows to enable additional Gedafe features or to override settings which Gedafe derived from looking at the table structure and naming scheme.
  • Built-in support for external reporting modules allow to easily generate complex reports using external Perl modules.
  • Every table Gedafe displays can be downloaded with a single click in comma separated format ready for import into a spreadsheet.