From: Marcus Ramberg <mramberg@cpan.org> Date: Fri, 22 Oct 2004 05:43:28 +0000 (+0000) Subject: Added Jesters Manual X-Git-Tag: 2.10~106 X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=2f847230e87321d044cb12ae039c37bde0259bd9;p=maypole.git Added Jesters Manual Updated MANIFEST git-svn-id: http://svn.maypole.perl.org/Maypole/trunk@256 48953598-375a-da11-a14b-00016c27c3ee --- diff --git a/MANIFEST b/MANIFEST index 76fca31..d051c90 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3,20 +3,22 @@ ex/BeerDB.pm lib/Apache/MVC.pm lib/CGI/Maypole.pm lib/Maypole.pm +lib/Maypole/.Application.pm.swp lib/Maypole/Application.pm lib/Maypole/CLI.pm lib/Maypole/Config.pm lib/Maypole/Constants.pm +lib/Maypole/Manual.pod lib/Maypole/Manual/About.pod lib/Maypole/Manual/Beer.pod lib/Maypole/Manual/BuySpy.pod lib/Maypole/Manual/Flox.pod lib/Maypole/Manual/Model.pod -lib/Maypole/Manual/Overview.pod lib/Maypole/Manual/Request.pod lib/Maypole/Manual/StandardTemplates.pod lib/Maypole/Manual/View.pod lib/Maypole/Manual/Workflow.pod +lib/Maypole/Model/.SearchBuilder.pm.swp lib/Maypole/Model/Base.pm lib/Maypole/Model/CDBI.pm lib/Maypole/Model/CDBI/Plain.pm @@ -27,6 +29,12 @@ MANIFEST MANIFEST.SKIP META.yml Module meta-data (added by MakeMaker) README +t/01basics.t +t/02pod.t +t/03podcoverage.t +t/beerdb.db +t/beerdb.db.orig +t/templates/custom/classdata t/templates/custom/frontpage t/templates/custom/list t/templates/custom/view @@ -38,12 +46,11 @@ templates/factory/frontpage templates/factory/header templates/factory/list templates/factory/macros +templates/factory/maypole templates/factory/navbar templates/factory/pager templates/factory/search_form +templates/factory/title templates/factory/view templates/maypole.css TODO -t/01basics.t -t/02pod.t -t/03podcoverage.t diff --git a/lib/Maypole/Manual.pod b/lib/Maypole/Manual.pod index 182e24d..b2a97e7 100644 --- a/lib/Maypole/Manual.pod +++ b/lib/Maypole/Manual.pod @@ -1,27 +1,117 @@ =head1 The Maypole Manual +The Maypole documentation is arranged over several files; this is +the right one to start with, as it provides an overview of the +entire set of Maypole manuals, with a brief description of each. +Some of these manuals are not yet finished, but they should still +be useful. + =over 4 -=item L<Manual::About> - Overview of the Manual * +=item L<Manual::About> - Overview of the Project + +This document is a general introduction to Maypole: What it is +(a framework for Web development), what it does (at the basic +level, it converts a URL +(e.g. C<http://www.mysite.com/product/display/12>) into a +method call (i.e. "perform the C<display> method on item C<12> +in the C<product> table") and then shows the result (here, +presumably, a description of item C<12> in your product +database)), and how it works (by MVC, a design paradigm in +which each major aspect of an application's operation is +handled by a different and totally separate system). Basic +installation instructions are given. A sample Web +application--the Beer database--is introduced, set up, and +discussed. Finally, the path a Maypole request takes as it +moves through the system is described. + +=item L<Manual::Model> - Model Classes * + +This document introduces the I<model class>, which controls +the interaction between Maypole and your database. The use of +"actions"--method calls that operate on your database--is +discussed. Maypole's default model class is L<Class::DBI>, +which basically creates a class for each table in your +database and provides a variety of convenient methods for +manipulating each table and its relations. It integrates very +smoothly with Maypole's default L<view class|"Manual::View">, +the L<Template> Toolkit. + +=item L<Manual::View> - View Classes * + +This document is an extensive discussion of Maypole's I<view +class>, which takes the data produced by the model (see +L<above|"Manual::Model">) and sends it through a templating +system in order to produce output. It focusses chiefly on +the L<Template> Toolkit, which is Maypole's default templating +system, but discusses other possibilities. + +=item L<Manual::StandardTemplates> - Standard actions and templates * + +This document discusses the standard actions and templates +that Maypole uses. The standard actions (method calls that +operate on your database) include C<list>, which generates a +paged list of a table suitable for browsing, and C<search>, which +handles a search query and generates search results. + +The standard templates (which generate output for display on +the Web) include C<list>, which displays the entries in a +table, and C<search>, which displays the result of a search. + +You'll note that most actions are associated with templates. -=item L<Manual::View> - View Classes +This document also introduces the theory behind Maypole's +actions and templates, showing you how to write your own +so that you can have a highly customized application. -=item L<Manual::Model> - Model Classes +=item L<Manual::Workflow> - Description of the Maypole Workflow -=item L<Manual::StandardTemplates> - Standard templates and actions +This is a technical document that describes the progress of a +request through the entire Maypole system. It should be of +interest chiefly to those people hacking on Maypole itself, +and not to most of those who are using it. -=item L<Maual::Workflow> - Description of the Maypole Workflow * +=item L<Manual::Beer> - The Beer Database Revisited * -=item L<Manual::Beer> - The Beer Database Revisited +This document gives a close look at the Beer database that +was introduced in L<Manual::About>. -=item L<Manual::Request> - The Request Cookbook * +=item L<Manual::Request> - The Request Cookbook -=item L<Manual::Flox> - Case Study: Flox social network +This extensive document is Maypole's main "How do I do X?" FAQ. +It provides a wide variety of cookbook-like techniques that +are useful both for themselves, and as examples of what sort +of things can be done with Maypole processes. -=item L<Manual::IBuySpy> - Case Study: iBuySpy +=item L<Manual::Flox> - Case Study: Flox social network * + +This is an example of how to construct a large Web application +in Maypole: a "social network", similar to Friendster and +Orkut. It shows, specifically, the database structure and the +variety of customized techniques that make such a system +work. + +=item L<Manual::IBuySpy> - Case Study: iBuySpy * + +This is an example of the C<ASP.NET> sample portal application +ported to Maypole. L<http://www.ibuyspy.com> is a fictional +e-commerce site that is relatively sophisticated. It is much +better as a Maypole application. =back - * indicates complete chapters. + * indicates incomplete chapters. + + +=head1 AUTHOR + +Sebastian Riedel, C<sri@oook.de> + +This overview written by Jesse Sheidlower, C<jester@panix.com>, +based on Simon Cozens' original I<Overview> document. + +=head1 AUTHOR EMERITUS + +Simon Cozens, C<simon@cpan.org> =cut diff --git a/lib/Maypole/Manual/Overview.pod b/lib/Maypole/Manual/Overview.pod deleted file mode 100644 index e5e6151..0000000 --- a/lib/Maypole/Manual/Overview.pod +++ /dev/null @@ -1,32 +0,0 @@ -=head1 Overview of Maypole Documentation - -The Maypole documentation is arranged over several files; this is a good -one to start with. - -Once you've read this, you should probably look at L<About.pod>, the -guide to what Maypole is and how the Maypole request works. It also -describes how to set up a simple CRUD web application in Maypole. - -The next two chapters are quite thorough, and you might want to skip -over them if you already know how L<Class::DBI> and the L<Template> -toolkit work. L<Model.pod> and L<View.pod> describe these technologies -and their relationship to Maypole. - -Now we present the default actions and templates - the F<factory> -templates - in L<StandardTemplates.pod>. When you have read these -chapters, you are ready to start building more complex applications in -Maypole than just a simple CRUD interface. L<Beer.pod> reintroduces the -beer database application and shows how to move from the "magic" of the -automatically supplied templates and actions to a customized application -with user-specified actions. - -L<Request.pod> contains more information about the Maypole request -object and provides some cookbook-style techniques: how to provide -authentication, how to provide a REST interface, how to override various -stages of the content generation process, and so on. - -The final chapters are examples of how to construct large web -applications in Maypole: L<Flox.pod> describes a "social network" site -similar to Friendster and Orkut; L<PetStore.pod> implements the Java/C# -benchmark Pet Store application; and L<BuySpy.pod> implements the -ASP.NET sample portal application.