NAME

Apache::MVC - Apache front-end to Maypole

SYNOPSIS

package BeerDB;
use Maypole::Application;

DESCRIPTION

A mod_perl platform driver for Maypole. Your application can inherit from Apache::MVC directly, but it is recommended that you use Maypole::Application.

INSTALLATION

Create a driver module like the one illustrated in Maypole::Application.

Put the following in your Apache config:

<Location /beer>
    SetHandler perl-script
    PerlHandler BeerDB
</Location>

Copy the templates found in templates/factory into the beer/factory directory off the web root. When the designers get back to you with custom templates, they are to go in beer/custom. If you need to override templates on a database-table-by-table basis, put the new template in beer/table.

This will automatically give you add, edit, list, view and delete commands; for instance, to see a list of breweries, go to

http://your.site/beer/brewery/list

For more information about how the system works and how to extend it, see Maypole.

Implementation

This class overrides a set of methods in the base Maypole class to provide its functionality. See Maypole for these:

get_request
warn
parse_location
parse_args
redirect_request

Sets output headers to redirect based on the arguments provided

Accepts either a single argument of the full url to redirect to, or a hash of named parameters :

$r->redirect_request('http://www.example.com/path');

or

$r->redirect_request(protocol=>'https', domain=>'www.example.com', path=>'/path/file?arguments', status=>'302', url=>'..');

The named parameters are protocol, domain, path, status and url

Only 1 named parameter is required but other than url, they can be combined as required and current values (from the request) will be used in place of any missing arguments. The url argument must be a full url including protocol and can only be combined with status.

get_protocol
send_output
get_template_root

AUTHOR

Simon Cozens, simon@cpan.org

CREDITS

Aaron Trevena Marcus Ramberg, marcus@thefeed.no Sebastian Riedel, sri@oook.de

LICENSE

You may distribute this code under the same terms as Perl itself.