doc: updated Intro.pod (minor) and Plugins.pod (significant additions)
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Plugins.pod
1 =head1 NAME
2
3 Catalyst::Manual::Plugins - Catalyst Plugins (and Components)
4
5 =head1 DESCRIPTION
6
7 This section lists the some of the plugins and components that are
8 available to extend the runtime functionality of Catalyst. The plugins
9 are not distributed with Catalyst but should be available from CPAN.
10 They typically require additional modules from CPAN. We will try to
11 keep this document up to date, but please check CPAN directly for
12 the latest and greatest.
13
14 =head1 PLUGINS
15
16 =head2 Catalyst::Plugin::Authentication::CDBI
17
18 L<Catalyst::Plugin::Authentication::CDBI> is a CDBI (C<Class::DBI>)
19 authentication plugin.  Note that it requires a session plugin.
20
21 =head2 Catalyst::Plugin::Authentication::LDAP
22
23 L<Catalyst::Plugin::Authentication::LDAP> is a plugin allowing you 
24 to authenticate your web users using an LDAP server. 
25
26 =head2 Catalyst::Plugin::Email
27
28 L<Catalyst::Plugin::Email> sends email with Catalyst and L<Email::Send>
29 and L<Email::MIME::Creator>.
30
31 =head2 Catalyst::Plugin::Browser
32
33 L<Catalyst::Plugin::Browser> extends L<Catalyst::Request> by adding the
34 capability of browser detection. It returns an instance of
35 L<HTTP::BrowserDetect>, which lets you get information from the client's
36 user agent.
37
38 =head2 Catalyst::Plugin::Compress::Zlib
39
40 L<Catalyst::Plugin::Compress::Zlib> supplies Zlib compression for
41 Catalyst.
42
43 =head2 Catalyst::Plugin::Compress::Bzip2
44
45 L<Catalyst::Plugin::Compress::Bzip2> compresses a response using
46 bzip compression.
47
48 =head2 Catalyst::Plugin::FillInForm
49
50 L<Catalyst::Plugin::FillInForm> is plugin for Catalyst based on
51 C<HTML::FillInForm>, which describes itself as a module to automatically
52 insert data from a previous HTML form into the HTML input, textarea,
53 radio buttons, checkboxes, and select tags.  C<HTML::FillInForm> is a
54 subclass of C<HTML::Parser> and uses it to parse the HTML and insert the
55 values into the form tags.
56
57 =head2 Catalyst::Plugin::FormValidator
58
59 L<Catalyst::Plugin::FormValidator> is a form validator plugin that uses
60 L<Data::FormValidator> to validate and set up form data from your
61 request parameters.  It's a quite thin wrapper around that module, so
62 most of the relevant information can be found there.
63
64 =head2 Catalyst::Plugin::Geography
65
66 L<Catalyst::Plugin::Geography> allows you to retrieve various kinds
67 of geographical information. You can retrieve the country or code from
68 the current user, from a given IP address, or from a given hostname.
69
70 =head2 Catalyst::Plugin::I18N
71
72 L<Catalyst::Plugin::I18N> is an internationalization plugin for
73 Catalyst.  Supports C<mo>/C<po> files and Maketext classes under your
74 application's I18N namespace.
75
76 =head2 Catalyst::Plugin::Pluggable
77
78 L<Catalyst::Plugin::Pluggable> is a plugin for pluggable Catalyst
79 applications.
80
81 =head2 Catalyst::Plugin::Prototype
82
83 L<Catalyst::Plugin::Prototype> is a plugin for the Prototype JavaScript
84 library. This Plugin allows you to easily implement AJAX functionality
85 without actually knowing Javascript.
86
87 =head2 Catalyst::Plugin::Session::FastMmap
88
89 L<Catalyst::Plugin::Session::FastMmap> is a session plugin for Catalyst
90 based on C<Cache::FastMMap>, which uses an mmap'ed file to act as a
91 shared memory interprocess cache.
92
93
94 =head2 Catalyst::Plugin::Static
95
96 L<Catalyst::Plugin::Static> is a plugin to serve static files from C<<
97 $c->config->{root} >>/<< action >>/.
98
99
100 =head2 Catalyst::Plugin::SubRequest
101
102 L<Catalyst::Plugin::SubRequest> is a plugin to allow subrequests to
103 actions to be made within Catalyst.  Nice for portal software and such.
104
105 =head2 Catalyst::Plugin::Textile
106
107 L<Catalyst::Plugin::Textile> is a persistent Textile processor for
108 Catalyst that uses C<Text::Textile>, a Perl-based implementation of Dean
109 Allen's Textile syntax. Textile is shorthand for doing common formatting
110 tasks (see L<http://textism.com>).
111
112 =head2 Catalyst::Plugin::Unicode
113
114 L<Catalyst::Plugin::Unicode> provides a Unicode-aware Catalyst. On
115 request, it decodes all params from UTF-8 octets into a sequence of
116 logical characters. On response, it encodes the body into UTF-8 octets.
117
118 =head2 Catalyst::Plugin::XMLRPC
119
120 L<Catalyst::Plugin::XMLRPC> plugin allows your Controller class to
121 dispatch XMLRPC methods from its own class.
122
123
124 =head1 COMPONENT MODULES
125
126 =head2 Catalyst::Model::CDBI
127
128 L<Catalyst::Model::CDBI> is the C<Class::DBI> (CDBI) module class.  It 
129 is built on top of C<Class::DBI::Loader>, which automates the 
130 definition of C<Class::DBI> sub-classes by scanning the underlying 
131 table schemas, setting up columns and primary keys.
132
133 =head2 Catalyst::Model::CDBI::Plain
134
135 L<Catalyst::Model::CDBI::Plain> is a neutral interface to the
136 C<Class::DBI> module, which does not attempt to automate table
137 setup. It allows the user to manually set up C<Class::DBI>
138 classes, either by doing so within the Catalyst model classes
139 themselves, or by inheriting from existing C<Class::DBI>
140 classes.
141
142 =head2 Catalyst::Model::CDBI::CRUD
143
144 L<Catalyst::Model::CDBI::CRUD> is a subclass of 
145 C<Catalyst::Model::CDBI> with additional CRUD (create, retrieve, 
146 update, delete) methods.
147
148 =head2 Catalyst::Model::Plucene
149 L<Catalyst::Model::Plucene> is the model class for the Plucene
150 search engine.
151
152 =head2 Catalyst::View::HTML::Template
153
154 L<Catalyst::View::HTML::Template> is a View component for
155 displaying your stash with L<HTML::Template>.
156
157 =head2 Catalyst::View::PSP
158
159 L<Catalyst::View::PSP> is a View component for displaying your
160 stash using PSP, a Perl extension implementing a JSP-like 
161 templating system; see L<Text::PSP>.
162
163 =head2 Catalyst::View::Petal
164 L<Catalyst::View::Petal> is a View component for displaying 
165 your stash using Petal, the Perl Template Attribute Language,
166 an XML-based templating system; see L<Petal>.
167
168 =head2 Catalyst::View::Mason
169
170 L<Catalyst::View::Mason> is a View component for displaying your stash
171 with L<HTML::Mason>.
172
173 =head2 Catalyst::View::TT
174
175 L<Catalyst::View::TT> is a Template Toolkit view. See
176 L<Template::Manual>.
177
178 =head1 AUTHOR
179
180 Andrew Ford E<lt>A.Ford@ford-mason.co.ukE<gt>
181 Marcus Ramberg E<lt>mramberg@cpan.orgE<gt>
182 Jesse Sheidlower E<lt>jester@panix.comE<gt>
183
184 =head1 COPYRIGHT
185
186 This program is free software, you can redistribute it and/or modify it under
187 the same terms as Perl itself.