Plugin.pod formatting
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Plugins.pod
index 037fa0c..16da1ef 100644 (file)
@@ -4,112 +4,251 @@ Catalyst::Manual::Plugins - Catalyst Plugins (and Components)
 
 =head1 DESCRIPTION
 
-This section lists the some of the plugins and components that are 
-available to extend the runtime functionality of the Catalyst. The 
-plugins are not distributed with Catalyst but should be available from 
-CPAN.  They mostly required additional modules from CPAN.
+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.
 
 =head1 PLUGINS
 
 =head2 Catalyst::Plugin::Authentication::CDBI
 
-This is a CDBI (C<Class::DBI>) authentication plugin.  Note that it 
-requires a session plugin.
+L<Catalyst::Plugin::Authentication::CDBI> is a CDBI (C<Class::DBI>)
+authentication plugin.  Note that it requires a session plugin.
+
+=head2 Catalyst::Plugin::Authentication::LDAP
+
+L<Catalyst::Plugin::Authentication::LDAP> is a plugin allowing you 
+to authenticate your web users using an LDAP server. 
+
+=head2 Catalyst::Plugin::Browser
+
+L<Catalyst::Plugin::Browser> extends L<Catalyst::Request> by adding the
+capability of browser detection. It returns an instance of
+L<HTTP::BrowserDetect>, which lets you get information from the client's
+user agent.
+
+=head2 Catalyst::Plugin::Cache::FastMmap, FileCache, and Memcached
+
+L<Catalyst::Plugin::Cache::FastMmap>,
+L<Catalyst::Plugin::Cache::FileCache>, and
+L<Catalyst::Plugin::Cache::Memcached> all provide a cache method
+enabling easy access to a shared cache.
+
+=head2 Catalyst::Plugin::Compress::Zlib
+
+L<Catalyst::Plugin::Compress::Zlib> supplies Zlib compression for
+Catalyst.
+
+=head2 Catalyst::Plugin::Compress::Bzip2
+
+L<Catalyst::Plugin::Compress::Bzip2> compresses a response using
+bzip compression.
+
+=head2 Catalyst::Plugin::DefaultEnd
+
+L<Catalyst::Plugin::DefaultEnd> creates a sane, standard end method for
+your application.
 
 =head2 Catalyst::Plugin::Email
 
-Send emails with Catalyst and L<Email::Send> and 
-L<Email::MIME::Creator>.
+L<Catalyst::Plugin::Email> sends email with Catalyst and L<Email::Send>
+and L<Email::MIME::Creator>.
 
 =head2 Catalyst::Plugin::FillInForm
 
-Fill-in form plugin for Catalyst based on C<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.
-C<HTML::FillInForm> is a subclass of C<HTML::Parser> and uses it to 
-parse the HTML and insert the values into the form tags.
+L<Catalyst::Plugin::FillInForm> is plugin for Catalyst based on
+C<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.  C<HTML::FillInForm> is a
+subclass of C<HTML::Parser> and uses it to parse the HTML and insert the
+values into the form tags.
 
 =head2 Catalyst::Plugin::FormValidator
 
-A form validator plugin that uses L<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.
+L<Catalyst::Plugin::FormValidator> is a form validator plugin that uses
+L<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.
+
+=head2 Catalyst::Plugin::Geography
 
+L<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.
 
 =head2 Catalyst::Plugin::I18N
 
-An internationalization plugin for Catalyst.  Supports C<mo>/C<po> 
-files and Maketext classes under your applications I18N namespace.
+L<Catalyst::Plugin::I18N> is an internationalization plugin for
+Catalyst.  Supports C<mo>/C<po> files and Maketext classes under your
+application's I18N namespace.
+
+=head2 Catalyst::Plugin::Observe
+
+L<Catalyst::Plugin::Observe> provides the ability to register AOP-like
+callbacks to specific Engine events. Subclasses L<Class::Publisher>.
+
+=head2 Catalyst::Plugin::OrderedParams
+
+L<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.
 
+=head2 Catalyst::Plugin::PageCache
+
+L<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.
 
 =head2 Catalyst::Plugin::Pluggable
 
-A plugin for pluggable Catalyst applications.
+L<Catalyst::Plugin::Pluggable> is a plugin for pluggable Catalyst
+applications.
 
 =head2 Catalyst::Plugin::Prototype
 
-Plugin for the Prototype JavaScript library. This Plugin allows you
-to easily implement AJAX functionality without actually knowing
-Javascript.
+L<Catalyst::Plugin::Prototype> is a plugin for the Prototype JavaScript
+library. This Plugin allows you to easily implement AJAX functionality
+without actually knowing Javascript.
+
+=head2 Catalyst::Plugin::RequireSSL
+
+Use L<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.
+
+=head2 Catalyst::Plugin::Session
+
+The L<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.
 
 =head2 Catalyst::Plugin::Session::FastMmap
 
-A session plugin for Catalyst based on C<Cache::FastMMap>, which uses 
-an mmap'ed file to act as a shared memory interprocess cache.
+L<Catalyst::Plugin::Session::FastMmap> is a session plugin for Catalyst
+based on C<Cache::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 L<Catalyst::Plugin::Session> instead.
 
