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 may well be outdated by the time you read this and some plugins may be deprecated or now part of core Catalyst. Be sure to check the Catalyst::Plugin namespace for additional plugins and consult the mailing list ( <http://dev.catalyst.perl.org/wiki/Support> ) for advice on the current status or preferred use of your chosen plugin/framework.

Catalyst::Plugin::Account::AutoDiscovery
Provides Account Auto-Discovery for Catalyst.

Catalyst::Plugin::Acme::Scramble
Implements a potent meme about how easily we can read scrambled text if the first and last letters remain constant. Operates on text/plain and text/html served by your Catalyst application.

Catalyst::Plugin::Alarm

Catalyst::Plugin::AtomPP
Allows you to dispatch AtomPP methods.

Catalyst::Plugin::AtomServer
A plugin that implements the necessary bits to make it easy to build an Atom API server for any Catalyst-based application.

Catalyst::Plugin::Authentication
An infrastructure plugin for the Catalyst authentication framework. Now the recommended way to do any form of Authentication.

Catalyst::Plugin::Authentication::Credential::Atom
Catalyst::Plugin::Authentication::Credential::Atom is a plugin which implements WSSE and Basic authentication for Catalyst applications using Catalyst::Plugin::AtomServer

Catalyst::Plugin::Authentication::Credential::CHAP

Catalyst::Plugin::Authentication::Credential::Flickr
Provides authentication via Flickr, using its API.

Catalyst::Plugin::Authentication::Credential::Hatena

Catalyst::Plugin::Authentication::Credential::HTTP
Implements HTTP Basic authentication for Catalyst.

Catalyst::Plugin::Authentication::Credential::JugemKey

Catalyst::Plugin::Authentication::Credential::PAM

Catalyst::Plugin::Authentication::Credential::Password
Takes a username (or userid) and a password, and tries various methods of comparing a password based on what the chosen store's user objects support. Part of the Authentication Framework Catalyst::Plugin::Authentication.

Catalyst::Plugin::Authentication::Credential::TypeKey
Integrates Authen::TypeKey with Catalyst::Plugin::Authentication.

Catalyst::Plugin::Authentication::OpenID
Catalyst::Plugin::Authentication::OpenID is a plugin that implements support for OpenID authentication. For more information on OpenID, take a look at <http://www.openid.net/>.

Catalyst::Plugin::Authentication::Store
The core authentication store documentation.

Catalyst::Plugin::Authentication::Store::DBIC
Does authentication and authorization against a DBIx::Class or Class::DBI model.

Catalyst::Plugin::Authentication::Store::Htpasswd
Uses Authen::Htpasswd to let your application use ".htpasswd" files for its authentication storage.

Catalyst::Plugin::Authentication::Store::HTTP

Catalyst::Plugin::Authentication::Store::LDAP
Authenticates users using an LDAP server.

Catalyst::Plugin::Authentication::Store::Minimal
Lets you create a very quick and dirty user database in your application's config hash. Great for getting up and running quickly.

Catalyst::Plugin::Authentication::User::Hash
An easy authentication user object based on hashes. See Catalyst::Plugin::Authentication::Store::Minimal for more info.

Catalyst::Plugin::Authorization::ACL
This module provides Access Control List style path protection, with arbitrary rules for Catalyst applications. It operates only on the Catalyst private namespace, at least at the moment.

Catalyst::Plugin::Authorization::Roles
Catalyst::Plugin::Authorization::Roles provides role based authorization for Catalyst based on Catalyst::Plugin::Authentication.

Catalyst::Plugin::AutoSession

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, BerkeleyDB, and Memcached
Catalyst::Plugin::Cache::FastMmap, Catalyst::Plugin::Cache::FileCache, Catalyst::Plugin::Cache::BerkeleyDB, and Catalyst::Plugin::Cache::Memcached all provide a cache method enabling easy access to a shared cache.

Catalyst::Plugin::Captcha

Catalyst::Plugin::CGI::Untaint

Catalyst::Plugin::Charsets::Japanese

Catalyst::Plugin::Compress::Bzip2

Catalyst::Plugin::Compress::Deflate

Catalyst::Plugin::Compress::Gzip

Catalyst::Plugin::Compress::Zlib

Catalyst::Plugin::ConfigLoader
Provides a standard method for loading config files. Support exists for various formats. See Catalyst::Plugin::ConfigLoader::INI, Catalyst::Plugin::ConfigLoader::JSON, Catalyst::Plugin::ConfigLoader::Perl, Catalyst::Plugin::ConfigLoader::XML, and Catalyst::Plugin::ConfigLoader::YAML

Catalyst::Plugin::ConfigurablePathTo

Catalyst::Plugin::Continuation

Catalyst::Plugin::DateTime

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

Catalyst::Plugin::Devel::InPageLogs

Catalyst::Plugin::Devel::InPageLogs::Log

Catalyst::Plugin::Dojo

Catalyst::Plugin::Dumper

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

Catalyst::Plugin::Email::Japanese

Catalyst::Plugin::Email::Page

Catalyst::Plugin::EmailValid

Catalyst::Plugin::FillInForm
A plugin based on "HTML::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. "HTML::FillInForm" is a subclass of "HTML::Parser" and uses it to parse the HTML and insert the values into the form tags.

Catalyst::Plugin::Flavour

Catalyst::Plugin::FormValidator
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::FormValidator::Simple

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::Geography::Implementation

Catalyst::Plugin::HashedCookies

Catalyst::Plugin::HTML::Scrubber

Catalyst::Plugin::HTML::Widget

Catalyst::Plugin::I18N
An internationalization plugin for Catalyst. Supports "mo"/"po" files and Maketext classes under your application's I18N namespace.

Catalyst::Plugin::JSONRPC

Catalyst::Plugin::Markdown

Catalyst::Plugin::Message

Catalyst::Plugin::MobileAgent

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::Params::Nested

Catalyst::Plugin::Params::Nested::Expander

Catalyst::Plugin::Pluggable
A plugin for pluggable Catalyst applications.

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

Catalyst::Plugin::Redirect

Catalyst::Plugin::RequestToken

Catalyst::Plugin::RequireSSL
Use this 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.

Catalyst::Plugin::Scheduler

Catalyst::Plugin::Session
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::PerUser

Catalyst::Plugin::Session::State

Catalyst::Plugin::Session::State::Cookie

Catalyst::Plugin::Session::State::URI

Catalyst::Plugin::Session::Store

Catalyst::Plugin::Session::Store::CDBI

Catalyst::Plugin::Session::Store::DBI

Catalyst::Plugin::Session::Store::DBIC

Catalyst::Plugin::Session::Store::Dummy

Catalyst::Plugin::Session::Store::FastMmap

Catalyst::Plugin::Session::Store::File

Catalyst::Plugin::Session::Store::Memcached

Catalyst::Plugin::Session::Test::Store

Catalyst::Plugin::Singleton

Catalyst::Plugin::Snippets

Catalyst::Plugin::SRU
Allows your controller class to dispatch SRU actions ("explain", "scan", and "searchRetrieve") from its own class.

Catalyst::Plugin::StackTrace

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

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::SubRequest
A plugin to allow subrequests to actions to be made within Catalyst. Nice for portal software and such.

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

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

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::Unicode::Encoding

Catalyst::Plugin::Upload::Basename

Catalyst::Plugin::Upload::MD5

Catalyst::Plugin::Upload::MIME

Catalyst::Plugin::UploadProgress

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

Catalyst::Controller::BindLex
Lets you mark lexical variables with a "Stashed" attribute, automatically passing them to the stash.

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

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

Catalyst::Model::DBIC::Schema
A DBIx::Class model class that can use either an explicit DBIx::Class::Schema or one automatically loaded from your database via DBIx::Class::Schema::Loader.

Catalyst::Model::EVDB

Catalyst::Model::File

Catalyst::Model::Gedcom

Catalyst::Model::LDAP

Catalyst::Model::NetBlogger

Catalyst::Model::Plucene
A model class for the Plucene search engine.

Catalyst::Model::Proxy

Catalyst::Model::SVN

Catalyst::Model::Xapian
A model class for the Xapian search engine.

Catalyst::View::Atom::XML

Catalyst::View::Chart::Strip

Catalyst::View::CSS::Squish

Catalyst::View::Embperl

Catalyst::View::GD::Barcode

Catalyst::View::GraphViz

Catalyst::View::HTML::Template
A view component for rendering pages with HTML::Template.

Catalyst::View::Jemplate

Catalyst::View::JSON

Catalyst::View::Mason
A view component for rendering pages with HTML::Mason.

Catalyst::View::MicroMason

Catalyst::View::PHP

Catalyst::View::PSP
A view component for rendering pages using PSP, a Perl extension implementing a JSP-like templating system. See Text::PSP.

Catalyst::View::Petal
A view component for rendering pages using Petal, the Perl Template Attribute Language, an XML-based templating system. See Petal.

Catalyst::View::TT
A view component for rendering pages with Template Toolkit. See Template::Manual.

Catalyst::View::XSLT

Catalyst::View::vCard

Catalyst::Model::DBIC
Replaced by Catalyst::Model::DBIC::Schema.

Catalyst::Plugin::Authentication::Basic::Remote
Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.

Catalyst::Plugin::Authentication::CDBI
Replaced by Catalyst::Plugin::Authentication::Store::DBIC.

Catalyst::Plugin::Authentication::CDBI::Basic
Replaced by Catalyst::Plugin::Authentication::Credential::HTTP.

Catalyst::Plugin::Authentication::LDAP
Replaced by Catalyst::Plugin::Authentication::Store::LDAP.

Catalyst::Plugin::Authentication::Simple
Replaced by Catalyst::Plugin::Authentication.

Catalyst::Plugin::Authorization::CDBI::GroupToken

Catalyst::Plugin::CDBI::Transaction

Catalyst::Plugin::Config::*
The Catalyst::Plugin::Config::JSON and Catalyst::Plugin::Config::YAML modules have been replaced by their corresponding Catalyst::Plugin::ConfigLoader modules.

Catalyst::Plugin::DefaultEnd
Replaced by Catalyst::Action::RenderView

Catalyst::Plugin::SanitizeUrl

Catalyst::Plugin::SanitizeUrl::PrepAction

Catalyst::Plugin::Session::*
The Catalyst::Plugin::Session::CGISession, Catalyst::Plugin::Session::FastMmap, Catalyst::Plugin::Session::Flex, and Catalyst::Plugin::Session::Manager modules have been replaced by the <Catalyst::Plugin::Session> framework. Andrew Ford <A.Ford@ford-mason.co.uk> Gavin Henry <ghenry@suretecsystems.com> Jesse Sheidlower <jester@panix.com> Marcus Ramberg <mramberg@cpan.org> David Kamholz <dkamholz@cpan.org> This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.