designed to provide a rapid introduction to its basics and its most
commonly used features while focusing on real-world best practices.
+We suggest that you read this introduction on the web. Make sure you are
+reading the latest version of the tutorial by visiting
+L<http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial>. Alternatively
+you can use CPAN modules like L<Pod::Webserver>, L<Pod::POM::Web>,
+L<Pod::Browser> (Catalyst based), or L<CPAN::Mini::Webserver> to read a local
+copy of the tutorial.
+
The tutorial is divided into the following sections:
B<NOTE: CLICK THESE LINKS TO JUMP TO CHAPTERS> (the index links above
=item 1
-L<Introduction|Catalyst::Manual::Tutorial::Intro>
+L<Introduction|Catalyst::Manual::Tutorial::01_Intro>
=item 2
-L<Catalyst Basics|Catalyst::Manual::Tutorial::CatalystBasics>
+L<Catalyst Basics|Catalyst::Manual::Tutorial::02_CatalystBasics>
=item 3
-L<More Catalyst Basics|Catalyst::Manual::Tutorial::MoreCatalystBasics>
+L<More Catalyst Basics|Catalyst::Manual::Tutorial::03_MoreCatalystBasics>
=item 4
-L<Basic CRUD|Catalyst::Manual::Tutorial::BasicCRUD>
+L<Basic CRUD|Catalyst::Manual::Tutorial::04_BasicCRUD>
=item 5
-L<Authentication|Catalyst::Manual::Tutorial::Authentication>
+L<Authentication|Catalyst::Manual::Tutorial::05_Authentication>
=item 6
-L<Authorization|Catalyst::Manual::Tutorial::Authorization>
+L<Authorization|Catalyst::Manual::Tutorial::06_Authorization>
=item 7
-L<Debugging|Catalyst::Manual::Tutorial::Debugging>
+L<Debugging|Catalyst::Manual::Tutorial::07_Debugging>
=item 8
-L<Testing|Catalyst::Manual::Tutorial::Testing>
+L<Testing|Catalyst::Manual::Tutorial::08_Testing>
=item 9
-L<Advanced CRUD|Catalyst::Manual::Tutorial::AdvancedCRUD>
+L<Advanced CRUD|Catalyst::Manual::Tutorial::09_AdvancedCRUD>
=item 10
-L<Appendices|Catalyst::Manual::Tutorial::Appendices>
+L<Appendices|Catalyst::Manual::Tutorial::10_Appendices>
=back
=head1 Detailed Table of Contents
-=head2 L<Chapter 1: Intro|Catalyst::Manual::Tutorial::Intro>
+=head2 L<Chapter 1: Intro|Catalyst::Manual::Tutorial::01_Intro>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=back
-=head2 L<Chapter 2: Catalyst Basics|Catalyst::Manual::Tutorial::CatalystBasics>
+=head2 L<Chapter 2: Catalyst Basics|Catalyst::Manual::Tutorial::02_CatalystBasics>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=back
-=head2 L<Chapter 3: More Catalyst Basics|Catalyst::Manual::Tutorial::MoreCatalystBasics>
+=head2 L<Chapter 3: More Catalyst Basics|Catalyst::Manual::Tutorial::03_MoreCatalystBasics>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=item *
-Create a Catalyst View Using TTSite
+Create a Catalyst View
=item *
-Globally Customize Every View
+Create a TT Template Page
=item *
-Create a TT Template Page
+Test Run The Application
=back
=item *
-RUN THE APPLICATION
+ENABLE THE MODEL IN THE CONTROLLER
+
+=over 4
+
+=item *
+
+Test Run The Application
+
+=back
+
+=item *
+
+CREATE A WRAPPER FOR THE VIEW
+
+=over 4
+
+=item *
+
+Configure TT.pm For The Wrapper
+
+=item *
+
+Create the Wrapper Template File and Stylesheet
+
+=item *
+
+Test Run The Application
+
+=back
=item *
Updating the Generated DBIC Schema Files
+=item *
+
+Run The Application
+
=back
=item *
-RUN THE APPLICATION
+UPDATING THE VIEW
=item *
=item *
-UPDATING THE VIEW
+OPTIONAL INFORMATION
=over 4
=back
-=head2 L<Chapter 4: Basic CRUD|Catalyst::Manual::Tutorial::BasicCRUD>
+=head2 L<Chapter 4: Basic CRUD|Catalyst::Manual::Tutorial::04_BasicCRUD>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=item *
+CONVERT TO A CHAINED ACTION
+
+=over 4
+
+=item *
+
+Try the Chained Action
+
+=item *
+
+Refactor to Use a "Base" Method to Start the Chains
+
+=back
+
+=item *
+
MANUALLY BUILDING A CREATE FORM
=over 4
=item *
+Add a Common Method to Retrieve a Book for the Chain
+
+=item *
+
Add a Delete Action to the Controller
=item *
=back
+=item *
+
+EXPLORING THE POWER OF DBIC
+
+=over 4
+
+=item *
+
+Add Datetime Columns to Our Existing Books Table
+
+=item *
+
+Update DBIC to Automatically Handle the Datetime Columns
+
+=item *
+
+Create a ResultSet Class
+
+=item *
+
+Chaining ResultSets
+
+=item *
+
+Adding Methods to Result Classes
+
+=back
+
=back
-=head2 L<Chapter 5: Authentication|Catalyst::Manual::Tutorial::Authentication>
+=head2 L<Chapter 5: Authentication|Catalyst::Manual::Tutorial::05_Authentication>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=back
-=head2 L<Chapter 6: Authorization|Catalyst::Manual::Tutorial::Authorization>
+=head2 L<Chapter 6: Authorization|Catalyst::Manual::Tutorial::06_Authorization>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=item *
-ENABLE ACL-BASED AUTHORIZATION
-
-=over 4
-
-=item *
-
-Add the Catalyst::Plugin::Authorization::ACL Plugin
-
-=item *
-
-Add ACL Rules to the Application Class
-
-=item *
-
-Add a Method to Handle Access Violations
-
-=back
+ENABLE MODEL-BASED AUTHORIZATION
=back
-=head2 L<Chapter 7: Debugging|Catalyst::Manual::Tutorial::Debugging>
+=head2 L<Chapter 7: Debugging|Catalyst::Manual::Tutorial::07_Debugging>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
DEBUGGING MODULES FROM CPAN
+=item *
+
+TT DEBUGGING
+
=back
-=head2 L<Chapter 8: Testing|Catalyst::Manual::Tutorial::Testing>
+=head2 L<Chapter 8: Testing|Catalyst::Manual::Tutorial::08_Testing>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=back
-=head2 L<Chapter 9: Advanced CRUD|Catalyst::Manual::Tutorial::AdvancedCRUD>
+=head2 L<Chapter 9: Advanced CRUD|Catalyst::Manual::Tutorial::09_AdvancedCRUD>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
=back
-=head2 L<Chapter 10: Appendices|Catalyst::Manual::Tutorial::Appendices>
+=head2 L<Chapter 10: Appendices|Catalyst::Manual::Tutorial::10_Appendices>
Note: Click on the heading in the previous line to jump to the actual
chapter. Below is a "table of contents" for this chapter.
Ragwitz, Mauro Andreolini, Jim Howard, Giovanni Gigante, William
Moreno, Bryan Roach, Ashley Berlin, David Kamholz, Kevin Old, Henning
Sprang, Jeremy Jones, David Kurtz, Ingo Wichmann, Shlomi Fish, Murray
-Walker. Also, thanks to Devin Austin for coming up with an initial
-version of a non-TTSite wrapper page. I'm sure I am missing some
-names here... apologies for that (please let me know if you name
-should be here).
+Walker and Adam Witney. Thanks to Devin Austin for coming up with an
+initial version of a non-TTSite wrapper page. Also, a huge thank you
+to Kiffin Gish for all the hard work on the "database depluralization"
+effort! I'm sure I am missing some names here... apologies for that
+(please let me know if you name should be here).
=back
Please report any errors, issues or suggestions to the author. The
most recent version of the Catalyst Tutorial can be found at
-L<http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Manual/5.70/trunk/lib/Catalyst/Manual/Tutorial/>.
+L<http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Tutorial/>.
Copyright 2006-2008, Kennedy Clark, under Creative Commons License
(L<http://creativecommons.org/licenses/by-nc-sa/2.5/>).