Updated Plugins.pod a bit
[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.
4427ee06 10They typically require additional modules from CPAN.
11
12This list is almost certainly outdated by the time you read this, so be sure
13to check the Catalyst::Plugin namespace for additional plugins.
83b9e3a9 14
15=head1 PLUGINS
16
17=head2 Catalyst::Plugin::Authentication::CDBI
18
35e6ab34 19L<Catalyst::Plugin::Authentication::CDBI> is a CDBI (C<Class::DBI>)
20authentication plugin. Note that it requires a session plugin.
83b9e3a9 21
c42f5bbf 22=head2 Catalyst::Plugin::Authentication::LDAP
23
24L<Catalyst::Plugin::Authentication::LDAP> is a plugin allowing you
25to authenticate your web users using an LDAP server.
26
c42f5bbf 27=head2 Catalyst::Plugin::Browser
28
29L<Catalyst::Plugin::Browser> extends L<Catalyst::Request> by adding the
30capability of browser detection. It returns an instance of
31L<HTTP::BrowserDetect>, which lets you get information from the client's
32user agent.
33
4427ee06 34=head2 Catalyst::Plugin::Cache::FastMmap, FileCache, and Memcached
35
36L<Catalyst::Plugin::Cache::FastMmap>, L<Catalyst::Plugin::Cache::FileCache>,
37and L<Catalyst::Plugin::Cache::Memcached> all provide a cache method enabling
38easy access to a shared cache.
39
c42f5bbf 40=head2 Catalyst::Plugin::Compress::Zlib
41
42L<Catalyst::Plugin::Compress::Zlib> supplies Zlib compression for
43Catalyst.
44
45=head2 Catalyst::Plugin::Compress::Bzip2
46
47L<Catalyst::Plugin::Compress::Bzip2> compresses a response using
48bzip compression.
49
4427ee06 50=head2 Catalyst::Plugin::DefaultEnd
51
52L<Catalyst::Plugin::DefaultEnd> creates a sane, standard end method for your
53application.
54
55=head2 Catalyst::Plugin::Email
56
57L<Catalyst::Plugin::Email> sends email with Catalyst and L<Email::Send>
58and L<Email::MIME::Creator>.
59
83b9e3a9 60=head2 Catalyst::Plugin::FillInForm
61
35e6ab34 62L<Catalyst::Plugin::FillInForm> is plugin for Catalyst based on
63C<HTML::FillInForm>, which describes itself as a module to automatically
64insert data from a previous HTML form into the HTML input, textarea,
65radio buttons, checkboxes, and select tags. C<HTML::FillInForm> is a
66subclass of C<HTML::Parser> and uses it to parse the HTML and insert the
67values into the form tags.
83b9e3a9 68
69=head2 Catalyst::Plugin::FormValidator
70
35e6ab34 71L<Catalyst::Plugin::FormValidator> is a form validator plugin that uses
72L<Data::FormValidator> to validate and set up form data from your
73request parameters. It's a quite thin wrapper around that module, so
74most of the relevant information can be found there.
83b9e3a9 75
c42f5bbf 76=head2 Catalyst::Plugin::Geography
77
78L<Catalyst::Plugin::Geography> allows you to retrieve various kinds
79of geographical information. You can retrieve the country or code from
80the current user, from a given IP address, or from a given hostname.
83b9e3a9 81
82=head2 Catalyst::Plugin::I18N
83
35e6ab34 84L<Catalyst::Plugin::I18N> is an internationalization plugin for
85Catalyst. Supports C<mo>/C<po> files and Maketext classes under your
86application's I18N namespace.
83b9e3a9 87
62d40b4c 88=head2 Catalyst::Plugin::Observe
89
90L<Catalyst::Plugin::Observe> provides the ability to register AOP-like
91callbacks to specific Engine events. Subclasses L<Class::Publisher>.
92
4427ee06 93=head2 Catalyst::Plugin::OrderedParams
94
95L<Catalyst::Plugin::OrderedParams> adjusts the way that parameters operate,
96causing them to appear in the same order they were submitted by the browser.
97This can be useful for creating things such as email forms.
98
c74caf1d 99=head2 Catalyst::Plugin::PageCache
100
101L<Catalyst::Plugin::PageCache> helps improve the performance of slow or
102frequently accessed pages by caching the entire output of your page.
103Subsequent requests to the page will receive the page very quickly from
4427ee06 104cache.
c74caf1d 105
83b9e3a9 106=head2 Catalyst::Plugin::Pluggable
107
35e6ab34 108L<Catalyst::Plugin::Pluggable> is a plugin for pluggable Catalyst
109applications.
83b9e3a9 110
111=head2 Catalyst::Plugin::Prototype
112
35e6ab34 113L<Catalyst::Plugin::Prototype> is a plugin for the Prototype JavaScript
114library. This Plugin allows you to easily implement AJAX functionality
115without actually knowing Javascript.
83b9e3a9 116
c74caf1d 117=head2 Catalyst::Plugin::RequireSSL
118
119Use L<Catalyst::Plugin::RequireSSL> if you would like to force visitors
120to access certain pages using only SSL mode. An attempt to access the
121page in non-SSL mode will receive a redirect into SSL mode. Useful for
122shopping carts, user registration forms, and other sensitive data.
123
4427ee06 124=head2 Catalyst::Plugin::Session
125
126The L<Catalyst::Plugin::Session> series of modules provide an easy way to
127include session handling in an application. You can choose from several
128different backend storage methods and combine that with your choice of
129client-side storage methods.
130
83b9e3a9 131=head2 Catalyst::Plugin::Session::FastMmap
132
35e6ab34 133L<Catalyst::Plugin::Session::FastMmap> is a session plugin for Catalyst
134based on C<Cache::FastMMap>, which uses an mmap'ed file to act as a
4427ee06 135shared memory interprocess cache. This is an older session plugin; you may
136wish to look at L<Catalyst::Plugin::Session> instead.
83b9e3a9 137
4427ee06 138=head2 Catalyst::Plugin::SRU
139
140L<Catalyst::Plugin::SRU> allows your controller class to dispatch SRU
141actions (C<explain>, C<scan>, and C<searchRetrieve>) from its own class.
e8af4edb 142
4427ee06 143=head2 Catalyst::Plugin::Static::Simple
144
145L<Catalyst::Plugin::Static::Simple> serves static files in your application
146without requiring a single line of code. This plugin is now included in the
147core Catalyst distribution.
83b9e3a9 148
149=head2 Catalyst::Plugin::Static
150
c74caf1d 151L<Catalyst::Plugin::Static> is a plugin to serve static files from
152C<$c-E<gt>config-E<gt>{root}>. Intended chiefly for development
153purposes.
83b9e3a9 154
665dadd4 155=head2 Catalyst::Plugin::SubRequest
156
35e6ab34 157L<Catalyst::Plugin::SubRequest> is a plugin to allow subrequests to
158actions to be made within Catalyst. Nice for portal software and such.
665dadd4 159
4427ee06 160=head2 Catalyst::Plugin::SuperForm
161
162L<Catalyst::Plugin::SuperForm> is an interface to the L<HTML::SuperForm>
163module, enabling easy HTML form creation.
164
83b9e3a9 165=head2 Catalyst::Plugin::Textile
166
35e6ab34 167L<Catalyst::Plugin::Textile> is a persistent Textile processor for
168Catalyst that uses C<Text::Textile>, a Perl-based implementation of Dean
169Allen's Textile syntax. Textile is shorthand for doing common formatting
170tasks (see L<http://textism.com>).
83b9e3a9 171
c42f5bbf 172=head2 Catalyst::Plugin::Unicode
173
174L<Catalyst::Plugin::Unicode> provides a Unicode-aware Catalyst. On
175request, it decodes all params from UTF-8 octets into a sequence of
176logical characters. On response, it encodes the body into UTF-8 octets.
83b9e3a9 177
178=head2 Catalyst::Plugin::XMLRPC
179
35e6ab34 180L<Catalyst::Plugin::XMLRPC> plugin allows your Controller class to
181dispatch XMLRPC methods from its own class.
83b9e3a9 182
83b9e3a9 183=head1 COMPONENT MODULES
184
185=head2 Catalyst::Model::CDBI
186
35e6ab34 187L<Catalyst::Model::CDBI> is the C<Class::DBI> (CDBI) module class. It
4911f47a 188is built on top of C<Class::DBI::Loader>, which automates the
189definition of C<Class::DBI> sub-classes by scanning the underlying
190table schemas, setting up columns and primary keys.
83b9e3a9 191
386777dc 192=head2 Catalyst::Model::CDBI::Plain
193
194L<Catalyst::Model::CDBI::Plain> is a neutral interface to the
195C<Class::DBI> module, which does not attempt to automate table
196setup. It allows the user to manually set up C<Class::DBI>
197classes, either by doing so within the Catalyst model classes
198themselves, or by inheriting from existing C<Class::DBI>
199classes.
200
4427ee06 201=head2 Catalyst::Model::DBIC
83b9e3a9 202
4427ee06 203L<Catalyst::Model::DBIC> is a L<DBIx::Class> model class built on top of
204L<DBIx::Class::Loader>.
83b9e3a9 205
c42f5bbf 206=head2 Catalyst::Model::Plucene
4427ee06 207
208L<Catalyst::Model::Plucene> is a model class for the Plucene search engine.
209
210=head2 Catalyst::Model::Xapian
211
212L<Catalyst::Model::Xapian> is a model class for the Xapian search engine.
83b9e3a9 213
c42f5bbf 214=head2 Catalyst::View::HTML::Template
83b9e3a9 215
c42f5bbf 216L<Catalyst::View::HTML::Template> is a View component for
217displaying your stash with L<HTML::Template>.
218
4427ee06 219=head2 Catalyst::View::Mason
220
221L<Catalyst::View::Mason> is a View component for displaying your stash
222with L<HTML::Mason>.
223
c42f5bbf 224=head2 Catalyst::View::PSP
225
226L<Catalyst::View::PSP> is a View component for displaying your
227stash using PSP, a Perl extension implementing a JSP-like
228templating system; see L<Text::PSP>.
229
230=head2 Catalyst::View::Petal
4427ee06 231
c42f5bbf 232L<Catalyst::View::Petal> is a View component for displaying
233your stash using Petal, the Perl Template Attribute Language,
234an XML-based templating system; see L<Petal>.
83b9e3a9 235
c42f5bbf 236=head2 Catalyst::View::TT
237
4427ee06 238L<Catalyst::View::TT> is a Template Toolkit view. See L<Template::Manual>.
83b9e3a9 239
4427ee06 240=head1 AUTHORS
83b9e3a9 241
242Andrew Ford E<lt>A.Ford@ford-mason.co.ukE<gt>
4427ee06 243
4911f47a 244Marcus Ramberg E<lt>mramberg@cpan.orgE<gt>
4427ee06 245
c42f5bbf 246Jesse Sheidlower E<lt>jester@panix.comE<gt>
83b9e3a9 247
248=head1 COPYRIGHT
249
250This program is free software, you can redistribute it and/or modify it under
251the same terms as Perl itself.