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