+=head2 Catalyst::Plugin::SRU
 
-=head2 Catalyst::Plugin::Static
+L<Catalyst::Plugin::SRU> allows your controller class to dispatch SRU
+actions (C<explain>, C<scan>, and C<searchRetrieve>) from its own class.
+
+=head2 Catalyst::Plugin::Static::Simple
+
+L<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.
 
-A plugin to serve static files from C<< $c->config->{root} 
->>/<< action >>/.
+=head2 Catalyst::Plugin::Static
 
+L<Catalyst::Plugin::Static> is a plugin to serve static files from
+C<$c-E<gt>config-E<gt>{root}>. Intended chiefly for development
+purposes.
 
 =head2 Catalyst::Plugin::SubRequest
 
-Plugin to allow subrequests to actions to be made within Catalyst.
-Nice for portal software and such.
+L<Catalyst::Plugin::SubRequest> is a plugin to allow subrequests to
+actions to be made within Catalyst. Nice for portal software and such.
+
+=head2 Catalyst::Plugin::SuperForm
 
+L<Catalyst::Plugin::SuperForm> is an interface to the L<HTML::SuperForm>
+module, enabling easy HTML form creation.
 
 =head2 Catalyst::Plugin::Textile
 
-A persistent Textile processor for Catalyst that uses C<Text::Textile>,
-a Perl-based implementation of Dean Allen's Textile syntax. Textile is
-shorthand for doing common formatting tasks (see L<http://textism.com>).
+L<Catalyst::Plugin::Textile> is a persistent Textile processor for
+Catalyst that uses C<Text::Textile>, a Perl-based implementation of Dean
+Allen's Textile syntax. Textile is shorthand for doing common formatting
+tasks (see L<http://textism.com>).
 
+=head2 Catalyst::Plugin::Unicode
 
-=head2 Catalyst::Plugin::XMLRPC
+L<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.
 
-This plugin allows your controller class to dispatch XMLRPC methods
-from its own class.
+=head2 Catalyst::Plugin::XMLRPC
 
+L<Catalyst::Plugin::XMLRPC> plugin allows your Controller class to
+dispatch XMLRPC methods from its own class.
 
 =head1 COMPONENT MODULES
 
 =head2 Catalyst::Model::CDBI
 
-C<Catalyst::Model::CDBI> is the C<Class::DBI> (CDBI) moduel class.  It 
+L<Catalyst::Model::CDBI> is the C<Class::DBI> (CDBI) module class.  It 
 is built on top of C<Class::DBI::Loader>, which automates the 
 definition of C<Class::DBI> sub-classes by scanning the underlying 
 table schemas, setting up columns and primary keys.
 
-=head2 Catalyst::Model::CDBI::CRUD
+=head2 Catalyst::Model::CDBI::Plain
 
-C<Catalyst::Model::CDBI::CRUD> is a subclass of C<Catalyst::Model::CDBI> with
-additional CRUD (create, replace, update, delete) methods.
+L<Catalyst::Model::CDBI::Plain> is a neutral interface to the
+C<Class::DBI> module, which does not attempt to automate table
+setup. It allows the user to manually set up C<Class::DBI>
+classes, either by doing so within the Catalyst model classes
+themselves, or by inheriting from existing C<Class::DBI>
+classes.
 
+=head2 Catalyst::Model::DBIC
 
-=head2 Catalyst::View::TT
+L<Catalyst::Model::DBIC> is a L<DBIx::Class> model class built on top of
+L<DBIx::Class::Loader>.
+
+=head2 Catalyst::Model::Plucene
+
+L<Catalyst::Model::Plucene> is a model class for the Plucene search
+engine.
+
+=head2 Catalyst::Model::Xapian
+
+L<Catalyst::Model::Xapian> is a model class for the Xapian search
+engine.
 
-A Template Toolkit view. See L<Template::Manual>
+=head2 Catalyst::View::HTML::Template
 
+L<Catalyst::View::HTML::Template> is a View component for
+displaying your stash with L<HTML::Template>.
 
-=head1 AUTHOR
+=head2 Catalyst::View::Mason
+
+L<Catalyst::View::Mason> is a View component for displaying your stash
+with L<HTML::Mason>.
+
+=head2 Catalyst::View::PSP
+
+L<Catalyst::View::PSP> is a View component for displaying your stash
+using PSP, a Perl extension implementing a JSP-like templating system;
+see L<Text::PSP>.
+
+=head2 Catalyst::View::Petal
+
+L<Catalyst::View::Petal> is a View component for displaying 
+your stash using Petal, the Perl Template Attribute Language,
+an XML-based templating system; see L<Petal>.
+
+=head2 Catalyst::View::TT
+
+L<Catalyst::View::TT> is a Template Toolkit view. See L<Template::Manual>.
+
+=head1 AUTHORS
 
 Andrew Ford E<lt>A.Ford@ford-mason.co.ukE<gt>
+
 Marcus Ramberg E<lt>mramberg@cpan.orgE<gt>
 
+Jesse Sheidlower E<lt>jester@panix.comE<gt>
+
 =head1 COPYRIGHT
 
 This program is free software, you can redistribute it and/or modify it under