X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FComponents.pod;fp=lib%2FCatalyst%2FManual%2FComponents.pod;h=295733b1cd9c98e42a0c2c4a6abe70e18f7cf610;hp=0000000000000000000000000000000000000000;hb=bbddff000787154dd9130f45634da8ef06529d86;hpb=614b484ca966389470528db752d8e73a1ac6ebdc diff --git a/lib/Catalyst/Manual/Components.pod b/lib/Catalyst/Manual/Components.pod new file mode 100644 index 0000000..295733b --- /dev/null +++ b/lib/Catalyst/Manual/Components.pod @@ -0,0 +1,603 @@ +=head1 NAME + +Catalyst::Manual::Component - Reuseable components for Catalyst applications. + +=head1 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 now part of core L. Be sure to +check the Catalyst:: and CatalystX:: namespaces for additional components and consult +the mailing list ( L ) for +advice on the current status or preferred use of your chosen +plugin/framework. + +=head1 PLUGINS + +=head2 L + +Provides Account Auto-Discovery for Catalyst. + +=head2 L + +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. + +=head2 L + +=head2 L + +Allows you to dispatch AtomPP methods. + +=head2 L + +A plugin that implements the necessary bits to make it easy to build an +Atom API server for any Catalyst-based application. + +=head2 L + +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 +C, so that you can authenticate users in different ways in different +parts of your application. + +This, however, has involved deprecated all classes in the +C and +C namespaces. + +These plugins are still useable, however they have mostly been +replaced with new modules in the new namespace which will work together. + +=head3 Available Credential modules: + +=head4 L + +Allows you to use the L module with Catalyst. + +=head4 L + +Allows you to authenticate facebook users using the FBConnect API. + +=head4 L + +Provides authentication via Flickr, using its API. + +=head4 L + +Allows you to authenticate users using HTTP Basic or Digest authentication. + +=head4 L + +Allows you to authenticate users against a remote web server +offering HTTP authentication. + +=head4 L + +Allows you to authenticate your users against a Kerberos server. + +=head4 L + +Allows you to authenticate users using their login on other websites supporting +the OAuth protocol. + +=head4 L + +Allows you to authenticate users using their login on other websites supporting +the OpenID protocol. + +=head4 L + +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 L. + +=head4 L + +Allows you to autheticate users using the RPX protocol. + +=head4 L + +Allows you to authenticate users in Catalyst which 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 + +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. + +=head4 L + +Allows any of the L family of modules to be used +to authenticate users in Catalyst. + +=head3 LAvailable Store modules: + +=head4 L + +Does authentication and authorization against a L model. + +=head4 L + +Uses L to let your application use C<.htpasswd> files for its +authentication storage. + +=head4 L + +This module implements the Catalyst::Authentication API for L. + +=head4 L + +Allows you to use a plain L database connection to identify users. + +=head4 L + +Allows you to use an apache htpassed type file to authenticate users from. + +=head4 L + +Authenticate users stored as objects in the L object graph storage +engine system. + +=head4 L + +Authenticates users using an LDAP server. + +=head4 L + +Lets you create a very quick and dirty user database in your application's +config hash. Great for getting up and running quickly. + +=head4 L + +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 + +Allows access to authentication information stored in a database via a L class. + +=head4 L + +Allows access to authentication information stored in a database via a L class. + +=head4 L + +Allows access to authentication information stored in a database via a L class. + +=head4 L + +Allows access to authentication information stored in a database via a L class. + +=head4 L + +An easy authentication user object based on hashes. +See L for more info. + +=head2 L + +This module provides Access Control List style path protection, with arbitrary +rules for L applications. It operates only on the Catalyst private +namespace, at least at the moment. + +=head2 L + +L provides role based authorization +for Catalyst based on L. + +=head2 L + +=head2 L + +Extends L by adding the capability of browser +detection. It returns an instance of L, which lets +you get information from the client's user agent. + +=head2 L + +Provides a cache method enabling easy access to a shared cache implementing +the C<< Cache:: >> APO, such as: + +=over + +=item FastMmap + +=item FileCache + +=item BerkeleyDB + +=item Memcached + +=item CHI + +=back + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +Provides a standard method for loading config files. Support +exists for various formats. See +L +L, +L, +L, +L, and +L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +Sends email with L and L. + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +A plugin based on C, 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 +is a subclass of C and uses it to parse the HTML and insert +the values into the form tags. + +=head2 L + +=head2 L + +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 L + +=head2 L + +=head2 L + +=head2 L + +An internationalization plugin for Catalyst. Supports C/C files +and Maketext classes under your application's I18N namespace. + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +Provides the ability to register AOP-like callbacks to specific Engine +events. Subclasses L. + +=head2 L + +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 L + +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 L + +=head2 L + +=head2 L + +A plugin for pluggable Catalyst applications. + +=head2 L + +A plugin for the Prototype JavaScript library. This Plugin allows you to +easily implement AJAX functionality without actually knowing Javascript. + +=head2 L + +=head2 L + +=head2 L + +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. + +=head2 L + +=head2 L + +The L 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 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +Allows your controller class to dispatch SRU actions (C, C, +and C) from its own class. + +=head2 L + +=head2 L + +L is a plugin to serve static files from +C<< $c->config(root => 'foo') >>. Intended chiefly for development +purposes. + +=head2 L + +Serves static files in your application without requiring a single line of +code. + +=head2 L + +A plugin to allow subrequests to actions to be made within Catalyst. Nice +for portal software and such. + +=head2 L + +An interface to the L module, enabling easy HTML form +creation. + +=head2 L + +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 + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +Allows your Controller class to dispatch XMLRPC methods from its own class. + +=head1 CONTROLLERS + +=head2 L + +Catalyst integration for . + +=head1 MODELS + +=head2 L + +The C (CDBI) model class. It is built on top of +C, which automates the definition of C +sub-classes by scanning the underlying table schemas, setting up columns +and primary keys. + +=head2 L + +A neutral interface to the C module which does not attempt +to automate table setup. It allows the user to manually set up +C classes, either by doing so within the Catalyst model +classes themselves, or by inheriting from existing C +classes. + +=head2 L + +A L model class that can use either an explicit +L or one automatically loaded from your database +via L. + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +A model class for the Plucene search engine. + +=head2 L + +=head2 L + +=head2 L + +A model class for the Xapian search engine. + +=head1 VIEWS + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +=head2 L + +A view component for rendering pages with L. + +=head2 L + +=head2 L + +=head2 L + +A view component for rendering pages with L. + +=head2 L + +=head2 L + +=head2 L + +A view component for rendering pages using PSP, a Perl extension +implementing a JSP-like templating system. See L. + +=head2 L + +A view component for rendering pages using Petal, the Perl Template +Attribute Language, an XML-based templating system. See L. + +=head2 L + +A view component for rendering pages with Template Toolkit. See +L. + +=head2 L + +=head2 L + +=head1 Actions + +=head2 L + +Creates a sane, standard end method for your application. + +=head1 OBSOLETE MODULES + +=head2 L + +Lets you mark lexical variables with a C attribute, automatically +passing them to the stash. Discouraged by the author. + +=head2 L + +Replaced by L. + +=head2 L + +Replaced by L. + +=head2 L + +Replaced by L. + +=head2 L + +Replaced by L. + +=head2 L + +Replaced by L. + +=head2 L + +Replaced by L. + +=head2 L + +=head2 L + +=head2 Catalyst::Plugin::Config::* + +The L and +L modules have been replaced by their +corresponding L modules. + +=head2 L + +Replaced by L + +=head2 L + +=head2 L + +=head2 Catalyst::Plugin::Session::* + +The L, +L, +L, and +L +modules have been replaced by the framework. + +=head1 AUTHORS + +Catalyst Contributors, see Catalyst.pm + +=head1 COPYRIGHT + +This library is free software. You can redistribute it and/or modify it under +the same terms as Perl itself. + +=cut +