Catalys...ponents(3)

๐Ÿ’… Catalys...ponents(3) โ€” User Contributed Perl Documentation

okay so bestie, this is a perl manpage, and it's literally just a giant list of components. grab a snack ๐Ÿ“, this one's a long one.

๐ŸŒธ NAME ๐ŸŒธ

Catalyst::Manual::Components โ€” reuseable components for Catalyst applications โœจ

(yes it says "reuseable", that's how it's spelled on the page, we're not fixing her, she's doing her best ๐Ÿ˜ญ)

๐ŸŽ€ DESCRIPTION ๐ŸŽ€

okay so real talk: this section lists the some of the components (and plugins) that are available to extend the runtime functionality of Catalyst. think of it as the vibe-check directory of "here's stuff you can bolt on".

  • most components are not distributed with Catalyst, but they should be available from CPAN.
  • they typically require additional modules from CPAN too, so yeah, dependencies on dependencies, classic. ๐Ÿ™ˆ
โš ๏ธ heads up bestie: this list may well be outdated by the time you read this ๐Ÿซ  and some plugins may be deprecated, or, conversely, may now be part of core Catalyst. be sure to check the Catalyst:: and CatalystX:: namespaces for additional components, and consult the mailing list (http://wiki.catalystframework.org/wiki/Support) for advice on the current status or preferred use of your chosen plugin/framework. no cap, check before you commit.

๐Ÿ”ฅ PLUGINS ๐Ÿ”ฅ

๐Ÿ’€ take care with plugins! in general with a plugin, ask "should this be acting globally on my 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. that's it, that's the whole blurb ๐ŸŽ€

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 . (the page literally trails off right there, sentence left hanging, iconic honestly ๐Ÿ’€)

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

no description on the page, just the name. go read the module, iykyk ๐Ÿงš

Catalyst::Plugin::AtomPP

Allows you to dispatch AtomPP methods. slay โญ

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. very "main character energy" of it.

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. very "different friend groups, different passwords" of it.

this, however, has involved deprecating all classes in the Catalyst::Plugin::Authentication::Credential:: and Catalyst::Plugin::Authentication::Store:: 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. bless this one honestly.
  • 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. (yes, this one shows up a second time on the page with a different blurb โ€” not me being chaotic, that's genuinely what's written ๐Ÿ’€)
  • 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. lowkey the MVP for prototypes โœจ
  • 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. (also a repeat on the page โ€” she's back, and honestly? she ate)
  • 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. cute ๐ŸŽ€

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. detective era ๐Ÿ”

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

no description on the page โ€” just the name, bestie. ๐Ÿ™ˆ

Catalyst::Plugin::Charsets::Japanese

Provides specific charset handlers for the Japanese charsets. ๐ŸŒธ

Catalyst::Plugin::Compress::Bzip2

no blurb given, name only.

Catalyst::Plugin::Compress::Deflate

no blurb given, name only.

Catalyst::Plugin::Compress::Gzip

no blurb given, name only.

Catalyst::Plugin::Compress::Zlib

no blurb given, name only. (yes, all four Compress ones are just listed with zero commentary in the original โ€” we love a minimal queen ๐Ÿ’…)

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

name only, no description on the page.

Catalyst::Plugin::Devel::InPageLogs

name only, no description on the page.

Catalyst::Plugin::Devel::InPageLogs::Log

name only, no description on the page.

Catalyst::Plugin::Dojo

name only, no description on the page.

Catalyst::Plugin::Dumper

name only, no description on the page.

Catalyst::Plugin::Email::Japanese

name only, no description on the page.

Catalyst::Plugin::Email::Page

name only, no description on the 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. genuinely so useful, obsessed ๐Ÿซถ

Catalyst::Plugin::Flavour

name only, no description on the page.

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

name only, no description on the page.

Catalyst::Plugin::HashedCookies

name only, no description on the page.

Catalyst::Plugin::HTML::Scrubber

name only, no description on the page.

Catalyst::Plugin::I18N

An internationalization plugin for Catalyst. Supports mo/po files and Maketext classes under your application's I18N namespace. ๐ŸŒโœจ

Catalyst::Plugin::JSONRPC

name only, no description on the page.

Catalyst::Plugin::Message

name only, no description on the page.

Catalyst::Plugin::MobileAgent

name only, no description on the page.

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. order matters, periodt ๐Ÿ’…

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. speed, she ate. ๐Ÿ”ฅ

Catalyst::Plugin::Params::Nested

name only, no description on the page.

Catalyst::Plugin::Params::Nested::Expander

name only, no description on the page.

Catalyst::Plugin::Pluggable

A plugin for pluggable Catalyst applications. very meta of her.

Catalyst::Plugin::Prototype

A plugin for the Prototype JavaScript library. This plugin allows you to easily implement AJAX functionality without actually knowing Javascript. not me learning AJAX without learning JS ๐Ÿ˜ญ iconic

Catalyst::Plugin::Redirect

Allows for easy redirecting with the Catalyst app. bye bestie, we're going elsewhere โœจ

Catalyst::Plugin::RequestToken

name only, no description on the page.

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. ๐Ÿ”’ protect the data, no cap.

  • Catalyst::Plugin::Scheduler โœจ
  • Catalyst::Plugin::Session โ€” okay so this whole series is your easy-mode way to add session handling to an app. You get to choose from several different backend storage methods, and then combine that with whichever client-side storage method you want. ๐Ÿ’…
    • 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 โ€” lets your controller class dispatch SRU actions ("explain", "scan", and "searchRetrieve") from its own class. iykyk โœจ
  • Catalyst::Plugin::StackTrace ๐Ÿฆ‹
  • Catalyst::Plugin::Static โ€” serves static files out of $c->config(root => 'foo'). Itโ€™s intended chiefly for development purposes, bestie. ๐Ÿ› ๏ธ
  • Catalyst::Plugin::Static::Simple โ€” serves static files in your app and does it without requiring a single line of code. slay ๐Ÿ’…
  • Catalyst::Plugin::SubRequest โ€” a plugin that lets you make subrequests to actions from inside 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 โ€” gives you 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, bestie: it 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 โ€” lets your Controller class dispatch XMLRPC methods from its own class. ๐Ÿ‘‘

๐ŸŽฎ CONTROLLERS ๐ŸŽฎ

  • Catalyst::Controller::HTML::FormFu โ€” the Catalyst integration moment for HTML::FormFu. ๐Ÿ’…

๐Ÿงธ MODELS ๐Ÿงธ

  • Catalyst::Model::CDBI โ€” the Class::DBI (CDBI) model class. Itโ€™s 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. iconic โœจ
  • Catalyst::Model::CDBI::Plain โ€” a neutral interface to the Class::DBI module that does not attempt to automate table setup. It lets you manually set up Class::DBI classes, either by doing it inside 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. periodt ๐Ÿ’…

๐Ÿ’€ 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 ๐Ÿ‘‘

The Catalyst Contributors โ€” see Catalyst.pm for the whole squad. ๐Ÿ’–


This library is free software, bestie. You can redistribute it and/or modify it under the same terms as Perl itself. ๐Ÿซถ


Thatโ€™s the whole page! Sourced from the User Contributed Perl Documentation, perl v5.42.0, dated 2024-03-23. Now go slay some Catalyst modules. ๐Ÿ’…โœจ

๐Ÿ“ฆ where this page comes from