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://wiki.catalystframework.org/wiki/Support> ) for advice on the
20 current 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 module
252 to automatically insert data from a previous HTML form into the HTML
253 input, textarea, radio buttons, checkboxes, and select tags.
254 HTML::FillInForm is a subclass of HTML::Parser and uses it to parse the
255 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 sub-
378 classes by scanning the underlying table schemas, setting up columns
379 and primary keys.
380
381 Catalyst::Model::CDBI::Plain
382 A neutral interface to the Class::DBI module which does not attempt to
383 automate table setup. It allows the user to manually set up Class::DBI
384 classes, either by doing so within the Catalyst model classes
385 themselves, or by inheriting from existing Class::DBI classes.
386
387 Catalyst::Model::DBIC::Schema
388 A DBIx::Class model class that can use either an explicit
389 DBIx::Class::Schema or one automatically loaded from your database via
390 DBIx::Class::Schema::Loader.
391
392 Catalyst::Model::EVDB
393 Catalyst::Model::File
394 Catalyst::Model::Gedcom
395 Catalyst::Model::LDAP
396 Catalyst::Model::NetBlogger
397 Catalyst::Model::Plucene
398 A model class for the Plucene search engine.
399
400 Catalyst::Model::Proxy
401 Catalyst::Model::SVN
402 Catalyst::Model::Xapian
403 A model class for the Xapian search engine.
404
406 Catalyst::View::Atom::XML
407 Catalyst::View::Chart::Strip
408 Catalyst::View::CSS::Squish
409 Catalyst::View::Embperl
410 Catalyst::View::GD::Barcode
411 Catalyst::View::GraphViz
412 Catalyst::View::HTML::Template
413 A view component for rendering pages with HTML::Template.
414
415 Catalyst::View::Jemplate
416 Catalyst::View::JSON
417 Catalyst::View::Mason
418 A view component for rendering pages with HTML::Mason.
419
420 Catalyst::View::MicroMason
421 Catalyst::View::PHP
422 Catalyst::View::PSP
423 A view component for rendering pages using PSP, a Perl extension
424 implementing a JSP-like templating system. See Text::PSP.
425
426 Catalyst::View::Petal
427 A view component for rendering pages using Petal, the Perl Template
428 Attribute Language, an XML-based templating system. See Petal.
429
430 Catalyst::View::TT
431 A view component for rendering pages with Template Toolkit. See
432 Template::Manual.
433
434 Catalyst::View::XSLT
435 Catalyst::View::vCard
437 Catalyst::Action::RenderView
438 Creates a sane, standard end method for your application.
439
441 Catalyst::Controller::BindLex
442 Lets you mark lexical variables with a "Stashed" attribute,
443 automatically passing them to the stash. Discouraged by the author.
444
445 Catalyst::Model::DBIC
446 Replaced by Catalyst::Model::DBIC::Schema.
447
448 Catalyst::Plugin::Authentication::Basic::Remote
449 Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.
450
451 Catalyst::Plugin::Authentication::CDBI
452 Replaced by Catalyst::Plugin::Authentication::Store::DBIC.
453
454 Catalyst::Plugin::Authentication::CDBI::Basic
455 Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.
456
457 Catalyst::Plugin::Authentication::LDAP
458 Replaced by Catalyst::Plugin::Authentication::Store::LDAP.
459
460 Catalyst::Plugin::Authentication::Simple
461 Replaced by Catalyst::Plugin::Authentication.
462
463 Catalyst::Plugin::Authorization::CDBI::GroupToken
464 Catalyst::Plugin::CDBI::Transaction
465 Catalyst::Plugin::Config::*
466 The Catalyst::Plugin::Config::JSON and Catalyst::Plugin::Config::YAML
467 modules have been replaced by their corresponding
468 Catalyst::Plugin::ConfigLoader modules.
469
470 Catalyst::Plugin::DefaultEnd
471 Replaced by Catalyst::Action::RenderView
472
473 Catalyst::Plugin::SanitizeUrl
474 Catalyst::Plugin::SanitizeUrl::PrepAction
475 Catalyst::Plugin::Session::*
476 The Catalyst::Plugin::Session::CGISession,
477 Catalyst::Plugin::Session::FastMmap, Catalyst::Plugin::Session::Flex,
478 and Catalyst::Plugin::Session::Manager modules have been replaced by
479 the <Catalyst::Plugin::Session> framework.
480
482 Catalyst Contributors, see Catalyst.pm
483
485 This library is free software. You can redistribute it and/or modify it
486 under the same terms as Perl itself.
487
488
489
490perl v5.32.1 2021-01-26 Catalyst::Manual::Components(3)