Clarify mod_perl1 vs mod_perl2 vs mod_perl 1.99
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Upgrading.pod
index fbad34c..4fec7d3 100644 (file)
@@ -39,13 +39,15 @@ enough to use L<Catalyst::Script::FastCGI>.
 =head2 Upgrading the mod_perl / Apache Engines
 
 The engines that are build upon the various iterations of mod_perl,
-L<Catalyst::Engine::Apache::MP13> and
-L<Catalyst::Engine::Apache2::MP20> should be seamless upgrades and will
-work using using L<Plack::Handler::Apache1> or L<Plack::Handler::Apache2>
-as required.  
+L<Catalyst::Engine::Apache::MP13> (for mod_perl 1, and Apache 1.x) and
+L<Catalyst::Engine::Apache2::MP20> (for mod_perl 2, and Apache 2.x)
+should be seamless upgrades and will work using using L<Plack::Handler::Apache1>
+or L<Plack::Handler::Apache2> as required.
 
 L<Catalyst::Engine::Apache2::MP19>, is however no longer supported, as Plack
-does not support mod_perl version 1.99
+does not support mod_perl version 1.99. This is unlikely to be a problem
+for anyone, as 1.99 was a brief beta-test release for mod_perl 2, and any users
+are encouraged to upgrade to a supported release of Apache 2 and mod_perl 2.
 
 =head2 Upgrading the HTTP Engine
 
@@ -61,11 +63,29 @@ myapp_cgi.pl script is already upgraded enough to use L<Catalyst::Script::CGI>.
 =head2 Upgrading the Preforking Engine
 
 If you were using L<Catalyst::Engine::HTTP::Prefork> then L<Starman>
-is automatically loaded.
+is automatically loaded. You should (at least) change your C<Makefile.PL>
+to depend on Starman.
 
-If you were customising your server script to pass options to the prefork engine,
-then this is no longer supported. The recommended route to implement this functionality
-is to write a simple .psgi file for your application, then use the L<plackup> utility.
+You can regenerate your C<myapp_server.pl> script with C<catalyst.pl>
+and implement a C<MyApp::Script::Server> class that looks like this:
+
+    package MyApp::Script::Server;
+    use Moose;
+    use namespace::autoclean;
+
+    extends 'CatalystX::Script::Server::Starman';
+
+    1;
+
+This takes advantage of the new script system, and adds a number of options to
+the standard server script as extra options are added by Starman.
+
+More information about these options can be seen at
+L<CatalystX::Script::Server::Starman/SYNOPSIS>.
+
+An alternate route to implement this functionality is to write a simple .psgi
+file for your application, then use the L<plackup> utility to start the
+server.
 
 =head2 Upgrading the PSGI Engine