Catalyst

The Definitive Guide

Gavin Henry

Legal Notice
Revision History
Revision 0.121-12-2005
First Draft

Abstract

The aim of this guide is to be the definitive resource for in depth knowledge on the Catalyst Frameworks.


Table of Contents

1. Introduction
1.1. What is Catalyst?
1.1.1. MVC
1.1.2. Flexibility
1.1.3. Simplicity
1.2. Quickstart
1.2.1. Install
1.2.2. Setup
1.2.3. Run
1.3. How it Works
1.3.1. Application Class
1.3.2. Context
1.3.3. Actions
1.3.3.1. Built-in Private Actions
1.3.3.2. Built-in actions in Controllers/Autochaining
1.3.3.3. URL Path Handling
1.3.3.4. Parameter Processing
1.3.4. Flow Control
1.3.5. Components
1.3.5.1. Views
1.3.5.2. Models
1.3.5.3. Controllers
1.3.6. Testing
1.4. Quick Tutorial
1.4.1. Installation
1.4.2. Setting up your application
1.4.3. Testing out the sample application
1.4.4. Getting your application invoked
1.4.5. Examining the generation code
1.4.6. Extending the generated code
1.4.7. Hooking in to the Template Toolkit
2. Code Reuse
2.1. Catalyst Plugins
2.1.1. Catalyst::Plugin::Authentication::LDAP
2.1.2. Catalyst::Plugin::Browser
2.1.3. Catalyst::Plugin::Cache::FastMmap, FileCache, and Memcached
2.1.4. Catalyst::Plugin::Compress::Zlib
2.1.5. Catalyst::Plugin::Compress::Bzip2
2.1.6. Catalyst::Plugin::DefaultEnd
2.1.7. Catalyst::Plugin::Email
2.1.8. Catalyst::Plugin::FillnForm
2.1.9. Catalyst::Plugin::FormValidator
2.1.10. Catalyst::Plugin::Geography
2.1.11. Catalyst::Plugin::I18N
2.1.12. Catalyst::Plugin::Observe
2.1.13. Catalyst::Plugin::OrderedParams
2.1.14. Catalyst::Plugin::PageCache
2.1.15. Catalyst::Plugin::Pluggable
2.1.16. Catalyst::Plugin::Prototype
2.1.17. Catalyst::Plugin::RequireSSL
2.1.18. Catalyst::Plugin::Session
2.1.19. Catalyst::Plugin::Session::FastMmap
2.1.20. Catalyst::Plugin::SRU
2.1.21. Catalyst::Plugin::Static::Simple
2.1.22. Catalyst::Plugin::Static
2.1.23. Catalyst::Plugin::SubRequest
2.1.24. Catalyst::Plugin::SuperForm
2.1.25. Catalyst::Plugin::Textile
2.1.26. Catalyst::Plugin::Unicode
2.1.27. Catalyst::Plugin::XMLRPC
2.2. Component Modules
2.2.1. Catalyst::Model::CDBI
2.2.2. Catalyst::Model::CDBI::Plain
2.2.3. Catalyst::Model::DBIC
2.2.4. Catalyst::Model::Plucene
2.2.5. Catalyst::Model::Xapian
2.2.6. Catalyst::View::HTML::Template
2.2.7. Catalyst::View::Mason
2.2.8. Catalyst::View::PSP
2.2.9. Catalyst::View::Petal
2.2.10. Catalyst::View::TT
3. Writing Plugins
3.1. Why Plugins?
3.2. Whats NEXT?
3.3. Integrating your plugin
3.3.1. The request life-cycle
3.3.2. What Plugins look like
3.3.3. Calling methods from your Plugin
3.3.4. Overloading - Plugging into Catalyst
3.3.5. Storage and Configuration
3.4. Example
4. Catalyst Internals
4.1. Initialisation
4.2. Request Lifecycle
Index