instructions on how to read the tutorial
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Tutorial.pod
index c1bf5f2..59bb3a3 100644 (file)
@@ -9,63 +9,73 @@ quickly building high-functionality web applications.  This tutorial is
 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
+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
 
-A tarball of the final application is available at
-L<http://dev.catalyst.perl.org/repos/Catalyst/trunk/examples/Tutorial/Final_Tarball/MyApp.tgz>.
+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
 
@@ -88,7 +98,10 @@ WHERE TO GET WORKING CODE
 =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
 
@@ -119,8 +132,10 @@ CREATE A SIMPLE CONTROLLER AND AN ACTION
 =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
 
@@ -145,15 +160,15 @@ CATALYST VIEWS
 
 =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
 
@@ -175,7 +190,35 @@ Create a Dynamic DBIC Model
 
 =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 *
 
@@ -191,11 +234,15 @@ Create Static DBIC Schema Files
 
 Updating the Generated DBIC Schema Files
 
+=item *
+
+Run The Application
+
 =back
 
 =item *
 
-RUN THE APPLICATION
+UPDATING THE VIEW
 
 =item *
 
@@ -203,7 +250,7 @@ RUNNING THE APPLICATION FROM THE COMMAND LINE
 
 =item *
 
-UPDATING THE VIEW
+OPTIONAL INFORMATION
 
 =over 4
 
@@ -224,7 +271,10 @@ Return To A Manually-Specified Template
 =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
 
@@ -250,6 +300,22 @@ Try the url_create Feature
 
 =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
@@ -284,6 +350,10 @@ Include a Delete Link in the List
 
 =item *
 
+Add a Common Method to Retrieve a Book for the Chain
+
+=item *
+
 Add a Delete Action to the Controller
 
 =item *
@@ -308,10 +378,41 @@ Try the Delete and Redirect With Query Param Logic
 
 =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
 
@@ -406,7 +507,10 @@ Switch To Flash-To-Stash
 =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
 
@@ -440,28 +544,15 @@ Try Out Authentication And Authorization
 
 =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
 
@@ -477,10 +568,17 @@ RUNNING CATALYST UNDER THE PERL DEBUGGER
 
 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
 
@@ -503,7 +601,10 @@ SUPPORTING BOTH PRODUCTION AND TEST DATABASES
 =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
 
@@ -514,7 +615,10 @@ ADVANCED CRUD OPTIONS
 =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
 
@@ -604,13 +708,15 @@ PostgreSQL content in the Appendix.
 =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 
-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).
+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, Shlomi Fish, Murray 
+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
 
@@ -620,7 +726,7 @@ 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/>.
+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/>).