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