Initial import of Catalyst::Plugin::Authenticate::FTP, Catalyst::Plugin::Authenticate...
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Manual / Intro.pod
index b44c065..85d4d22 100644 (file)
@@ -24,7 +24,7 @@ Access and modify content (data). L<Class::DBI>, L<Plucene>, L<Net::LDAP>...
 
 =item * B<View>
 
-Present content to the user. L<Template Toolkit|Template>, L<Mason|HTML::Mason>...
+Present content to the user. L<Template Toolkit|Template>, L<Mason|HTML::Mason>, L<HTML::Template>...
 
 =item * B<Controller>
 
@@ -119,7 +119,7 @@ Now visit these locations with your favorite browser or user agent to see Cataly
 
 =item http://localhost:3000/
 
-=item http://localhost:3000/my_controller/
+=item http://localhost:3000/my/controller/
 
 =back
 
@@ -131,7 +131,7 @@ Let's see how Catalyst works, by taking a closer look at the components and othe
 
 =head3 Application Class
 
-In addition to the Model, View, and Controller components, there's a single class that represents your application itself. This is where you configure your application, load plugins, define application-wide actions and extend Catalyst.
+In addition to the Model, View, and Controller components, there's a single class that represents your application itself. This is where you configure your application, load plugins, define application-wide actions, and extend Catalyst.
 
     package MyApp;
 
@@ -171,7 +171,9 @@ However, you can define as many parameters as you want for plugins or whatever y
 
 =head3 Context
 
-Catalyst automatically blesses a Context object into your application class and makes it available everywhere in your application. Use the Context to directly interact with Catalyst and glue your L<Components> together. 
+Catalyst automatically blesses a Context object into your application class and makes it available everywhere in your application. Use the Context to directly interact with Catalyst and glue your L<Components> together. For example, if you need to use the Context from within a Template Toolkit template, it's already there:
+
+    <h1>Welcome to [% c.config.name %]!</h1>
 
 As illustrated earlier in our URL-to-Action dispatching example, the Context is always the second method parameter, behind the Component object reference or class name itself. Previously we called it C<$context> for clarity, but most Catalyst developers just call it C<$c>:
 
@@ -242,6 +244,8 @@ The last of these, the stash, is a universal hash for sharing data among applica
         $c->res->output( $c->stash->{message} );
     }
 
+Note that the stash should be used only for passing data in an individual request cycle; it gets cleared at a new request. If you need to maintain more persistent data, use a session.
+
 =head3 Actions
 
 A Catalyst controller is defined by its actions. An action is
@@ -502,7 +506,7 @@ This gives us a process() method and we can now just do $c->forward('MyApp::V::T
 
 You normally render templates at the end of a request, so it's a perfect use for the global C<end> action.
 
-Also, be sure to put the template under the directory specified in C<$c-E<gt>config-E<lt>{root}>, or you'll be forced to look at our eyecandy debug screen. ;)
+Also, be sure to put the template under the directory specified in C<$c-E<gt>config-E<gt>{root}>, or you'll be forced to look at our eyecandy debug screen. ;)
 
 =head4 Models
 
@@ -623,6 +627,7 @@ Mailing-lists:
 Sebastian Riedel, C<sri@oook.de> 
 David Naughton, C<naughton@umn.edu>
 Marcus Ramberg, C<mramberg@cpan.org>
+Jesse Sheidlower, C<jester@panix.com>
 
 =head1 COPYRIGHT