[Catalyst-commits] r11100 - in Catalyst-Manual/5.80/trunk/lib/Catalyst: . Manual

t0m at dev.catalyst.perl.org t0m at dev.catalyst.perl.org
Mon Aug 10 08:40:44 GMT 2009


Author: t0m
Date: 2009-08-10 08:40:24 +0000 (Mon, 10 Aug 2009)
New Revision: 11100

Modified:
   Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual.pm
   Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/About.pod
   Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Actions.pod
   Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/CatalystAndMoose.pod
   Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/DevelopmentProcess.pod
Log:
Expand CatalystAndMoose somewhat, re-arrange the DevelopmentProcess docs some more, and start adding better info on contributing, other misc cleanups

Modified: Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/About.pod
===================================================================
--- Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/About.pod	2009-08-10 08:28:43 UTC (rev 11099)
+++ Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/About.pod	2009-08-10 08:40:24 UTC (rev 11100)
@@ -258,7 +258,7 @@
 then generate an HTML page, which Catalyst will send to the user's
 browser, using whatever web server you've configured.
 
-How does this help you?
+=head3 How does this help you?
 
 In many ways. Suppose you have a small catalog now, and you're using a
 lightweight database such as SQLite, or maybe just a text file. But

Modified: Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Actions.pod
===================================================================
--- Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Actions.pod	2009-08-10 08:28:43 UTC (rev 11099)
+++ Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/Actions.pod	2009-08-10 08:40:24 UTC (rev 11100)
@@ -41,7 +41,7 @@
     my $self = shift;
     my ( $controller, $c, $test ) = @_;
     $c->stash->{what} = 'world';
-    $self->NEXT::execute( @_ );
+    $self->next::method( @_ );
   };
 
   1;

Modified: Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/CatalystAndMoose.pod
===================================================================
--- Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/CatalystAndMoose.pod	2009-08-10 08:28:43 UTC (rev 11099)
+++ Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/CatalystAndMoose.pod	2009-08-10 08:40:24 UTC (rev 11100)
@@ -12,13 +12,11 @@
 This document provides you with a short overview of common caveats and
 best practices to use L<Moose>-based classes within Catalyst.
 
-
 =head1 THE CONTEXT CLASS
 
 A Moose-ified version of the context class should look like this:
 
     package MyApp;
