Updated Plugins.pod a bit
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Plugins.pod
index edcec20..13acd0f 100644 (file)
@@ -7,7 +7,10 @@ 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. The plugins
 are not distributed with Catalyst but should be available from CPAN.
-They typically require additional modules 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
 
@@ -16,6 +19,39 @@ They typically require additional modules from CPAN.
 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
 
 L<Catalyst::Plugin::Email> sends email with Catalyst and L<Email::Send>
@@ -37,6 +73,11 @@ 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
 
@@ -44,6 +85,23 @@ 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
 
@@ -56,24 +114,53 @@ 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
+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
 
 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.
+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.
 
-L<Catalyst::Plugin::Static> is 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
 
 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
 
@@ -82,13 +169,17 @@ 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
+
+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.
 
 =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
@@ -98,28 +189,62 @@ 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
 
-L<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::View::TT> is a Template Toolkit view. See
-L<Template::Manual>.
+L<Catalyst::Model::Xapian> is a model class for the Xapian search engine.
+
+=head2 Catalyst::View::HTML::Template
+
+L<Catalyst::View::HTML::Template> is a View component for
+displaying your stash with L<HTML::Template>.
 
 =head2 Catalyst::View::Mason
 
-L<Catalyst::View::Mason> allows you to render your stash using
-L<HTML::Mason>.
+L<Catalyst::View::Mason> is a View component for displaying your stash
+with L<HTML::Mason>.
+
+=head2 Catalyst::View::PSP
 
-=head1 AUTHOR
+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