--- /dev/null
+=head1 NAME
+
+Catalyst::Manual::Actions - Catalyst Reusable Actions
+
+=head1 DESCRIPTION
+
+This section of the manual describes the reusable action system in
+Catalyst, how they work, descriptions of some existing ones, and how to
+write your own. Reusable actions are attributes on Catalyst methods
+that allow you to decorate your method with functions running before or
+after the method call. This can be used to implement commonly used
+action patterns, while still leaving you full freedom to customize them.
+
+=head1 USING ACTIONS
+
+This is pretty simple. It works just like the normal dispatch attributes
+you are used to, like Local or Private:
+
+ sub Hello :Local :ActionClass('SayBefore') {
+ $c->res->output( 'Hello '.$c->stash->{what} );
+ }
+
+In this example, we expect the SayBefore action to magically populate
+stash with something relevant before C<Hello> is run. In the next
+section we'll show you how to implement it. If you want it in another
+namespace than Catalyst::Action you can prefix the action name with a
+'+', for instance '+Foo::SayBefore', or if you just want it under your
+application namespace instead, use MyAction, like MyAction('SayBefore').
+
+=head1 WRITING YOUR OWN ACTIONS
+
+Implementing the action itself is almost as easy. Just use
+L<Catalyst::Action> as a base class and decorate the C<execute> call in
+the Action class:
+
+ package Catalyst::Action::SayBefore;
+
+ use base 'Catalyst::Action';
+
+ sub execute {
+ my $self = shift;
+ my ( $controller, $c, $test ) = @_;
+ $c->stash->{what} = 'world';
+ $self->NEXT::execute( @_ );
+ };
+
+ 1;
+
+If you want to do something after the action, just put it after the
+C<execute> call. Pretty simple, huh?
+
+=head1 ACTIONS
+
+=head2 Catalyst::Action::RenderView
+
+This is meant to decorate end actions. It's similar in operation to
+L<Catalyst::Plugin::DefaultEnd>, but allows you to decide on an action
+level rather than on an application level where it should be run.
+
+=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.