=head1 NAME
-Catalyst::Manual::Component - Reuseable components for Catalyst applications.
+Catalyst::Manual::Components - Reuseable components for Catalyst applications
=head1 DESCRIPTION
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 L<Catalyst>. Be sure to
-check the Catalyst:: and CatalystX:: namespaces for additional components and consult
-the mailing list ( L<http://dev.catalyst.perl.org/wiki/Support> ) for
-advice on the current status or preferred use of your chosen
-plugin/framework.
+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
+L<Catalyst>. Be sure to check the Catalyst:: and CatalystX:: namespaces
+for additional components, and consult the mailing list (
+L<http://dev.catalyst.perl.org/wiki/Support> ) for advice on the current
+status or preferred use of your chosen plugin/framework.
=head1 PLUGINS
C<Catalyst::Plugin::Authentication::Credential::XXX> and
C<Catalyst::Plugin::Authentication::Store::XXX> namespaces.
-These plugins are still useable, however they have mostly been
-replaced with new modules in the new namespace which will work together.
+These plugins are still usable, but they have mostly been replaced with
+new modules in the new namespace which will work together.
=head3 Available Credential modules:
=head4 L<Catalyst::Authentication::Credential::FBConnect>
-Allows you to authenticate facebook users using the FBConnect API.
+Allows you to authenticate Facebook users using the FBConnect API.
=head4 L<Catalyst::Authentication::Credential::Flickr>
=head4 L<Catalyst::Authentication::Credential::OAuth>
-Allows you to authenticate users using their login on other websites supporting
-the OAuth protocol.
+Allows you to authenticate users using their login on other websites
+supporting the OAuth protocol.
=head4 L<Catalyst::Authentication::Credential::OpenID>
-Allows you to authenticate users using their login on other websites supporting
-the OpenID protocol.
+Allows you to authenticate users using their login on other websites
+supporting the OpenID protocol.
=head4 L<Catalyst::Authentication::Credential::Password>
=head4 L<Catalyst::Authentication::Credential::RPX>
-Allows you to autheticate users using the RPX protocol.
+Allows you to authenticate users using the RPX protocol.
=head4 L<Catalyst::Authentication::Credential::Remote>
-Allows you to authenticate users in Catalyst which have already been
-authenticated by your web server - this is useful for authenticating
+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.
=head4 L<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 / types of user,
-without having to mock things, or set all users passwords in your
-test suite.
+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.
=head4 L<Catalyst::Authentication::Credential::Authen::Simple>
Allows any of the L<Authen::Simple> family of modules to be used
to authenticate users in Catalyst.
-=head3 LAvailable Store modules:
+=head3 Available Store modules:
=head4 L<Catalyst::Authentication::Store::DBIx::Class>
=head4 L<Catalyst::Authentication::Store::Htpasswd>
-Uses L<Authen::Htpasswd> to let your application use C<.htpasswd> files for its
-authentication storage.
+Uses L<Authen::Htpasswd> to let your application use C<.htpasswd> files
+for its authentication storage.
=head4 L<Catalyst::Authentication::Store::AuthTkt>
=head4 L<Catalyst::Authentication::Store::Htpasswd>
-Allows you to use an apache htpassed type file to authenticate users from.
+Allows you to use an Apache htpasswd type file to authenticate users.
=head4 L<Catalyst::Authentication::Store::KiokuDB>
-Authenticate users stored as objects in the L<KiokuDB> object graph storage
-engine system.
+Authenticate users stored as objects in the L<KiokuDB> object graph
+storage engine system.
=head4 L<Catalyst::Authentication::Store::LDAP>
=head4 L<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.
+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.
=head4 L<Catalyst::Authentication::Store::RDBO>
=head4 L<Catalyst::Authentication::Store::Tangram>
-Allows access to authentication information stored in a database via a L<Tangram> class.
+Allows access to authentication information stored in a database via a
+L<Tangram> class.
=head4 L<Catalyst::Authentication::Store::DBIx::Class>
-Allows access to authentication information stored in a database via a L<DBIx::Class> class.
+Allows access to authentication information stored in a database via a
+L<DBIx::Class> class.
=head4 L<Catalyst::Authentication::Store::Jifty::DBI>
=head2 L<Catalyst::Plugin::Authorization::Roles>
-L<Catalyst::Plugin::Authorization::Roles> provides role based authorization
-for Catalyst based on L<Catalyst::Plugin::Authentication>.
+L<Catalyst::Plugin::Authorization::Roles> provides role-based
+authorization for Catalyst based on L<Catalyst::Plugin::Authentication>.
=head2 L<Catalyst::Plugin::AutoSession>
+L<Catalyst::Plugin::AutoSession> enables specified request parameters
+to generate session variables.
+
=head2 L<Catalyst::Plugin::Browser>
Extends L<Catalyst::Request> by adding the capability of browser
=head2 L<Catalyst::Plugin::CGI::Untaint>
+Provides specific charset handlers for the Japanese charsets.
+
=head2 L<Catalyst::Plugin::Charsets::Japanese>
=head2 L<Catalyst::Plugin::Compress::Bzip2>
=head2 L<Catalyst::Plugin::Prototype>
-A plugin for the Prototype JavaScript library. This Plugin allows you to
+A plugin for the Prototype JavaScript library. This plugin allows you to
easily implement AJAX functionality without actually knowing Javascript.
=head2 L<Catalyst::Plugin::Redirect>
+Allows for easy redirecting with the Catalyst app.
+
=head2 L<Catalyst::Plugin::RequestToken>
=head2 L<Catalyst::Plugin::RequireSSL>
An interface to the L<HTML::SuperForm> module, enabling easy HTML form
creation.
-=head2 L<Catalyst::Plugin::Unicode>
+=head2 L<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.
-=head2 L<Catalyst::Plugin::Unicode::Encoding>
+=head2 L<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!
=head2 L<Catalyst::Plugin::Upload::Basename>
=head2 L<Catalyst::Plugin::Upload::MD5>
+Computes the MD5 message digest of uploaded files.
+
=head2 L<Catalyst::Plugin::Upload::MIME>
=head2 L<Catalyst::Plugin::UploadProgress>