Update year on copyright
[catagits/Catalyst-Manual.git] / lib / Catalyst / Manual / Tutorial / 03_MoreCatalystBasics.pod
index e8da3f6..b8ef611 100644 (file)
@@ -303,9 +303,9 @@ and add the following method to the controller:
     
         # Retrieve all of the book records as book model objects and store in the
         # stash where they can be accessed by the TT template
-        # $c->stash->{books} = [$c->model('DB::Book')->all];
+        # $c->stash(books => [$c->model('DB::Book')->all]);
         # But, for now, use this code until we create the model later
-        $c->stash->{books} = '';
+        $c->stash(books => '');
     
         # Set the TT template to use.  You will almost always want to do this
         # in your action methods (action methods respond to user input in
@@ -436,22 +436,20 @@ but its use is now deprecated.
 Enter the following command to enable the C<TT> style of view
 rendering for this tutorial:
 
-    $ script/myapp_create.pl view TT TT
+    $ script/myapp_create.pl view HTML TT
      exists "/home/me/MyApp/script/../lib/MyApp/View"
      exists "/home/me/MyApp/script/../t"
-     created "/home/me/MyApp/script/../lib/MyApp/View/TT.pm"
-     created "/home/me/MyApp/script/../t/view_TT.t"
-
-This simply creates a view called C<TT> (the second 'TT' argument) in 
-a file called C<TT.pm> (the first 'TT' argument). It is now up to you 
-to decide how you want to structure your view layout.  For the 
-tutorial, we will start with a very simple TT template to initially 
-demonstrate the concepts, but quickly migrate to a more typical 
-"wrapper page" type of configuration (where the "wrapper" controls the 
-overall "look and feel" of your site from a single file or set of 
-files).
-
-Edit C<lib/MyApp/View/TT.pm> and you should see that the default
+     created "/home/me/MyApp/script/../lib/MyApp/View/HTML.pm"
+     created "/home/me/MyApp/script/../t/view_HTML.t"
+
+This simply creates a view called C<HTML> in a file called C<HTML.pm> (the first
+argument). It is now up to you to decide how you want to structure your view
+layout.  For the tutorial, we will start with a very simple TT template to
+initially demonstrate the concepts, but quickly migrate to a more typical
+"wrapper page" type of configuration (where the "wrapper" controls the overall
+"look and feel" of your site from a single file or set of files).
+
+Edit C<lib/MyApp/View/HTML.pm> and you should see that the default
 contents contains something similar to the following:
 
     __PACKAGE__->config(TEMPLATE_EXTENSION => '.tt');
@@ -699,14 +697,16 @@ run this command:
 
     $ perl -MCatalyst::Model::DBIC::Schema -e \
         'print "$Catalyst::Model::DBIC::Schema::VERSION\n"'
-    0.39
+    0.4
 
 Please note the '\' above.  Depending on your environment, you might 
 be able to cut and paste the text as shown or need to remove the '\' 
 character to that the command is all on a single line.
 
-If you have less than v0.39, you will need to run this command to 
-install it directly from CPAN:
+If you are following along in Debian 5, you should have version 0.40 or 
+higher (shown above as "0.4" with the tailing zero removed). If you have 
+less than v0.39, you will need to run this command to install it 
+directly from CPAN: 
 
     $ sudo cpan Catalyst::Model::DBIC::Schema
 
@@ -857,7 +857,7 @@ and delete the next 2 lines):
     
         # Retrieve all of the book records as book model objects and store
         # in the stash where they can be accessed by the TT template
-        $c->stash->{books} = [$c->model('DB::Book')->all];
+        $c->stash(books => [$c->model('DB::Book')->all]);
     
         # Set the TT template to use.  You will almost always want to do this
         # in your action methods (action methods respond to user input in
@@ -897,7 +897,7 @@ enter:
 
     $ export DBIC_TRACE=1
     $ script/myapp_server.pl -r 
-    
+
 This assumes you are using bash as your shell -- adjust accordingly if
 you are using a different shell (for example, under tcsh, use
 C<setenv DBIC_TRACE 1>).
@@ -934,7 +934,7 @@ display something like:
     | MyApp::Model::DB::Author                                        | class    |
     | MyApp::Model::DB::Book                                          | class    |
     | MyApp::Model::DB::BookAuthor                                    | class    |
-    | MyApp::View::TT                                                 | instance |
+    | MyApp::View::HTML                                               | instance |
     '-----------------------------------------------------------------+----------'
     
     [debug] Loaded Private actions:
@@ -1016,12 +1016,12 @@ will appear across your entire site/application instead of having to
 edit many individual files.
 
 
