Provided by: libcatalyst-manual-perl_5.9007-1_all bug

NAME

       Catalyst::Manual::Components - Reuseable components for Catalyst applications

DESCRIPTION

       This section lists the some of the components (and plugins) that are available to extend
       the runtime functionality of Catalyst. Most components 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, conversely, may now part of core Catalyst. Be sure to check the Catalyst::
       and CatalystX:: namespaces for additional components, 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.

PLUGINS

       Take care with plugins!  In general with a plugin ask "should this be acting globally on
       my application application?".  If not it should be a Controller Role (e.g. see
       Catalyst::TraitFor::Controller::reCAPTCHA.

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

   Catalyst::Plugin::Acme::Scramble
       Implements a demonstration showing how easily fluent speakers can read scrambled text if
       the first and last letters remain constant but the middle . Operates on text/plain and
       text/html served by your Catalyst application.  This should really be a controller role,
       or even a View these days.

   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.

       Note that newer versions of the authentication plugin allow multiple "realms", so that you
       can authenticate users in different ways in different parts of your application.

       This, however, has involved deprecated all classes in the
       "Catalyst::Plugin::Authentication::Credential::XXX" and
       "Catalyst::Plugin::Authentication::Store::XXX" namespaces.

       These plugins are still usable, but they have mostly been replaced with new modules in the
       new namespace which will work together.

       Available Credential modules:

       Catalyst::Authentication::Credential::AuthTkt

       Allows you to use the Apache::AuthTkt module with Catalyst.

       Catalyst::Authentication::Credential::FBConnect

       Allows you to authenticate Facebook users using the FBConnect API.

       Catalyst::Authentication::Credential::Flickr

       Provides authentication via Flickr, using its API.

       Catalyst::Authentication::Credential::HTTP

       Allows you to authenticate users using HTTP Basic or Digest authentication.

       Catalyst::Authentication::Credential::HTTP::Proxy

       Allows you to authenticate users against a remote web server offering HTTP authentication.

       Catalyst::Authentication::Credential::Kerberos

       Allows you to authenticate your users against a Kerberos server.

       Catalyst::Authentication::Credential::OAuth

       Allows you to authenticate users using their login on other websites supporting the OAuth
       protocol.

       Catalyst::Authentication::Credential::OpenID

       Allows you to authenticate users using their login on other websites supporting the OpenID
       protocol.

       Catalyst::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::Authentication::Credential::RPX

       Allows you to authenticate users using the RPX protocol.

       Catalyst::Authentication::Credential::Remote

       Allows you to authenticate users in Catalyst that have already been authenticated by your
       web server. This is useful for authenticating users with SSL Client certificates, and
       using NTLM or any other authentication protocol natively supported by your web server.

       Catalyst::Authentication::Credential::Testing

       Allows you to set the same password for all users, which is useful when you want to test
       logging in as multiple users or multiple types of user, without having to mock things, or
       set all users' passwords in your test suite.

       Catalyst::Authentication::Credential::Authen::Simple

       Allows any of the Authen::Simple family of modules to be used to authenticate users in
       Catalyst.

       Available Store modules:

       Catalyst::Authentication::Store::DBIx::Class

       Does authentication and authorization against a DBIx::Class model.

       Catalyst::Authentication::Store::Htpasswd

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

       Catalyst::Authentication::Store::AuthTkt

       This module implements the Catalyst::Authentication API for Apache::AuthTkt.

       Catalyst::Authentication::Store::DBI

       Allows you to use a plain DBI database connection to identify users.

       Catalyst::Authentication::Store::Htpasswd

       Allows you to use an Apache htpasswd type file to authenticate users.

       Catalyst::Authentication::Store::KiokuDB

       Authenticate users stored as objects in the KiokuDB object graph storage engine system.

       Catalyst::Authentication::Store::LDAP

       Authenticates users using an LDAP server.

       Catalyst::Authentication::Store::Minimal

       Lets you create a very quick and dirty user database in your application's config hash.
       Great for testing or getting up and running quickly.

       Catalyst::Authentication::Store::Null

       The Null store is a transparent store where any supplied user data is accepted.  This is
       mainly useful for remotely authenticating credentials (e.g. OpenID) which may not be tied
       to any local storage.

       Catalyst::Authentication::Store::RDBO

       Allows access to authentication information stored in a database via a Rose::DB::Object
       class.

       Catalyst::Authentication::Store::Tangram

       Allows access to authentication information stored in a database via a Tangram class.

       Catalyst::Authentication::Store::DBIx::Class

       Allows access to authentication information stored in a database via a DBIx::Class class.

       Catalyst::Authentication::Store::Jifty::DBI

       Allows access to authentication information stored in a database via a Jifty::DBI class.

       Catalyst::Authentication::User::Hash

       An easy authentication user object based on hashes.  See
       Catalyst::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::AutoSession enables specified request parameters to generate session
       variables.

   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
       Provides a cache method enabling easy access to a shared cache implementing the "Cache::"
       APO, such as:

       FastMmap
       FileCache
       BerkeleyDB
       Memcached
       CHI

   Catalyst::Plugin::CGI::Untaint
   Catalyst::Plugin::Charsets::Japanese
       Provides specific charset handlers for the Japanese charsets.

   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::General 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::Devel::InPageLogs
   Catalyst::Plugin::Devel::InPageLogs::Log
   Catalyst::Plugin::Dojo
   Catalyst::Plugin::Dumper
   Catalyst::Plugin::Email::Japanese
   Catalyst::Plugin::Email::Page
   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::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::I18N
       An internationalization plugin for Catalyst. Supports "mo"/"po" files and Maketext classes
       under your application's I18N namespace.

   Catalyst::Plugin::JSONRPC
   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
       Allows for easy redirecting with the Catalyst app.

   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 =>
       'foo')". Intended chiefly for development purposes.

   Catalyst::Plugin::Static::Simple
       Serves static files in your application without requiring a single line of code.

   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::Unicode::Encoding
       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
       Disrecommended plugin which tries to autodetect the uft8ness of the output and do the
       correct thing. This may work in some cases, but if it helps, you've already painted
       yourself into a corner - try to avoid!

   Catalyst::Plugin::Upload::Basename
   Catalyst::Plugin::Upload::MD5
       Computes the MD5 message digest of uploaded files.

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

CONTROLLERS

   Catalyst::Controller::HTML::FormFu
       Catalyst integration for <HTML::FormFu>.

MODELS

   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.

VIEWS

   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

Actions

   Catalyst::Action::RenderView
       Creates a sane, standard end method for your application.

OBSOLETE MODULES

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

   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.

AUTHORS

       Catalyst Contributors, see Catalyst.pm

COPYRIGHT

       This library is free software. You can redistribute it and/or modify it under the same
       terms as Perl itself.