#########################################################################
## 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://search.cpan.org/dist/CGI-Application/

CHANGES SINCE VERSION 3.31:
    This release adds a major new feature of special interest to plugin
    authors: 'hooks'. This concept helps to create plugins that are more powerful
    and simpler to use for end users. See the documentation on writing plugins for
    details.

    Special thanks to Cees Hek and Michael Graham for their effort to develop
    and refine the hook system.

    Since the last major release, there has been an explosion of new plugins
    developed. This is an incomplete list of modules below the
    'CGI::Application::Plugin' namespace. Expect more to be added and updated soon
    with the advent of the hook system: 

      ::AnyTemplate - Use any templating system with a unified interface 
      ::Apache - Use Apache::* modules without interference
      ::AutoRunmode - Automatically register runmodes
      ::ConfigAuto - Integration with Config::Auto
      ::Config::Context - Integration with Config::Context
      ::Config::General - Integration with Config::General
      ::Config::Simple - Integration with Config::Simple
      ::CompressGzip - Add Gzip compression 
      ::DBH - Integration with DBI
      ::LogDispatch - Integration with Log::Dispatch
      ::Session - Integration with CGI::Session
      ::Stream - Help stream files to the browser
      ::TT - Use Template::Toolkit as an alternative to HTML::Template
      ::ValidateRM - Integration with Data::FormValidator and HTML::FillInForm

    The following additional changes are also present in this release:

    - Enhanced tests and documentation for error_mode(). (Rob Kinyon). 
    - Clarified Plug-in documentation (Timothy Appnel)
    - Avoid some warnings when getting run mode from PATH_INFO (Emanuele Zeppieri)
    - Use query() object to get PATH_INFO, to workaround bug in IIS web server. (Mark Stosberg)
    - Documented return value of header_props()

Read the article "Using CGI::Application" on Perl.com for an 
overview of this 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".


