Mention Catalyst::Plugin::Session in Catalyst::Manual::Plugins
[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
62d40b4c 76=head2 Catalyst::Plugin::Observe
77
78L<Catalyst::Plugin::Observe> provides the ability to register AOP-like
79callbacks to specific Engine events. Subclasses L<Class::Publisher>.
80
c74caf1d 81=head2 Catalyst::Plugin::PageCache
82
83L<Catalyst::Plugin::PageCache> helps improve the performance of slow or
84frequently accessed pages by caching the entire output of your page.
85Subsequent requests to the page will receive the page very quickly from
86cache. Note: At the moment it should be regarded as I<highly
87experimental>.
88
83b9e3a9 89=head2 Catalyst::Plugin::Pluggable
90
35e6ab34 91L<Catalyst::Plugin::Pluggable> is a plugin for pluggable Catalyst
92applications.
83b9e3a9 93
94=head2 Catalyst::Plugin::Prototype
95
35e6ab34 96L<Catalyst::Plugin::Prototype> is a plugin for the Prototype JavaScript
97library. This Plugin allows you to easily implement AJAX functionality
98without actually knowing Javascript.
83b9e3a9 99
c74caf1d 100=head2 Catalyst::Plugin::RequireSSL
101
102Use L<Catalyst::Plugin::RequireSSL> if you would like to force visitors
103to access certain pages using only SSL mode. An attempt to access the
104page in non-SSL mode will receive a redirect into SSL mode. Useful for
105shopping carts, user registration forms, and other sensitive data.
106
83b9e3a9 107=head2 Catalyst::Plugin::Session::FastMmap
108
35e6ab34 109L<Catalyst::Plugin::Session::FastMmap> is a session plugin for Catalyst
110based on C<Cache::FastMMap>, which uses an mmap'ed file to act as a
111shared memory interprocess cache.
83b9e3a9 112
e8af4edb 113=head2 Catalyst::Plugin::Session
114
83b9e3a9 115
116=head2 Catalyst::Plugin::Static
117
c74caf1d 118L<Catalyst::Plugin::Static> is a plugin to serve static files from
119C<$c-E<gt>config-E<gt>{root}>. Intended chiefly for development
120purposes.
83b9e3a9 121
122
665dadd4 123=head2 Catalyst::Plugin::SubRequest
124
35e6ab34 125L<Catalyst::Plugin::SubRequest> is a plugin to allow subrequests to
126actions to be made within Catalyst. Nice for portal software and such.
665dadd4 127
83b9e3a9 128=head2 Catalyst::Plugin::Textile
129
35e6ab34 130L<Catalyst::Plugin::Textile> is a persistent Textile processor for
131Catalyst that uses C<Text::Textile>, a Perl-based implementation of Dean
132Allen's Textile syntax. Textile is shorthand for doing common formatting
133tasks (see L<http://textism.com>).
83b9e3a9 134
c42f5bbf 135=head2 Catalyst::Plugin::Unicode
136
137L<Catalyst::Plugin::Unicode> provides a Unicode-aware Catalyst. On
138request, it decodes all params from UTF-8 octets into a sequence of
139logical characters. On response, it encodes the body into UTF-8 octets.
83b9e3a9 140
141=head2 Catalyst::Plugin::XMLRPC
142
35e6ab34 143L<Catalyst::Plugin::XMLRPC> plugin allows your Controller class to
144dispatch XMLRPC methods from its own class.
83b9e3a9 145
146
147=head1 COMPONENT MODULES
148
149=head2 Catalyst::Model::CDBI
150
35e6ab34 151L<Catalyst::Model::CDBI> is the C<Class::DBI> (CDBI) module class. It
4911f47a 152is built on top of C<Class::DBI::Loader>, which automates the
153definition of C<Class::DBI> sub-classes by scanning the underlying
154table schemas, setting up columns and primary keys.
83b9e3a9 155
386777dc 156=head2 Catalyst::Model::CDBI::Plain
157
158L<Catalyst::Model::CDBI::Plain> is a neutral interface to the
159C<Class::DBI> module, which does not attempt to automate table
160setup. It allows the user to manually set up C<Class::DBI>
161classes, either by doing so within the Catalyst model classes
162themselves, or by inheriting from existing C<Class::DBI>
163classes.
164
83b9e3a9 165=head2 Catalyst::Model::CDBI::CRUD
166
35e6ab34 167L<Catalyst::Model::CDBI::CRUD> is a subclass of
c42f5bbf 168C<Catalyst::Model::CDBI> with additional CRUD (create, retrieve,
abea2aaa 169update, delete) methods.
83b9e3a9 170
c42f5bbf 171=head2 Catalyst::Model::Plucene
172L<Catalyst::Model::Plucene> is the model class for the Plucene
173search engine.
83b9e3a9 174
c42f5bbf 175=head2 Catalyst::View::HTML::Template
83b9e3a9 176
c42f5bbf 177L<Catalyst::View::HTML::Template> is a View component for
178displaying your stash with L<HTML::Template>.
179
180=head2 Catalyst::View::PSP
181
182L<Catalyst::View::PSP> is a View component for displaying your
183stash using PSP, a Perl extension implementing a JSP-like
184templating system; see L<Text::PSP>.
185
186=head2 Catalyst::View::Petal
187L<Catalyst::View::Petal> is a View component for displaying
188your stash using Petal, the Perl Template Attribute Language,
189an XML-based templating system; see L<Petal>.
83b9e3a9 190
abea2aaa 191=head2 Catalyst::View::Mason
192
c42f5bbf 193L<Catalyst::View::Mason> is a View component for displaying your stash
194with L<HTML::Mason>.
195
196=head2 Catalyst::View::TT
197
198L<Catalyst::View::TT> is a Template Toolkit view. See
199L<Template::Manual>.
83b9e3a9 200
201=head1 AUTHOR
202
203Andrew Ford E<lt>A.Ford@ford-mason.co.ukE<gt>
4911f47a 204Marcus Ramberg E<lt>mramberg@cpan.orgE<gt>
c42f5bbf 205Jesse Sheidlower E<lt>jester@panix.comE<gt>
83b9e3a9 206
207=head1 COPYRIGHT
208
209This program is free software, you can redistribute it and/or modify it under
210the same terms as Perl itself.