#########################################################################
## CGI::Application - Framework for building reusable web-applications ##
#########################################################################

CGI::Application is intended to make it easier to create sophisticated,
reusable web-based applications. This module implements a methodology which,
if followed, will make your web software easier to design, easier to
document, easier to write, and easier to evolve.


Download site for CGI::Application:

  http://www.cpan.org/authors/id/J/JE/JERLBAUM/


CHANGES SINCE VERSION 2.1:
- Added new module CGI::Application::Mailform as both an
  example of how to use CGI::Application and a useful
  (albeit simple) reusable web-based application.
- CGI::Application::Mailform allows the contents of
  data submitted through HTML forms to be easily sent
  via email to a specified recipient.  This application
  is intended to be very easy to reuse, yet secure
  and functional enough to replace some of the most
  onerous "mailform" scripts which have been floating
  around the Internet for ages.
- Added cgiapp_prerun() hook, for adding global behaviors
  before the run-mode method is called.  The cgiapp_prerun()
  gets the name of the run-mode as a parameter.  This would
  allow the user to perform some action based on the
  current run-mode.


Read the recent "Using CGI::Application" article on Perl.com for an 
overview of the module and its usage:

  http://www.perl.com/pub/a/2001/06/05/cgi.html


HOW DO I INSTALL IT?

To install this module, cd to the directory that contains this README
file and type the following:

   perl Makefile.PL
   make
   make test
   make install


CGI::Application builds on standard, non-proprietary technologies and 
techniques, such as the Common Gateway Interface and Lincoln D. Stein's 
excellent CGI.pm module.  CGI::Application judiciously avoids employing 
technologies and techniques which would bind a developer to any one set 
of tools, operating system or web server.

The guiding philosophy behind CGI::Application is that a web-based
application can be organized into a specific set of "Run-Modes." Each
Run-Mode is roughly analogous to a single screen (a form, some output, etc).
All the Run-Modes are managed by a single "Application Module" which is a
Perl module. In your web server's document space there is an "Instance
Script" which is called by the web server as a CGI (or an Apache::Registry
script if you're using Apache + mod_perl).

CGI::Application is an Object-Oriented Perl module which implements an
Abstract Class. It is not intended that this package be instantiated
directly. Instead, it is intended that your Application Module will be
implemented as a Sub-Class of CGI::Application.

If you have any questions, comments, bug reports or feature suggestions, 
post them to the support mailing list!  To join the mailing list, simply
send a blank message to "cgiapp-subscribe@lists.vm.com".


