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