man Catalyst::Manual::Plugins () - Catalyst Plugins (and Components)


Catalyst::Manual::Plugins - Catalyst Plugins (and Components)


This section lists the some of the plugins and components that are available to extend the runtime functionality of Catalyst. Most plugins are not distributed with Catalyst but should be available from CPAN. They typically require additional modules from CPAN.

This list is almost certainly outdated by the time you read this, so be sure to check the Catalyst::Plugin namespace for additional plugins.



Catalyst::Plugin::Authentication::CDBI is a CDBI (CWClass::DBI) authentication plugin. Note that it requires a session plugin.


Catalyst::Plugin::Authentication::LDAP is a plugin allowing you to authenticate your web users using an LDAP server.


Catalyst::Plugin::Browser extends Catalyst::Request by adding the capability of browser detection. It returns an instance of HTTP::BrowserDetect, which lets you get information from the client's user agent.

Catalyst::Plugin::Cache::FastMmap, FileCache, and Memcached

Catalyst::Plugin::Cache::FastMmap, Catalyst::Plugin::Cache::FileCache, and Catalyst::Plugin::Cache::Memcached all provide a cache method enabling easy access to a shared cache.


Catalyst::Plugin::Compress::Zlib supplies Zlib compression for Catalyst.


Catalyst::Plugin::Compress::Bzip2 compresses a response using bzip compression.


Catalyst::Plugin::DefaultEnd creates a sane, standard end method for your application.


Catalyst::Plugin::Email sends email with Catalyst and Email::Send and Email::MIME::Creator.


Catalyst::Plugin::FillInForm is plugin for Catalyst based on CWHTML::FillInForm, which describes itself as a module to automatically insert data from a previous HTML form into the HTML input, textarea, radio buttons, checkboxes, and select tags. CWHTML::FillInForm is a subclass of CWHTML::Parser and uses it to parse the HTML and insert the values into the form tags.


Catalyst::Plugin::FormValidator is a form validator plugin that uses Data::FormValidator to validate and set up form data from your request parameters. It's a quite thin wrapper around that module, so most of the relevant information can be found there.


Catalyst::Plugin::Geography allows you to retrieve various kinds of geographical information. You can retrieve the country or code from the current user, from a given IP address, or from a given hostname.


Catalyst::Plugin::I18N is an internationalization plugin for Catalyst. Supports CWmo/CWpo files and Maketext classes under your application's I18N namespace.


Catalyst::Plugin::Observe provides the ability to register AOP-like callbacks to specific Engine events. Subclasses Class::Publisher.


Catalyst::Plugin::OrderedParams adjusts the way that parameters operate, causing them to appear in the same order they were submitted by the browser. This can be useful for creating things such as email forms.


Catalyst::Plugin::PageCache helps improve the performance of slow or frequently accessed pages by caching the entire output of your page. Subsequent requests to the page will receive the page very quickly from cache.


Catalyst::Plugin::Pluggable is a plugin for pluggable Catalyst applications.


Catalyst::Plugin::Prototype is a plugin for the Prototype JavaScript library. This Plugin allows you to easily implement AJAX functionality without actually knowing Javascript.


Use Catalyst::Plugin::RequireSSL if you would like to force visitors to access certain pages using only SSL mode. An attempt to access the page in non-SSL mode will receive a redirect into SSL mode. Useful for login pages, shopping carts, user registration forms, and other sensitive data.


The Catalyst::Plugin::Session series of modules provide an easy way to include session handling in an application. You can choose from several different backend storage methods and combine that with your choice of client-side storage methods.


Catalyst::Plugin::Session::FastMmap is a session plugin for Catalyst based on CWCache::FastMMap, which uses an mmap'ed file to act as a shared memory interprocess cache. This is an older session plugin; you may wish to look at Catalyst::Plugin::Session instead.


Catalyst::Plugin::SRU allows your controller class to dispatch SRU actions (CWexplain, CWscan, and CWsearchRetrieve) from its own class.


Catalyst::Plugin::Static::Simple serves static files in your application without requiring a single line of code. This plugin is now included in the core Catalyst distribution.


Catalyst::Plugin::Static is a plugin to serve static files from CW$c->config->{root}. Intended chiefly for development purposes.


Catalyst::Plugin::SubRequest is a plugin to allow subrequests to actions to be made within Catalyst. Nice for portal software and such.


Catalyst::Plugin::SuperForm is an interface to the HTML::SuperForm module, enabling easy HTML form creation.


Catalyst::Plugin::Textile is a persistent Textile processor for Catalyst that uses CWText::Textile, a Perl-based implementation of Dean Allen's Textile syntax. Textile is shorthand for doing common formatting tasks (see <>).


Catalyst::Plugin::Unicode provides a Unicode-aware Catalyst. On request, it decodes all params from UTF-8 octets into a sequence of logical characters. On response, it encodes the body into UTF-8 octets.


Catalyst::Plugin::XMLRPC plugin allows your Controller class to dispatch XMLRPC methods from its own class.



Catalyst::Model::CDBI is the CWClass::DBI (CDBI) module class. It is built on top of CWClass::DBI::Loader, which automates the definition of CWClass::DBI sub-classes by scanning the underlying table schemas, setting up columns and primary keys.


Catalyst::Model::CDBI::Plain is a neutral interface to the CWClass::DBI module, which does not attempt to automate table setup. It allows the user to manually set up CWClass::DBI classes, either by doing so within the Catalyst model classes themselves, or by inheriting from existing CWClass::DBI classes.


Catalyst::Model::DBIC is a DBIx::Class model class built on top of DBIx::Class::Loader.


Catalyst::Model::Plucene is a model class for the Plucene search engine.


Catalyst::Model::Xapian is a model class for the Xapian search engine.


Catalyst::View::HTML::Template is a View component for displaying your stash with HTML::Template.


Catalyst::View::Mason is a View component for displaying your stash with HTML::Mason.


Catalyst::View::PSP is a View component for displaying your stash using PSP, a Perl extension implementing a JSP-like templating system; see Text::PSP.


Catalyst::View::Petal is a View component for displaying your stash using Petal, the Perl Template Attribute Language, an XML-based templating system; see Petal.


Catalyst::View::TT is a Template Toolkit view. See Template::Manual.


Andrew Ford <>

Marcus Ramberg <>

Jesse Sheidlower <>


This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.