X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Manual.git;a=blobdiff_plain;f=lib%2FCatalyst%2FManual%2FTutorial.pod;h=38c61457f797e5012a7f548ff219fc77cf0c74d2;hp=de9a4f9c76220c319d5384cab5b591ab922241e5;hb=1435672d3f51326b8f15006abcfe98180e89becb;hpb=5e6026272f809951ac22fae43b73d2c1dc79c7fc diff --git a/lib/Catalyst/Manual/Tutorial.pod b/lib/Catalyst/Manual/Tutorial.pod index de9a4f9..38c6145 100644 --- a/lib/Catalyst/Manual/Tutorial.pod +++ b/lib/Catalyst/Manual/Tutorial.pod @@ -11,55 +11,60 @@ commonly used features while focusing on real-world best practices. The tutorial is divided into the following sections: -B CLICK THESE LINKS TO JUMP TO CHAPTERS (the index links above +B (the index links above only navigate inside this page). =over 4 -=item * +=item 1 L -=item * +=item 2 L -=item * +=item 3 + +L + +=item 4 L -=item * +=item 5 L -=item * +=item 6 L -=item * +=item 7 L -=item * +=item 8 L -=item * +=item 9 L -=item * +=item 10 L =back -A tarball of the final application is available at -L. +Final code tarballs for each part of the tutorial are available at +L. =head1 Detailed Table of Contents + =head2 L =over 4 @@ -93,33 +98,39 @@ CREATE A CATALYST PROJECT =item * -CREATE A SQLITE DATABASE +HELLO WORLD + +=over 4 =item * -EDIT THE LIST OF CATALYST PLUGINS +The Simplest Way =item * -DATABASE ACCESS WITH DBIx::Class - +Hello, World! Using a View and a Template -=over 4 +=back =item * -Create a DBIC Schema File +CREATE A SIMPLE CONTROLLER AND AN ACTION + +=back -=item * -Create the DBIC ``Result Source'' Files +=head2 L + + +=over 4 =item * -Use Catalyst::Model::DBIC::Schema to Load the Model Class +CREATE A NEW APPLICATION -=back +=item * +EDIT THE LIST OF CATALYST PLUGINS =item * @@ -138,18 +149,49 @@ Create a Catalyst View Using TTSite =item * -Using RenderView for the Default View +Globally Customize Every View =item * -Globally Customize Every View +Create a TT Template Page + +=back =item * -Create a TT Template Page +CREATE A SQLITE DATABASE + +=item * + +DATABASE ACCESS WITH DBIx::Class + +=over 4 + +=item * + +Create a Dynamic DBIC Model =back +=item * + +RUN THE APPLICATION + +=item * + +A STATIC DATABASE MODEL WITH DBIx::Class + +=over 4 + +=item * + +Create Static DBIC Schema Files + +=item * + +Updating the Generated DBIC Schema Files + +=back =item * @@ -157,11 +199,32 @@ RUN THE APPLICATION =item * -USING THE DEFAULT TEMPLATE NAME +RUNNING THE APPLICATION FROM THE COMMAND LINE + +=item * + +UPDATING THE VIEW + +=over 4 + +=item * + +Using RenderView for the Default View + +=item * + +Using The Default Template Name + +=item * + +Return To A Manually-Specified Template + +=back =back -=head2 L + +=head2 L =over 4 @@ -227,11 +290,28 @@ Add a Delete Action to the Controller Try the Delete Feature +=item * + +Fixing a Dangerous URL + +=item * + +Try the Delete and Redirect Logic + +=item * + +Using uri_for to Pass Query Parameters + +=item * + +Try the Delete and Redirect With Query Param Logic + =back =back -=head2 L + +=head2 L =over 4 @@ -251,10 +331,6 @@ Add User and Role Information to DBIC Schema =item * -Create New ``Result Source Objects'' - -=item * - Sanity-Check Reload of Development Server =item * @@ -311,9 +387,26 @@ Try Out the Hashed Passwords =back +=item * + +USING THE SESSION FOR FLASH + +=over 4 + +=item * + +Try Out Flash + +=item * + +Switch To Flash-To-Stash + =back -=head2 L +=back + + +=head2 L =over 4 @@ -367,7 +460,8 @@ Add a Method to Handle Access Violations =back -=head2 L + +=head2 L =over 4 @@ -385,7 +479,8 @@ DEBUGGING MODULES FROM CPAN =back -=head2 L + +=head2 L =over 4 @@ -407,85 +502,19 @@ SUPPORTING BOTH PRODUCTION AND TEST DATABASES =back -=head2 L - -=over 4 - -=item * -HTML::WIDGET FORM CREATION +=head2 L =over 4 =item * -Add the HTML::Widget Plugin - -=item * - -Add a Form Creation Helper Method - -=item * - -Add Actions to Display and Save the Form - -=item * - -Update the CSS - -=item * - -Create a Template Page To Display The Form - -=item * - -Add Links for Create and Update via HTML::Widget - -=item * - -Test The Create Form - -=back - -=item * - -HTML::WIDGET VALIDATION AND FILTERING - -=over 4 - -=item * - -Add Constraints and Filters to the Widget Creation Method - -=item * - -Rebuild the Form Submission Method to Include Validation - -=item * - -Try Out the Form +ADVANCED CRUD OPTIONS =back -=item * - -Enable DBIx::Class::HTMLWidget Support - -=over 4 - -=item * - -Add DBIx::Class::HTMLWidget to DBIC Model - -=item * - -Use populate_from_widget in hw_create_do -=back - -=back - -=head2 L +=head2 L =over 4 @@ -557,7 +586,11 @@ key Catalyst modules. Other Catalyst documentation folks like Kieren Diment, Gavin Henry, and Jess Robinson (including their work on the original Catalyst -tutorial). +tutorial). + +=item * + +Kieren Diment for his oversite of Catalyst-related documentation. =item * @@ -565,11 +598,20 @@ Everyone on #catalyst and #catalyst-dev. =item * +Louis Moore (who thanks Marcello Romani and Tom Lanyon) for the +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, and Ingo Wichmann. +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. 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). =back @@ -579,7 +621,7 @@ Kennedy Clark, C Please report any errors, issues or suggestions to the author. The most recent version of the Catalyst Tutorial can be found at -L. +L. -Copyright 2006, Kennedy Clark, under Creative Commons License +Copyright 2006-2008, Kennedy Clark, under Creative Commons License (L).