]> git.decadent.org.uk Git - maypole.git/blob - lib/Maypole/Manual.pod
Added Jesters Manual
[maypole.git] / lib / Maypole / Manual.pod
1 =head1 The Maypole Manual
2
3 The Maypole documentation is arranged over several files; this is 
4 the right one to start with, as it provides an overview of the
5 entire set of Maypole manuals, with a brief description of each.
6 Some of these manuals are not yet finished, but they should still
7 be useful.
8
9 =over 4
10
11 =item L<Manual::About> - Overview of the Project
12
13 This document is a general introduction to Maypole: What it is
14 (a framework for Web development), what it does (at the basic
15 level, it converts a URL
16 (e.g. C<http://www.mysite.com/product/display/12>) into a
17 method call (i.e. "perform the C<display> method on item C<12>
18 in the C<product> table") and then shows the result (here,
19 presumably, a description of item C<12> in your product
20 database)), and how it works (by MVC, a design paradigm in
21 which each major aspect of an application's operation is
22 handled by a different and totally separate system). Basic
23 installation instructions are given. A sample Web
24 application--the Beer database--is introduced, set up, and
25 discussed. Finally, the path a Maypole request takes as it
26 moves through the system is described.
27
28 =item L<Manual::Model> - Model Classes *
29
30 This document introduces the I<model class>, which controls
31 the interaction between Maypole and your database. The use of
32 "actions"--method calls that operate on your database--is
33 discussed. Maypole's default model class is L<Class::DBI>,
34 which basically creates a class for each table in your
35 database and provides a variety of convenient methods for
36 manipulating each table and its relations. It integrates very
37 smoothly with Maypole's default L<view class|"Manual::View">,
38 the L<Template> Toolkit.
39
40 =item L<Manual::View> - View Classes *
41
42 This document is an extensive discussion of Maypole's I<view
43 class>, which takes the data produced by the model (see
44 L<above|"Manual::Model">) and sends it through a templating
45 system in order to produce output. It focusses chiefly on
46 the L<Template> Toolkit, which is Maypole's default templating
47 system, but discusses other possibilities.
48
49 =item L<Manual::StandardTemplates> - Standard actions and templates *
50
51 This document discusses the standard actions and templates
52 that Maypole uses. The standard actions (method calls that
53 operate on your database) include C<list>, which generates a
54 paged list of a table suitable for browsing, and C<search>, which
55 handles a search query and generates search results.
56
57 The standard templates (which generate output for display on
58 the Web) include C<list>, which displays the entries in a
59 table, and C<search>, which displays the result of a search.
60
61 You'll note that most actions are associated with templates.
62
63 This document also introduces the theory behind Maypole's
64 actions and templates, showing you how to write your own
65 so that you can have a highly customized application.
66
67 =item L<Manual::Workflow> - Description of the Maypole Workflow 
68
69 This is a technical document that describes the progress of a
70 request through the entire Maypole system. It should be of
71 interest chiefly to those people hacking on Maypole itself,
72 and not to most of those who are using it.
73
74 =item L<Manual::Beer> - The Beer Database Revisited *
75
76 This document gives a close look at the Beer database that
77 was introduced in L<Manual::About>.
78
79 =item L<Manual::Request> - The Request Cookbook 
80
81 This extensive document is Maypole's main "How do I do X?" FAQ.
82 It provides a wide variety of cookbook-like techniques that
83 are useful both for themselves, and as examples of what sort
84 of things can be done with Maypole processes.
85
86 =item L<Manual::Flox> - Case Study: Flox social network *
87
88 This is an example of how to construct a large Web application
89 in Maypole: a "social network", similar to Friendster and
90 Orkut. It shows, specifically, the database structure and the
91 variety of customized techniques that make such a system
92 work.
93
94 =item L<Manual::IBuySpy> - Case Study: iBuySpy *
95
96 This is an example of the C<ASP.NET> sample portal application
97 ported to Maypole. L<http://www.ibuyspy.com> is a fictional
98 e-commerce site that is relatively sophisticated. It is much
99 better as a Maypole application.
100
101 =back
102
103   * indicates incomplete chapters.
104
105
106 =head1 AUTHOR
107
108 Sebastian Riedel, C<sri@oook.de>
109
110 This overview written by Jesse Sheidlower, C<jester@panix.com>,
111 based on Simon Cozens' original I<Overview> document.
112
113 =head1 AUTHOR EMERITUS
114
115 Simon Cozens, C<simon@cpan.org>
116
117 =cut