#########################################################################
## 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.5:
- Changed the run() method to use Perl's built-in dynamic method
  call for all run modes, whether by name or by code ref.  This
  is intended to improve run-time performance somewhat.  Thanks 
  to Darin McBride for this patch.
- Added new override-able method cgiapp_get_query().  This method
  is called when CGI::Application first needs access to the CGI
  query object.  By default, this is a CGI.pm object.  It is 
  possible to override the cgiapp_get_query() method to return 
  an object of some other module besides CGI.pm, providing
  that it is sufficiently compatible.  Thanks to Eric Andreychek
  for the suggestion and his help troubleshooting the code.


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.erlbaum.net".