-
     use Moose;
     use namespace::autoclean;
     use Catalyst (
@@ -35,12 +33,12 @@
     # method modifiers generally must be created after setup because otherwise they will
     # conflict with plugin overrides
 
-    after 'finalize' => sub{
+    after 'finalize' => sub {
         my $c = shift;
         $c->log->info( 'done!' );
     }
 
-You should also be aware, that roles in C<< $c-E<gt>setup >> are applied
+You should also be aware that roles in C<< $c-E<gt>setup >> are applied
 after the last plugin with all the benefits of using a single
 L<with()|Moose/"with (@roles)"> statement in an ordinary L<Moose> class.
 
@@ -64,7 +62,6 @@
 you to pass parameters to roles, or perform conflict resolution.
 Conflict detection still works as expected.
 
-
 =head2 ACCESSORS
 
 Most of the request-specific attributes like C<$c-E<gt>stash>,
@@ -75,10 +72,10 @@
 slightly limits the gains that could be had by wielding the full power
 of L<Moose> attributes.
 
-Most of the accessors to information gathered during compile time is
-managed by C<Catalyst::ClassData>, which is a L<Moose>-aware version
-of L<Class::Data::Inheritable> but not compatible with
-L<MooseX::ClassAttribute>.
+Most of the accessors to information gathered during compile time (such
+as configuration) are managed by C<Catalyst::ClassData>, which is a 
+L<Moose>-aware version of L<Class::Data::Inheritable> but not compatible
+with L<MooseX::ClassAttribute>.
 
 =head2 ROLES AND METHOD MODIFIERS
 
@@ -89,13 +86,15 @@
 If backward compatibility is of no concern to you, you could as easily
 rewrite your plugins as roles and enjoy all the benefits of automatic
 method re-dispatching of C<< before >> and C<< after >> method
-modifiers, naming conflict detecting and generally cleaner code.
+modifiers, naming conflict detection and generally cleaner code.
 
+=head3 NOTE
+
 Plugins and roles should never use
 
     after 'setup' => sub { ... } # wrong
 
-but rely on
+(or any other method of hooking the setup method) but rely on
 
     after 'setup_finalize' => sub { ... } # this will work
 
@@ -108,7 +107,7 @@
 =head1 CONTROLLERS
 
 To activate Catalyst's action attributes, Moose-ified controller
-classes need to extend L<Catalyst::Controller> at compile time before
+classes need to extend L<Catalyst::Controller> at compile time, before
 the actions themselves are declared:
 
       package Catalyst::Controller::Root;
@@ -116,16 +115,27 @@
       use namespace::autoclean;
 
       BEGIN { extends 'Catalyst::Controller'; }
-      with qw(
-                # your controller roles
-            );
-
+      
 =head2 Controller Roles
 
 It is possible to use roles to apply method modifiers on controller actions
-from 5.80003 onwards, or use modifiers in actions in your controller classes
-themselves.
+from 5.80003 onwards, or use modifiers in your controller classes
+themselves. For example
 
+	package MyApp::Controller::Foo;
+	use Moose;
+	use namespace::autoclean;
+	BEGIN { extends 'Catalyst::Controller' };
+	
+    sub foo : Local { 
+	    my ($self, $c) = @_;
+	    $c->res->body('Hello ');
+	}
+	after foo => sub {
+		my ($self, $c) = @_;
+		$c->res->body($c->res->body . 'World');
+	};
+	
 It is possible to have action methods with attributes inside Moose roles, using
 the trait introduced in L<MooseX::MethodAttributes> version 0.12, example:
 
@@ -138,3 +148,18 @@
         ...
     }
 
+	package MyApp::Controller::Foo;
+   	use Moose;
+   	use namespace::autoclean;
+   	BEGIN { extends 'Catalyst::Controller' };
+
+	with 'MyApp::ControllerRole';
+	
+=head1 AUTHOR
+
+The Catalyst Core Team - see http://catalyst.perl.org/
+
+=head1 COPYRIGHT
+
+This program is free software. You can redistribute it and/or modify it
+under the same terms as Perl itself.

Modified: Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/DevelopmentProcess.pod
===================================================================
--- Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/DevelopmentProcess.pod	2009-08-10 08:28:43 UTC (rev 11099)
+++ Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual/DevelopmentProcess.pod	2009-08-10 08:40:24 UTC (rev 11100)
@@ -2,38 +2,49 @@
 
 Catalyst::Manual::DevelopmentProcess - Administrative structure of the Catalyst Development Process
 
-=head1 Aims of the Catalyst Core Team
+=head1 Catalyst development
 
-The main current goals of the Catalyst core development team continue to
-be stability, performance, and a more paced addition of features, with a
-focus on extensibility.
+=head2 Schedule
 
-The Catalyst Roadmap at
+There is no dated release cycle for Catalyst. New releases will be made
+when sufficient small fixes have accumalated, or an important bugfix, or
+significant feature addition is completed.
+
+=head2 Roadmanp for features
+
+The Catalyst Roadmap is kept at
 L<http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Runtime/5.80/trunk/lib/Roadmap.pod>
-will remain as is,
-and continues to reflect the specific priorities and schedule for future
-releases.
 
-=head1 Charter for the Catalyst Core Team
+=head2 Bug list
 
-=head2 Intention
+The TODO list with known bugs / deficiences is kept at
+L<http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Runtime/5.80/trunk/TODO>
 
+=head1 The Catalyst Core Team
+
 The intention of the Catalyst Core Team is to maintain and support the
 Catalyst framework, in order for it to be a viable and stable framework
 for developing web-based MVC applications. This includes both technical
 decisions about the Catalyst core distribution, and public relations
 relating to the Catalyst framework as a whole.
 
-The main priority for development is stability for the users of the
-framework, while improving usability and extensibility, as well as
-improving documentation and ease of deployment.
+The current goals of the Catalyst core development team are
+be stability, performance, and a paced addition of features, with a
+focus on extensibility.
 
+The core team are concerned with the 'core' Catalyst distributions
+(i.e. L<Catalyst::Runtime>, L<Catalyst::Devel> and L<Catalyst::Manual>),
+and also tries to encourage best practices for extension authors and
+cooperation and shared vision within the Catalyst community.
+
 =head2 Membership
 
 The Catalyst Core Team consists of the developers that have full commit
-privileges to the entire Catalyst source tree.
+privileges to the entire Catalyst source tree, who have made a significant
+contribution to the core Catalyst distributions, and various extensions and
+pugins.
 
-In addition, the core team may accept members that have non-technical
+In addition, the core team includes members that have non-technical
 roles such as marketing, legal, or economic responsibilities.
 
 Currently, the Core Team consists of the following people:
@@ -96,4 +107,28 @@
 questions or other correspondence. In cases where this is not possible,
 the same order as for CPAN Releases applies.
 
+=head1 Contributing to Catalyst
 
+The main philosophy behind Catalyst development can be surimsed as:
+
+    Patches welcome!
+
+Everyone is welcome (and will be encouraged) to contribute to Catalyst
+in whatever capacity they're able to. People in #catalyst-dev will be
+more than happy to talk newcomers through contributing their first patch,
+or how best to go about their first CPAN extension module..
+
+=head2 Repositories
+
+The Catalyst subversion repository can be found at:
+
+    http://dev.catalyst.perl.org/repos/Catalyst
+
+and the git repository can be found at FIXME
+
+=head2 New Catalyst extensions
+
+As Catalyst is deliberately designed for extension, there is an ecosystem of
+several hundred Catalyst extensions which can be found on CPAN.
+
+FIXME

Modified: Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual.pm
===================================================================
--- Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual.pm	2009-08-10 08:28:43 UTC (rev 11099)
+++ Catalyst-Manual/5.80/trunk/lib/Catalyst/Manual.pm	2009-08-10 08:40:24 UTC (rev 11100)
@@ -37,31 +37,31 @@
 
 =item *
 
-L<Catalyst::Manual::Intro|Catalyst::Manual::Intro>
+L<Catalyst::Manual::Intro>
 
 =item *
 
-L<Catalyst::Manual::Tutorial|Catalyst::Manual::Tutorial>
+L<Catalyst::Manual::Tutorial>
 
 =item *
 
-L<Catalyst::Manual::Actions|Catalyst::Manual::Actions>
+L<Catalyst::Manual::Actions>
 
 =item *
 
-L<Catalyst::Manual::Cookbook|Catalyst::Manual::Cookbook>
+L<Catalyst::Manual::Cookbook>
 
 =item *
 
-L<Catalyst::Manual::DevelopmentProcess|Catalyst::Manual::DevelopmentProcess>
+L<Catalyst::Manual::DevelopmentProcess>
 
 =item *
 
-L<Catalyst::Manual::ExtendingCatalyst|Catalyst::Manual::ExtendingCatalyst>
+L<Catalyst::Manual::ExtendingCatalyst>
 
 =item *
 
-L<Catalyst::Manual::Internals|Catalyst::Manual::Internals>
+L<Catalyst::Manual::Internals>
 
 =item *
 
@@ -69,12 +69,10 @@
 
 =back
 
-
 =head2 Books
 
 For additional information on Catalyst, there are currently two books available:
 
-
 =over 4
 
 =item *




More information about the Catalyst-commits mailing list