Catalyst

Want this title & more?

Subscribe to PacktLib

Enjoy full and instant access to over 2000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

Book Details

ISBN 139781847190956

Paperback200 pages

About This Book

Understand the Catalyst Framework and MVC architecture

Build and test a site with Catalyst

Detailed walkthroughs to create sample applications

Extend Catalyst through plug-ins

Who This Book Is For

This book is for web developers with basic Perl skills who are new to Catalyst. If you are excited by Ruby on Rails but would like the features of Rails with the familiarity of Perl, pick this book and get started.

Table of Contents

Chapter 1: Introduction to Catalyst

Catalyst Application Architecture

Installing Catalyst

Where to go for Help?

Summary

Chapter 2: Creating a Catalyst Application

Creating the Application Skeleton

MyApp Directory Structure

Adding a View

Adding a Database

Summary

Chapter 3: Building a Real Application

Environment Setup

Database Design

Understanding the Interface to the Database

TTSite

Viewing People

Basic CRUD

Forms

Finishing Up

Summary

Chapter 4: Expanding the Application

Configuration Files

Sessions

Using Components from Outside Catalyst

Searching and Paging

Authentication and Authorization

Summary

Chapter 5: Building a More Advanced Application

The Application

Creating the Database

Extracting the Data

Putting the Data on the Web

Summary

Chapter 6: Building Your Own Model

Extending a DBIx::Class Model

Creating a Database Model from Scratch

Implementing a Filesystem Model

Summary

Chapter 7: Hot Web Topics

REST

AJAX

RSS

Summary

Chapter 8: Testing

Mechanics

Testing ChatStat

Testing the Address Book

Summary

Chapter 9: Deployment

Basics

Configuring a Web Server

Summary

What You Will Learn

Installing and setting up Catalyst

How MVC works in Catalyst, explained with a simple example

Using the Template toolkit to generate HTML output

Designing a database schema and accessing a SQLite database

Creating a CRUD interface to a database

Using FormBuilder to define auto-generating and self-validating forms

Creating easy-to-maintain configuration files

Importing CVS files into a database

Paginating search results

Using the session plug-in to add sessions to an application

Authentication and authorization, explored by implementing page-level and record-level control

Building an editable web interface

Features of DBIC for easy handling of data

Interfacing to your data:

Mixing a procedural interface with a relational DBIx::Class interface

Writing a database interface without DBIx::Class

Building a custom Model without using any database

Adding a REST API to allow other applications to access your application

Adding AJAX interactivity to your application

Incorporating RSS feeds in your application

Automated testing and the "Test-Driven Development" methodology, discussed in depth

Techniques to test your Catalyst application easily

Writing tests for applications developed in this book with Mechanize and Selenium

Packaging your application:

Manage dependencies and create packages easily using Makefile.PL

Create a unique configuration for each environment

How to set up for a variety of web servers

How to make your application a self-contained file (PAR)

In Detail

Many web applications are implemented in a way that makes developing them painful and repetitive. Catalyst is an open-source Perl-based Model-View-Controller framework that aims to solve this problem by reorganizing your web application to design and implement it in a natural, maintainable, and testable manner, making web development fun, fast, and rewarding.

Everything that your web application needs to do is only written once; you connect to the database in one place, have configuration in one place, etc. Then, you just write actions for each URL that your application needs, without worrying about the database connections or HTML to produce. Catalyst will handle the details so you can worry about writing your application.

Catalyst is designed to be reliable. There are hundreds of production applications and thousands of users. The code is well-tested, and new releases almost always maintain compatibility with applications written for older versions. You don't have to worry about Catalyst breaking your application and slowing down your development. It just works.

Most importantly, Catalyst has a thriving community. You can ask a question on the IRC channel and get a response at almost any time of the day.

This book embodies Catalyst's philosophies of Do It Yourself and Don't Repeat Yourself.

Authors

Jonathan Rockway

Jonathan Rockway, a member of the Catalyst Core Team, has been programming Perl since his middle-school years.

Alerts & Offers

Series & Level

We understand your time is important. Uniquely amongst the major publishers, we seek to develop and publish the broadest range of learning and information products on each technology. Every Packt product delivers a specific learning pathway, broadly defined by the Series type. This structured approach enables you to select the pathway which best suits your knowledge level, learning style and task objectives.

Learning

As a new user, these step-by-step tutorial guides will give you all the practical skills necessary to become competent and efficient.

Beginner's Guide

Friendly, informal tutorials that provide a practical introduction using examples, activities, and challenges.

Essentials

Fast paced, concentrated introductions showing the quickest way to put the tool to work in the real world.

Cookbook

A collection of practical self-contained recipes that all users of the technology will find useful for building more powerful and reliable systems.

Blueprints

Guides you through the most common types of project you'll encounter, giving you end-to-end guidance on how to build your specific solution quickly and reliably.

Mastering

Take your skills to the next level with advanced tutorials that will give you confidence to master the tool's most powerful features.

Starting

Accessible to readers adopting the topic, these titles get you into the tool or technology so that you can become an effective user.

Progressing

Building on core skills you already have, these titles share solutions and expertise so you become a highly productive power user.