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<https://metacpan.org/module/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
+B<NOTE: CLICK THESE LINKS TO JUMP TO CHAPTERS> (the index links above
only navigate inside this page).
=over 4
=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
-Tarballs for the final code for each part of the tutorial is available
-at
+Final code tarballs for each chapter of the tutorial are available at
L<http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial/>.
=head1 Detailed Table of Contents
-=head2 L<Part 1: Introduction|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.
=over 4
=back
-=head2 L<Part 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.
=over 4
=back
-=head2 L<Part 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.
=over 4
=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<Part 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.
=over 4
=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<Part 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.
=over 4
=back
-=head2 L<Part 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.
=over 4
=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
+ENABLE MODEL-BASED AUTHORIZATION
=back
-=back
+=head2 L<Chapter 7: Debugging|Catalyst::Manual::Tutorial::07_Debugging>
-=head2 L<Part 7: Debugging|Catalyst::Manual::Tutorial::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.
=over 4
DEBUGGING MODULES FROM CPAN
+=item *
+
+TT DEBUGGING
+
=back
-=head2 L<Part 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.
=over 4
=back
-=head2 L<Part 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.
=over 4
=back
-=head2 L<Part 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.
=over 4
=item *
People who have emailed me with corrections and suggestions on the
-tutorial. As of the most recent release, this include: Florian Ragwitz,
-Mauro Andreolini, Jim Howard, Giovanni Gigante, William Moreno, Bryan
+tutorial. As of the most recent release, this include: Florian 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, and Shlomi Fish. 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).
+Jones, David Kurtz, Ingo Wichmann, Shlomi Fish, Murray Walker, Adam
+Witney and xenoterracide (Caleb Cushing). 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 and Rafael Kitover for the work on updating the
+tutorial to include foreign key support for SQLite. I'm sure I am
+missing some names here... apologies for that (please let me know if you
+name should be here).
=back
Kennedy Clark, C<hkclark@gmail.com>
-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/trunk/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/>.
+Feel free to contact the author for any errors or suggestions, but the
+best way to report issues is via the CPAN RT Bug system at
+<https://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual>.
+
+***TODO: Update
+The most recent version of the Catalyst Tutorial can be found at
+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/>).
+Copyright 2006-2010, Kennedy Clark, under the
+Creative Commons Attribution Share-Alike License Version 3.0
+(L<http://creativecommons.org/licenses/by-sa/3.0/us/>).