-=head2 Configure TT.pm For The Wrapper
+=head2 Configure HTML.pm For The Wrapper
 
 In order to create a wrapper, you must first edit your TT view and
 tell it where to find your wrapper file. 
 
-Edit you TT view in C<lib/MyApp/View/TT.pm> and change it to match the 
+Edit you TT view in C<lib/MyApp/View/HTML.pm> and change it to match the 
 following:
 
     __PACKAGE__->config(
@@ -1174,7 +1174,7 @@ provide lots of high-quality CSS functionality.
 Hit "Reload" in your web browser and you should now see a formatted 
 version of our basic book list. (Again, the development server should 
 have automatically restarted when you made changes to 
-C<lib/MyApp/View/TT.pm>. If you are not using the "-r" option, you will 
+C<lib/MyApp/View/HTML.pm>. If you are not using the "-r" option, you will 
 need to hit C<Ctrl-C> and manually restart it. Also note that the 
 development server does I<NOT> need to restart for changes to the TT and 
 static files we created and edited in the C<root> directory -- those 
@@ -1282,10 +1282,9 @@ above:
       { join_type => "LEFT" },
     );
 
-
 The arguments are similar, but see 
 L<DBIx::Class::Relationship/belongs_to> for the details.
-    
+
 Although recent versions of SQLite and L<DBIx::Class::Schema::Loader> 
 automatically handle the C<has_many> and C<belongs_to> relationships, 
 C<many_to_many> relationships currently need to be manually inserted. 
@@ -1336,7 +1335,7 @@ ANYTHING ABOVE!> comment):
 
 Run the Catalyst development server script with the C<DBIC_TRACE> option
 (it might still be enabled from earlier in the tutorial, but here is an
-alternate way to specify the option just in case):
+alternate way to specify the trace option just in case):
 
     $ DBIC_TRACE=1 script/myapp_server.pl -r
 
@@ -1345,8 +1344,7 @@ three dynamically created model class (one for each of the
 Result Classes we created).
 
 Then hit the URL L<http://localhost:3000/books/list> with your browser 
-and be sure that the book list still displays correctly. You can leave 
-the development server running for the next step if you wish.
+and be sure that the book list still displays correctly.
 
 B<Note:> You will not see the authors yet because the view does not yet 
 use the new relations. Read on to the next section where we update the 
@@ -1505,8 +1503,8 @@ detailed information on how to extend C<RenderView> in C<sub end>.
 One of the nice features of C<RenderView> is that it automatically 
 allows you to add C<dump_info=1> to the end of any URL for your 
 application and it will force the display of the "exception dump" 
-screen to the client browser.  You can try this out by starting the 
-development server as before and then point your browser to this URL: 
+screen to the client browser.  You can try this out by pointing 
+your browser to this URL: 
 
     http://localhost:3000/books/list?dump_info=1
 
@@ -1555,7 +1553,7 @@ has changed):
     
         # Retrieve all of the book records as book model objects and store in the
         # stash where they can be accessed by the TT template
-        $c->stash->{books} = [$c->model('DB::Book')->all];
+        $c->stash(books => [$c->model('DB::Book')->all]);
     
         # Set the TT template to use.  You will almost always want to do this
         # in your action methods (actions methods respond to user input in
@@ -1564,9 +1562,8 @@ has changed):
     }
 
 
-You should now be able to restart the development server as per the
-previous section and access the L<http://localhost:3000/books/list>
-as before.
+You should now be able to access the L<http://localhost:3000/books/list>
+URL as before.
 
 B<NOTE:> Please note that if you use the default template technique,
 you will B<not> be able to use either the C<$c-E<gt>forward> or
@@ -1583,14 +1580,13 @@ In order to be able to use C<$c-E<gt>forward> and C<$c-E<gt>detach>
 later in the tutorial, you should remove the comment from the
 statement in C<sub list> in C<lib/MyApp/Controller/Books.pm>:
 
-    $c->stash->{template} = 'books/list.tt2';
+    $c->stash(template => 'books/list.tt2');
 
 Then delete the C<TEMPLATE_EXTENSION> line in
-C<lib/MyApp/View/TT.pm>.
+C<lib/MyApp/View/HTML.pm>.
 
-You should then be able to restart the development server and
-access L<http://localhost:3000/books/list> in the same manner as
-with earlier sections.
+Check the L<http://localhost:3000/books/list> URL in your browser.
+It should look the same manner as with earlier sections.
 
 
 =head1 AUTHOR
@@ -1601,5 +1597,5 @@ 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.80/trunk/lib/Catalyst/Manual/Tutorial/>.
 
-Copyright 2006-2008, Kennedy Clark, under Creative Commons License
+Copyright 2006-2010, Kennedy Clark, under Creative Commons License
 (L<http://creativecommons.org/licenses/by-sa/3.0/us/>).