|Also available on:|
- 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
Book DetailsLanguage : English
Paperback : 200 pages [ 235mm x 191mm ]
Release Date : December 2007
ISBN : 1847190952
ISBN 13 : 9781847190956
Author(s) : Jonathan Rockway
Topics and Technologies : All Books, Architecture & Analysis, Open Source
Back to BOOK PAGE
Table of Contents
Chapter 1: Introduction to Catalyst
Chapter 2: Creating a Catalyst Application
Chapter 3: Building a Real Application
Chapter 4: Expanding the Application
Chapter 5: Building a More Advanced Application
Chapter 6: Building Your Own Model
Chapter 7: Hot Web Topics
Chapter 8: Testing
Chapter 9: Deployment
Download the code and support files for this book.
Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.
Errata- 33 submitted: last submission 05 Jan 2012
Errata type: Typo | Page number: 9
In the first line under the heading CPAN,'pacakges' should read 'packages'.
Errata type: Others | Page number: 13
An extra node in the path:
Errata type: Code | Page number: 22
There is an unnecessary space between the quote and http in 'xmlns=" http://...'
Errata type: Text | Page number: 24
In the fifth paragraph,'(a final listing to check against what appears at the end of this section)' should have 'what' removed from the sentence.
Errata type: Text | Page number: 30
second paragraph, second line_'entires' should be 'entries'.
Errata type: Text | Page number: 33
comma in 'This will also allow functionality, like...' should be removed
Errata type: Technical | Page number: 35
'We do need to add one line to the bottom of the file manually.
' If you do that then the test throws an error.
What was meant to say was 'before the 1; at the bottom of the file' or something similar.
Errata type: Text | Page number: 36
'belongs-to relation' should be 'belongs-to'
Errata type: Technical | Page number: 37
Under the heading TTSite there is no mention of adding CATALYST_VAR => 'Catalyst', to __PACKAGE__->config in /lib/AddressBook/View/HTML.pm (the same spot the book tells us all we need to add is TEMPLATE_EXTENSION => '.tt2', before the TIMER => 0 line).
Errata type: Text | Page number: 44
second line: 'controller' should be 'Controller'
Errata type: Code | Page number: 44
In the /root/src/person/edit.tt2 code, it has to be '[% FormBuilder.render %]' instead '[% form.render %]'.
Errata type: Code | Page number: 45
$c->form should read $self->formbuilder throughout
Errata type: Code | Page number: 47
Instead of[% form.render %] it should be [% FormBuilder.render %]
Errata type: Code | Page number: 48
Catalyst::Controller::BindLex') should be Catalyst::Controller::BindLex)
Errata type: Code | Page number: 49
$c->form should read $self->formbuilder throughout.
Errata type: Language | Page number: 53
bottom of the page ...
"just rename the config file have an extension"
"just rename the config file to have an extension"
Errata type: Others | Page number: 54
Bottom middle of page ...
"To get at the from inside" should be "To get at the form inside"
Errata type: Others | Page number: 67
there's an extra blank line in the code example (sub search_names)...
Errata type: Text | Page number: 69
4th line. 'res,' should be'req.'.
Errata type: Code | Page number: 78
The best way to use the authorization plugin (since it's been rewritten after the release of the book) is to do as suggested.
In the following lines :
user_class => 'AddressDB::User',
user_field => 'username',
password_type => 'clear', # use salted-hash for real applications
there should be the following line above password_type:
password_field => 'password',
It works as written in the book too (as a compatibility layer built in to the new plugin).
Errata type: Code | Page number: 85
It should be '$ perl script/chatstat_create.pl model DBIC ...
'$ perl script/app_ircxory_create.pl_create.pl model DBIC ...
Errata type: Text | Page number: 88
'dynamically added data'should be 'dynamically adding data'.
Errata type: Text | Page number: 100
"person's information people" should be "person's information page".
Errata type: Text | Page number: 128
'(things like...') should be '(before things like...').
Errata type: Code | Page number: 139
5th line_$c->request->data to be $c->req->data.
Errata type: Text | Page number: 150
'edit form, firebug'
perhaps to be 'edit form, with firebug'
Errata type: Text | Page number: 150
'showing AJAX' perhaps to be 'showing the AJAX'.
Errata type: Text | Page number: 155
'On the other end, the spectrum' should be 'The other end of the spectrum'
Errata type: Text | Page number: 155
'but you, still' should be 'but you still'
Errata type: Text | Page number: 156
the last sentence of the first paragraph_'Even though it seems like do actually you're wasting time' should read 'Even though it seems like you're wasting time'
Errata type: Code | Page number: 157
"Test::More.Test::More" should read "Test::More"
Errata type: Text | Page number: 177
'parl, not Perl' should be 'parl, not perl'
Errata type: Code | Page number: 178
"'hostname'" should read "`hostname`" (backticks instead of single quotes).
What you will learn from this book
- 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)
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.
Design, develop, test, and deploy applications with the open-source MVC Catalyst framework
This book will guide you through the features of Catalyst using real-world examples and systematic code snippets.
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.