HTDB : Philosophy
Help Us!


Powered By

The HTDB design philosphy is simple, and conforms to what is known as the "Model-View-Controller" architecture.
  • never embed HTML in your compiled program. instead, store HTML as named resource fragments within resource files.
  • keep logic embedded in HTML fragments to a minimum so that your designers do not trip over program logic.
The HTDB library contains a full-featured set of functions and imposes a certain structure for those desiring to create web (or stand-alone) applications.

At its most basic, libhtdb provides for many common CGI processing tasks: form value handling, file upload, and provides for an abstracted database access layer.

libhtdb communicates purely via name/value pairs stored in-memory. These values are populated, per page, with server environment values, and any processed GET/POST form values. In addition, programmers use this store for accessing computational results and HTML snippets.

Using libhtdb, one does not "preprocess" an HTML-looking document. Instead, one drops everything into memory, and then picks out what is needed to create a page - typically by filling in a web template of some form. The act of accessing values from the template causes values referenced within that object to be evaluated in-place.

HTDB can work with a database underneath, or without. If a database (currently either msql or mysql) is running, then libhtdb transparently handles issues of user sessioning, browser/page/referer tracking and page hits.

All applications written using libhtdb look to the config.htdb file for runtime-tweakable definitions, such as the locations of the database and how sessioning and cryptography is to be handled.

del - Tue Aug 10 11:49:09 PDT 1999
18,207 impressions