From 7634f8e53301e1e7c8ff88590bb4922aa3dd658a Mon Sep 17 00:00:00 2001 From: Sebastian Riedel Date: Fri, 22 Oct 2004 17:24:47 +0000 Subject: [PATCH] some release preparation git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@257 48953598-375a-da11-a14b-00016c27c3ee --- Changes | 2 +- README | 200 +++++++++++++++++++++++++++++++++++++++++++++++++------- TODO | 4 -- 3 files changed, 176 insertions(+), 30 deletions(-) diff --git a/Changes b/Changes index 4ce18b8..9ecca64 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,6 @@ Revision history for Perl extension Maypole -2.0 XXX XXX XX XX:XX:XX XXX XXXX +2.0 Fri Oct 22 20:00:00 2004 - added parse_args() (Simon Flack) - call additional_data() and authenticate() for plain templates - merged Apache2::MVC (mod_perl2 support) into Apache::MVC diff --git a/README b/README index 136b43c..91906c4 100644 --- a/README +++ b/README @@ -1,38 +1,188 @@ -Apache/MVC version 0.01 -======================= +NAME + Maypole - MVC web application framework -The README is used to introduce the module and provide instructions on -how to install the module, any machine dependencies it may have (for -example C compilers and installed libraries) and any other information -that should be provided before the module is installed. +SYNOPSIS + See Maypole::Application. -A README file is required for CPAN modules since CPAN extracts the -README file from a module distribution so that people browsing the -archive can use it get an idea of the modules uses. It is usually a -good idea to provide version information here so that people can -decide whether fixes for the module are worth downloading. +DESCRIPTION + This documents the Maypole request object. For user documentation, see + Maypole::Manual. -INSTALLATION + CLASS METHODS + config + Returns the Maypole::Config object -To install this module type the following: + setup + My::App->setup($data_source, $user, $password, \%attr); - perl Makefile.PL - make - make test - make install + Initialise the maypole application and model classes. Your application + should call this after setting configuration via "config" -DEPENDENCIES + init + You should not call this directly, but you may wish to override this to + add application-specific initialisation. -This module requires these other modules and libraries: + view_object + Get/set the Maypole::View object - blah blah blah + debug + sub My::App::debug {1} -COPYRIGHT AND LICENCE + Returns the debugging flag. Override this in your application class to + enable/disable debugging. -Put the correct copyright and licence information here. + INSTANCE METHODS + parse_location + Turns the backend request (e.g. Apache::MVC, Maypole, CGI) into a + Maypole request. It does this by setting the "path", and invoking + "parse_path" and "parse_args". -Copyright (C) 2004 Simon Cozens + You should only need to define this method if you are writing a new + Maypole backend. -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. + path + Returns the request path + + parse_path + Parses the request path and sets the "args", "action" and "table" + properties + + table + The table part of the Maypole request path + + action + The action part of the Maypole request path + + args + A list of remaining parts of the request path after table and action + have been removed + + parse_args + Turns post data and query string paramaters into a hash of "params". + + You should only need to define this method if you are writing a new + Maypole backend. + + params + Returns a hash of request parameters. The source of the parameters may + vary depending on the Maypole backend, but they are usually populated + from request query string and POST data. + + Note: Where muliple values of a parameter were supplied, the "params" + value will be an array reference. + + get_template_root + Implimentation-specific path to template root. + + You should only need to define this method if you are writing a new + Maypole backend. Otherwise, see "template_root" in Maypole::Config + + get_request + You should only need to define this method if you are writing a new + Maypole backend. It should return something that looks like an Apache or + CGI request object, it defaults to blank. + + is_applicable + Returns a Maypole::Constant to indicate whether the request is valid. + + The default implimentation checks that "$r->table" is publicly + accessible and that the model class is configured to handle the + "$r->action" + + authenticate + Returns a Maypole::Constant to indicate whether the user is + authenticated for the Maypole request. + + The default implimentation returns "OK" + + model_class + Returns the perl package name that will serve as the model for the + request. It corresponds to the request "table" attribute. + + additional_data + Called before the model processes the request, this method gives you a + chance to do some processing for each request, for example, manipulating + "template_args". + + objects + Get/set a list of model objects. The objects will be accessible in the + view templates. + + If the first item in "$r->args" can be "retrieve()"d by the model class, + it will be removed from "args" and the retrieved object will be added to + the "objects" list. See Maypole::Model for more information. + + template_args + $r->template_args->{foo} = 'bar'; + + Get/set a hash of template variables. + + template + Get/set the template to be used by the view. By default, it returns + "$r->action" + + exception + This method is called if any exceptions are raised during the + authentication or model/view processing. It should accept the exception + as a parameter and return a Maypole::Constant to indicate whether the + request should continue to be processed. + + error + Get/set a request error + + output + Get/set the response output. This is usually populated by the view + class. You can skip view processing by setting the "output". + + document_encoding + Get/set the output encoding. Default: utf-8. + + content_type + Get/set the output content type. Default: text/html + + send_output + Sends the output and additional headers to the user. + + call_authenticate + This method first checks if the relevant model class can authenticate + the user, or falls back to the default authenticate method of your + Maypole application. + + call_exception + This model is called to catch exceptions, first after authenticate ,then + after processing the model class, and finally to check for exceptions + from the view class. + + This method first checks if the relevant model class can handle + exceptions the user, or falls back to the default exception method of + your Maypole application. + + handler + This method sets up the class if it's not done yet, sets some defaults + and leaves the dirty work to handler_guts. + + handler_guts + This is the core of maypole. You don't want to know. + +SEE ALSO + There's more documentation, examples, and a wiki at the Maypole web + site: + + http://maypole.perl.org/ + + Maypole::Application,Apache::MVC, CGI::Maypole. + +AUTHOR + Sebastian Riedel, c + +AUTHOR EMERITUS + Simon Cozens, "simon@cpan.org" + +THANKS TO + Danijel Milicevic, Dave Slack, Jesse Sheidlower, Jody Belka, Marcus + Ramberg, Mickael Joanne, Simon Flack, Veljko Vidovic and all the others + who've helped. + +LICENSE + You may distribute this code under the same terms as Perl itself. diff --git a/TODO b/TODO index 79449b1..5587868 100644 --- a/TODO +++ b/TODO @@ -3,7 +3,3 @@ * Better documentation and more complex examples * Much more warnings * Multiple Models - ---- Needed for 2.0 release -* Fix templates -* Maypole::Manual -- 2.39.2