1Catalyst::Manual::CompoUnseenrtsC(o3n)tributed Perl DocuCmaetnatlaytsito:n:Manual::Components(3)
2
3
4
6 Catalyst::Manual::Components - Reuseable components for Catalyst
7 applications
8
10 This section lists the some of the components (and plugins) that are
11 available to extend the runtime functionality of Catalyst. Most
12 components are not distributed with Catalyst but should be available
13 from CPAN. They typically require additional modules from CPAN.
14
15 This list may well be outdated by the time you read this, and some
16 plugins may be deprecated, or, conversely, may now part of core
17 Catalyst. Be sure to check the Catalyst:: and CatalystX:: namespaces
18 for additional components, and consult the mailing list (
19 <http://dev.catalyst.perl.org/wiki/Support> ) for advice on the current
20 status or preferred use of your chosen plugin/framework.
21
23 Take care with plugins! In general with a plugin ask "should this be
24 acting globally on my application?". If not it should be a Controller
25 Role (e.g. see Catalyst::TraitFor::Controller::reCAPTCHA.
26
27 Catalyst::Plugin::Account::AutoDiscovery
28 Provides Account Auto-Discovery for Catalyst.
29
30 Catalyst::Plugin::Acme::Scramble
31 Implements a demonstration showing how easily fluent speakers can read
32 scrambled text if the first and last letters remain constant but the
33 middle . Operates on text/plain and text/html served by your Catalyst
34 application. This should really be a controller role, or even a View
35 these days.
36
37 Catalyst::Plugin::Alarm
38 Catalyst::Plugin::AtomPP
39 Allows you to dispatch AtomPP methods.
40
41 Catalyst::Plugin::AtomServer
42 A plugin that implements the necessary bits to make it easy to build an
43 Atom API server for any Catalyst-based application.
44
45 Catalyst::Plugin::Authentication
46 An infrastructure plugin for the Catalyst authentication framework. Now
47 the recommended way to do any form of Authentication.
48
49 Note that newer versions of the authentication plugin allow multiple
50 "realms", so that you can authenticate users in different ways in
51 different parts of your application.
52
53 This, however, has involved deprecating all classes in the
54 "Catalyst::Plugin::Authentication::Credential::" and
55 "Catalyst::Plugin::Authentication::Store::" namespaces.
56
57 These plugins are still usable, but they have mostly been replaced with
58 new modules in the new namespace which will work together.
59
60 Available Credential modules:
61
62 Catalyst::Authentication::Credential::AuthTkt
63
64 Allows you to use the Apache::AuthTkt module with Catalyst.
65
66 Catalyst::Authentication::Credential::FBConnect
67
68 Allows you to authenticate Facebook users using the FBConnect API.
69
70 Catalyst::Authentication::Credential::Flickr
71
72 Provides authentication via Flickr, using its API.
73
74 Catalyst::Authentication::Credential::HTTP
75
76 Allows you to authenticate users using HTTP Basic or Digest
77 authentication.
78
79 Catalyst::Authentication::Credential::HTTP::Proxy
80
81 Allows you to authenticate users against a remote web server offering
82 HTTP authentication.
83
84 Catalyst::Authentication::Credential::Kerberos
85
86 Allows you to authenticate your users against a Kerberos server.
87
88 Catalyst::Authentication::Credential::OAuth
89
90 Allows you to authenticate users using their login on other websites
91 supporting the OAuth protocol.
92
93 Catalyst::Authentication::Credential::OpenID
94
95 Allows you to authenticate users using their login on other websites
96 supporting the OpenID protocol.
97
98 Catalyst::Authentication::Credential::Password
99
100 Takes a username (or userid) and a password, and tries various methods
101 of comparing a password based on what the chosen store's user objects
102 support. Part of the Authentication Framework
103 Catalyst::Plugin::Authentication.
104
105 Catalyst::Authentication::Credential::RPX
106
107 Allows you to authenticate users using the RPX protocol.
108
109 Catalyst::Authentication::Credential::Remote
110
111 Allows you to authenticate users in Catalyst that have already been
112 authenticated by your web server. This is useful for authenticating
113 users with SSL Client certificates, and using NTLM or any other
114 authentication protocol natively supported by your web server.
115
116 Catalyst::Authentication::Credential::Testing
117
118 Allows you to set the same password for all users, which is useful when
119 you want to test logging in as multiple users or multiple types of
120 user, without having to mock things, or set all users' passwords in
121 your test suite.
122
123 Catalyst::Authentication::Credential::Authen::Simple
124
125 Allows any of the Authen::Simple family of modules to be used to
126 authenticate users in Catalyst.
127
128 Available Store modules:
129
130 Catalyst::Authentication::Store::DBIx::Class
131
132 Does authentication and authorization against a DBIx::Class model.
133
134 Catalyst::Authentication::Store::Htpasswd
135
136 Uses Authen::Htpasswd to let your application use ".htpasswd" files for
137 its authentication storage.
138
139 Catalyst::Authentication::Store::AuthTkt
140
141 This module implements the Catalyst::Authentication API for
142 Apache::AuthTkt.
143
144 Catalyst::Authentication::Store::DBI
145
146 Allows you to use a plain DBI database connection to identify users.
147
148 Catalyst::Authentication::Store::Htpasswd
149
150 Allows you to use an Apache htpasswd type file to authenticate users.
151
152 Catalyst::Authentication::Store::KiokuDB
153
154 Authenticate users stored as objects in the KiokuDB object graph
155 storage engine system.
156
157 Catalyst::Authentication::Store::LDAP
158
159 Authenticates users using an LDAP server.
160
161 Catalyst::Authentication::Store::Minimal
162
163 Lets you create a very quick and dirty user database in your
164 application's config hash. Great for testing or getting up and running
165 quickly.
166
167 Catalyst::Authentication::Store::Null
168
169 The Null store is a transparent store where any supplied user data is
170 accepted. This is mainly useful for remotely authenticating
171 credentials (e.g. OpenID) which may not be tied to any local storage.
172
173 Catalyst::Authentication::Store::RDBO
174
175 Allows access to authentication information stored in a database via a
176 Rose::DB::Object class.
177
178 Catalyst::Authentication::Store::Tangram
179
180 Allows access to authentication information stored in a database via a
181 Tangram class.
182
183 Catalyst::Authentication::Store::DBIx::Class
184
185 Allows access to authentication information stored in a database via a
186 DBIx::Class class.
187
188 Catalyst::Authentication::Store::Jifty::DBI
189
190 Allows access to authentication information stored in a database via a
191 Jifty::DBI class.
192
193 Catalyst::Authentication::User::Hash
194
195 An easy authentication user object based on hashes. See
196 Catalyst::Authentication::Store::Minimal for more info.
197
198 Catalyst::Plugin::Authorization::ACL
199 This module provides Access Control List style path protection, with
200 arbitrary rules for Catalyst applications. It operates only on the
201 Catalyst private namespace, at least at the moment.
202
203 Catalyst::Plugin::Authorization::Roles
204 Catalyst::Plugin::Authorization::Roles provides role-based
205 authorization for Catalyst based on Catalyst::Plugin::Authentication.
206
207 Catalyst::Plugin::AutoSession
208 Catalyst::Plugin::AutoSession enables specified request parameters to
209 generate session variables.
210
211 Catalyst::Plugin::Browser
212 Extends Catalyst::Request by adding the capability of browser
213 detection. It returns an instance of HTTP::BrowserDetect, which lets
214 you get information from the client's user agent.
215
216 Catalyst::Plugin::Cache
217 Provides a cache method enabling easy access to a shared cache
218 implementing the "Cache::" APO, such as:
219
220 FastMmap
221 FileCache
222 BerkeleyDB
223 Memcached
224 CHI
225
226 Catalyst::Plugin::CGI::Untaint
227 Catalyst::Plugin::Charsets::Japanese
228 Provides specific charset handlers for the Japanese charsets.
229
230 Catalyst::Plugin::Compress::Bzip2
231 Catalyst::Plugin::Compress::Deflate
232 Catalyst::Plugin::Compress::Gzip
233 Catalyst::Plugin::Compress::Zlib
234 Catalyst::Plugin::ConfigLoader
235 Provides a standard method for loading config files. Support exists for
236 various formats. See Catalyst::Plugin::ConfigLoader::General
237 Catalyst::Plugin::ConfigLoader::INI,
238 Catalyst::Plugin::ConfigLoader::JSON,
239 Catalyst::Plugin::ConfigLoader::Perl,
240 Catalyst::Plugin::ConfigLoader::XML, and
241 Catalyst::Plugin::ConfigLoader::YAML
242
243 Catalyst::Plugin::ConfigurablePathTo
244 Catalyst::Plugin::Devel::InPageLogs
245 Catalyst::Plugin::Devel::InPageLogs::Log
246 Catalyst::Plugin::Dojo
247 Catalyst::Plugin::Dumper
248 Catalyst::Plugin::Email::Japanese
249 Catalyst::Plugin::Email::Page
250 Catalyst::Plugin::FillInForm
251 A plugin based on "HTML::FillInForm", which describes itself as a
252 module to automatically insert data from a previous HTML form into the
253 HTML input, textarea, radio buttons, checkboxes, and select tags.
254 "HTML::FillInForm" is a subclass of "HTML::Parser" and uses it to parse
255 the HTML and insert the values into the form tags.
256
257 Catalyst::Plugin::Flavour
258 Catalyst::Plugin::Geography
259 Allows you to retrieve various kinds of geographical information. You
260 can retrieve the country or code from the current user, from a given IP
261 address, or from a given hostname.
262
263 Catalyst::Plugin::Geography::Implementation
264 Catalyst::Plugin::HashedCookies
265 Catalyst::Plugin::HTML::Scrubber
266 Catalyst::Plugin::I18N
267 An internationalization plugin for Catalyst. Supports "mo"/"po" files
268 and Maketext classes under your application's I18N namespace.
269
270 Catalyst::Plugin::JSONRPC
271 Catalyst::Plugin::Message
272 Catalyst::Plugin::MobileAgent
273 Catalyst::Plugin::Observe
274 Provides the ability to register AOP-like callbacks to specific Engine
275 events. Subclasses Class::Publisher.
276
277 Catalyst::Plugin::OrderedParams
278 Adjusts the way that parameters operate, causing them to appear in the
279 same order they were submitted by the browser. This can be useful for
280 creating things such as email forms.
281
282 Catalyst::Plugin::PageCache
283 Helps improve the performance of slow or frequently accessed pages by
284 caching the entire output of your page. Subsequent requests to the page
285 will receive the page very quickly from cache.
286
287 Catalyst::Plugin::Params::Nested
288 Catalyst::Plugin::Params::Nested::Expander
289 Catalyst::Plugin::Pluggable
290 A plugin for pluggable Catalyst applications.
291
292 Catalyst::Plugin::Prototype
293 A plugin for the Prototype JavaScript library. This plugin allows you
294 to easily implement AJAX functionality without actually knowing
295 Javascript.
296
297 Catalyst::Plugin::Redirect
298 Allows for easy redirecting with the Catalyst app.
299
300 Catalyst::Plugin::RequestToken
301 Catalyst::Plugin::RequireSSL
302 Use this if you would like to force visitors to access certain pages
303 using only SSL mode. An attempt to access the page in non-SSL mode will
304 receive a redirect into SSL mode. Useful for login pages, shopping
305 carts, user registration forms, and other sensitive data.
306
307 Catalyst::Plugin::Scheduler
308 Catalyst::Plugin::Session
309 The Catalyst::Plugin::Session series of modules provide an easy way to
310 include session handling in an application. You can choose from several
311 different backend storage methods and combine that with your choice of
312 client-side storage methods.
313
314 Catalyst::Plugin::Session::PerUser
315 Catalyst::Plugin::Session::State
316 Catalyst::Plugin::Session::State::Cookie
317 Catalyst::Plugin::Session::State::URI
318 Catalyst::Plugin::Session::Store
319 Catalyst::Plugin::Session::Store::CDBI
320 Catalyst::Plugin::Session::Store::DBI
321 Catalyst::Plugin::Session::Store::DBIC
322 Catalyst::Plugin::Session::Store::Dummy
323 Catalyst::Plugin::Session::Store::FastMmap
324 Catalyst::Plugin::Session::Store::File
325 Catalyst::Plugin::Session::Store::Memcached
326 Catalyst::Plugin::Session::Test::Store
327 Catalyst::Plugin::Singleton
328 Catalyst::Plugin::Snippets
329 Catalyst::Plugin::SRU
330 Allows your controller class to dispatch SRU actions ("explain",
331 "scan", and "searchRetrieve") from its own class.
332
333 Catalyst::Plugin::StackTrace
334 Catalyst::Plugin::Static
335 Catalyst::Plugin::Static is a plugin to serve static files from
336 "$c->config(root => 'foo')". Intended chiefly for development purposes.
337
338 Catalyst::Plugin::Static::Simple
339 Serves static files in your application without requiring a single line
340 of code.
341
342 Catalyst::Plugin::SubRequest
343 A plugin to allow subrequests to actions to be made within Catalyst.
344 Nice for portal software and such.
345
346 Catalyst::Plugin::SuperForm
347 An interface to the HTML::SuperForm module, enabling easy HTML form
348 creation.
349
350 Catalyst::Plugin::Unicode::Encoding
351 Provides a Unicode-aware Catalyst. On request, it decodes all params
352 from UTF-8 octets into a sequence of logical characters. On response,
353 it encodes the body into UTF-8 octets.
354
355 Catalyst::Plugin::Unicode
356 Disrecommended plugin which tries to autodetect the uft8ness of the
357 output and do the correct thing. This may work in some cases, but if it
358 helps, you've already painted yourself into a corner - try to avoid!
359
360 Catalyst::Plugin::Upload::Basename
361 Catalyst::Plugin::Upload::MD5
362 Computes the MD5 message digest of uploaded files.
363
364 Catalyst::Plugin::Upload::MIME
365 Catalyst::Plugin::UploadProgress
366 Catalyst::Plugin::XMLRPC
367 Allows your Controller class to dispatch XMLRPC methods from its own
368 class.
369
371 Catalyst::Controller::HTML::FormFu
372 Catalyst integration for <HTML::FormFu>.
373
375 Catalyst::Model::CDBI
376 The "Class::DBI" (CDBI) model class. It is built on top of
377 "Class::DBI::Loader", which automates the definition of "Class::DBI"
378 sub-classes by scanning the underlying table schemas, setting up
379 columns and primary keys.
380
381 Catalyst::Model::CDBI::Plain
382 A neutral interface to the "Class::DBI" module which does not attempt
383 to automate table setup. It allows the user to manually set up
384 "Class::DBI" classes, either by doing so within the Catalyst model
385 classes themselves, or by inheriting from existing "Class::DBI"
386 classes.
387
388 Catalyst::Model::DBIC::Schema
389 A DBIx::Class model class that can use either an explicit
390 DBIx::Class::Schema or one automatically loaded from your database via
391 DBIx::Class::Schema::Loader.
392
393 Catalyst::Model::EVDB
394 Catalyst::Model::File
395 Catalyst::Model::Gedcom
396 Catalyst::Model::LDAP
397 Catalyst::Model::NetBlogger
398 Catalyst::Model::Plucene
399 A model class for the Plucene search engine.
400
401 Catalyst::Model::Proxy
402 Catalyst::Model::SVN
403 Catalyst::Model::Xapian
404 A model class for the Xapian search engine.
405
407 Catalyst::View::Atom::XML
408 Catalyst::View::Chart::Strip
409 Catalyst::View::CSS::Squish
410 Catalyst::View::Embperl
411 Catalyst::View::GD::Barcode
412 Catalyst::View::GraphViz
413 Catalyst::View::HTML::Template
414 A view component for rendering pages with HTML::Template.
415
416 Catalyst::View::Jemplate
417 Catalyst::View::JSON
418 Catalyst::View::Mason
419 A view component for rendering pages with HTML::Mason.
420
421 Catalyst::View::MicroMason
422 Catalyst::View::PHP
423 Catalyst::View::PSP
424 A view component for rendering pages using PSP, a Perl extension
425 implementing a JSP-like templating system. See Text::PSP.
426
427 Catalyst::View::Petal
428 A view component for rendering pages using Petal, the Perl Template
429 Attribute Language, an XML-based templating system. See Petal.
430
431 Catalyst::View::TT
432 A view component for rendering pages with Template Toolkit. See
433 Template::Manual.
434
435 Catalyst::View::XSLT
436 Catalyst::View::vCard
438 Catalyst::Action::RenderView
439 Creates a sane, standard end method for your application.
440
442 Catalyst::Controller::BindLex
443 Lets you mark lexical variables with a "Stashed" attribute,
444 automatically passing them to the stash. Discouraged by the author.
445
446 Catalyst::Model::DBIC
447 Replaced by Catalyst::Model::DBIC::Schema.
448
449 Catalyst::Plugin::Authentication::Basic::Remote
450 Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.
451
452 Catalyst::Plugin::Authentication::CDBI
453 Replaced by Catalyst::Plugin::Authentication::Store::DBIC.
454
455 Catalyst::Plugin::Authentication::CDBI::Basic
456 Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.
457
458 Catalyst::Plugin::Authentication::LDAP
459 Replaced by Catalyst::Plugin::Authentication::Store::LDAP.
460
461 Catalyst::Plugin::Authentication::Simple
462 Replaced by Catalyst::Plugin::Authentication.
463
464 Catalyst::Plugin::Authorization::CDBI::GroupToken
465 Catalyst::Plugin::CDBI::Transaction
466 Catalyst::Plugin::Config::*
467 The Catalyst::Plugin::Config::JSON and Catalyst::Plugin::Config::YAML
468 modules have been replaced by their corresponding
469 Catalyst::Plugin::ConfigLoader modules.
470
471 Catalyst::Plugin::DefaultEnd
472 Replaced by Catalyst::Action::RenderView
473
474 Catalyst::Plugin::SanitizeUrl
475 Catalyst::Plugin::SanitizeUrl::PrepAction
476 Catalyst::Plugin::Session::*
477 The Catalyst::Plugin::Session::CGISession,
478 Catalyst::Plugin::Session::FastMmap, Catalyst::Plugin::Session::Flex,
479 and Catalyst::Plugin::Session::Manager modules have been replaced by
480 the <Catalyst::Plugin::Session> framework.
481
483 Catalyst Contributors, see Catalyst.pm
484
486 This library is free software. You can redistribute it and/or modify it
487 under the same terms as Perl itself.
488
489
490
491perl v5.28.0 2014-12-13 Catalyst::Manual::Components(3)