--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: unblock: libcatalyst-manual-perl/5.8005-1
- From: Ansgar Burchardt <ansgar@2008.43-1.org>
- Date: Sat, 04 Dec 2010 14:58:12 +0100
- Message-id: <20101204135812.29732.56278.reportbug@marvin.43-1.org>
Package: release.debian.org
Severity: wishlist
User: release.debian.org@packages.debian.org
Usertags: freeze-exception
Please consider unblocking libcatalyst-manual-perl/5.8005-1. The last missing
file (Tutorial.pod) is now available under a DFSG-free license, so the package
moved from non-free to main in the last upload. One less reason for users to
have non-free enabled ;-)
The package only contains documentation and there are no reverse dependencies.
Regards,
Ansgar
unblock libcatalyst-manual-perl/5.8005-1
Changes | 4
META.yml | 4
debian/README.source | 5
debian/changelog | 18
debian/control | 10
debian/copyright | 293 ----------
debian/rules | 2
debian/source/format | 1
inc/Module/AutoInstall.pm | 17
inc/Module/Install.pm | 31 -
inc/Module/Install/AutoInstall.pm | 2
inc/Module/Install/Base.pm | 2
inc/Module/Install/Can.pm | 2
inc/Module/Install/Fetch.pm | 2
inc/Module/Install/Include.pm | 2
inc/Module/Install/Makefile.pm | 65 --
inc/Module/Install/Metadata.pm | 54 -
inc/Module/Install/Win32.pm | 2
inc/Module/Install/WriteAll.pm | 2
lib/Catalyst/Manual.pm | 4
lib/Catalyst/Manual/Actions.pod | 2
lib/Catalyst/Manual/CatalystAndMoose.pod | 2
lib/Catalyst/Manual/Cookbook.pod | 37 -
lib/Catalyst/Manual/Tutorial.pod | 26
lib/Catalyst/Manual/Tutorial/01_Intro.pod | 2
lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod | 32 -
lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod | 34 -
lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod | 10
lib/Catalyst/Manual/Tutorial/05_Authentication.pod | 26
lib/Catalyst/Manual/Tutorial/06_Authorization.pod | 7
lib/Catalyst/Manual/Tutorial/07_Debugging.pod | 4
lib/Catalyst/Manual/Tutorial/08_Testing.pod | 52 +
lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD.pod | 2
lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod | 2
lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod | 23
lib/Catalyst/Manual/Tutorial/10_Appendices.pod | 2
36 files changed, 255 insertions(+), 530 deletions(-)
diff -Nru -w libcatalyst-manual-perl-5.8004/Changes libcatalyst-manual-perl-5.8005/Changes
--- libcatalyst-manual-perl-5.8004/Changes 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/Changes 2010-10-29 13:59:38.000000000 +0200
@@ -1,5 +1,9 @@
Revision history for Catalyst-Manual
+5.8005 27 Oct 2010
+ - Tutorial:
+ - Add DATABASE CONFIG SWITCHING USING MULTIPLE CONFIG FILES section
+ - Critical bugfix on index page.
5.8004 17 Feb 2010
- Tutorial:
- Add foreign key support for SQLite
diff -Nru -w libcatalyst-manual-perl-5.8004/META.yml libcatalyst-manual-perl-5.8005/META.yml
--- libcatalyst-manual-perl-5.8004/META.yml 2010-02-17 20:19:52.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/META.yml 2010-10-29 14:02:26.000000000 +0200
@@ -8,7 +8,7 @@
configure_requires:
ExtUtils::MakeMaker: 6.42
distribution_type: module
-generated_by: 'Module::Install version 0.930'
+generated_by: 'Module::Install version 0.91'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -21,4 +21,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Manual/5.80/trunk/
-version: 5.8004
+version: 5.8005
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/README.source libcatalyst-manual-perl-5.8005/debian/README.source
--- libcatalyst-manual-perl-5.8004/debian/README.source 2010-12-04 14:50:19.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/README.source 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-This package uses quilt to manage all modifications to the upstream
-source. Changes are stored in the source package as diffs in
-debian/patches and applied during the build.
-
-See /usr/share/doc/quilt/README.source for a detailed explanation.
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/changelog libcatalyst-manual-perl-5.8005/debian/changelog
--- libcatalyst-manual-perl-5.8004/debian/changelog 2010-12-04 14:50:19.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/changelog 2010-10-30 20:38:05.000000000 +0200
@@ -1,3 +1,21 @@
+libcatalyst-manual-perl (5.8005-1) unstable; urgency=low
+
+ [ gregor herrmann ]
+ * debian/rules: switch order of arguments to dh.
+ * Set Standards-Version to 3.9.1; replace Conflicts with Breaks.
+
+ [ Ansgar Burchardt ]
+ * New upstream release.
+ - Tutorial.pod is now licensed as CC-BY-SA-3.0-US (was CC-BY-NC-SA-2.5).
+ * Move package from non-free to main.
+ * debian/copyright: Update for new upstream release; correct Maintainer,
+ Source and Name fields; refer to "Debian systems" instead of "Debian
+ GNU/Linux systems"; refer to /usr/share/common-licenses/GPL-1.
+ * Use source format 3.0 (quilt); drop README.source and quilt framework.
+ * Update my email address.
+
+ -- Ansgar Burchardt <ansgar@debian.org> Sat, 30 Oct 2010 20:38:04 +0200
+
libcatalyst-manual-perl (5.8004-1) unstable; urgency=low
[ Jonathan Yu ]
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/control libcatalyst-manual-perl-5.8005/debian/control
--- libcatalyst-manual-perl-5.8004/debian/control 2010-12-04 14:50:19.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/control 2010-10-30 20:22:36.000000000 +0200
@@ -1,13 +1,13 @@
Source: libcatalyst-manual-perl
-Section: non-free/perl
+Section: perl
Priority: optional
-Build-Depends: debhelper (>= 7.2.13), quilt (>= 0.46-7)
+Build-Depends: debhelper (>= 7.2.13)
Build-Depends-Indep: perl
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Uploaders: Krzysztof Krzyżaniak (eloy) <eloy@debian.org>,
- gregor herrmann <gregoa@debian.org>, Ansgar Burchardt <ansgar@43-1.org>,
+ gregor herrmann <gregoa@debian.org>, Ansgar Burchardt <ansgar@debian.org>,
Jonathan Yu <jawnsy@cpan.org>
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
Homepage: http://search.cpan.org/dist/Catalyst-Manual/
Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libcatalyst-manual-perl/
Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libcatalyst-manual-perl/
@@ -15,7 +15,7 @@
Package: libcatalyst-manual-perl
Architecture: all
Depends: ${perl:Depends}, ${misc:Depends}
-Conflicts: libcatalyst-modules-perl (<< 31)
+Breaks: libcatalyst-modules-perl (<< 31)
Description: developer's manual for Catalyst
Catalyst is an elegant web application framework, extremely flexible yet
extremely simple. It's similar to Ruby on Rails, Spring (Java) and Maypole,
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/copyright libcatalyst-manual-perl-5.8005/debian/copyright
--- libcatalyst-manual-perl-5.8004/debian/copyright 2010-12-04 14:50:19.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/copyright 2010-10-30 20:37:16.000000000 +0200
@@ -1,7 +1,7 @@
Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135
-Maintainer: Florian Ragwitz <rafl@debian.org>
-Source: http://search.cpan.org/dist/Catalyst-Runtime/
-Name: Catalyst-Runtime
+Maintainer: Kieren Diment
+Source: http://search.cpan.org/dist/Catalyst-Manual/
+Name: Catalyst-Manual
Files: *
Copyright: 2005-2010, Sebastian Riedel <sri@cpan.org>, Catalyst Core Team
@@ -14,17 +14,8 @@
Copyright: 2006, Jonathan Rockway <jrockway@cpan.org>
License: Artistic or GPL-1+
-Files: lib/Catalyst/Manual/Tutorial.pod
-Copyright: 2006-2008, Kennedy Clark <hkclark@gmail.com>
-License: CC-By-NC-SA-2.5
-
-Files: lib/Catalyst/Manual/Tutorial/*
-Copyright: 2006-2008, Kennedy Clark <hkclark@gmail.com>
-License: CC-By-SA-3.0-US
-
-Files: lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod
-Copyright: 2006-2008, Kennedy Clark <hkclark@gmail.com>
- 2006-2008, Gerda Shank <gshank@cpan.org>
+Files: lib/Catalyst/Manual/Tutorial.pod, lib/Catalyst/Manual/Tutorial/*
+Copyright: 2006-2010, Kennedy Clark <hkclark@gmail.com>
License: CC-By-SA-3.0-US
Files: lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod
@@ -39,17 +30,17 @@
Files: debian/*
Copyright: 2009-2010, Jonathan Yu <jawnsy@cpan.org>
- 2009, Ansgar Burchardt <ansgar@43-1.org>
+ 2009-2010, Ansgar Burchardt <ansgar@debian.org>
2009, gregor herrmann <gregoa@debian.org>
- 2008-2008, Krzysztof Krzyzaniak (eloy) <eloy@debian.org>
+ 2008, Krzysztof Krzyzaniak (eloy) <eloy@debian.org>
License: Artistic or GPL-1+
License: Artistic
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License, which comes with Perl.
.
- On Debian GNU/Linux systems, the complete text of the Artistic License
- can be found in `/usr/share/common-licenses/Artistic'
+ On Debian systems, the complete text of the Artistic License can be
+ found in `/usr/share/common-licenses/Artistic'.
License: GPL-1+
This program is free software; you can redistribute it and/or modify
@@ -57,270 +48,8 @@
the Free Software Foundation; either version 1, or (at your option)
any later version.
.
- On Debian GNU/Linux systems, the complete text of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL'
-
-License: CC-By-NC-SA-2.5
- THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
- CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
- PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
- WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
- PROHIBITED.
- .
- BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
- AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS
- YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF
- SUCH TERMS AND CONDITIONS.
- .
- 1. Definitions
- .
- 1. "Collective Work" means a work, such as a periodical issue,
- anthology or encyclopedia, in which the Work in its entirety in
- unmodified form, along with a number of other contributions,
- constituting separate and independent works in themselves, are
- assembled into a collective whole. A work that constitutes a
- Collective Work will not be considered a Derivative Work (as
- defined below) for the purposes of this License.
- 2. "Derivative Work" means a work based upon the Work or upon the
- Work and other pre-existing works, such as a translation,
- musical arrangement, dramatization, fictionalization, motion
- picture version, sound recording, art reproduction, abridgment,
- condensation, or any other form in which the Work may be
- recast, transformed, or adapted, except that a work that
- constitutes a Collective Work will not be considered a
- Derivative Work for the purpose of this License. For the
- avoidance of doubt, where the Work is a musical composition or
- sound recording, the synchronization of the Work in
- timed-relation with a moving image ("synching") will be
- considered a Derivative Work for the purpose of this License.
- 3. "Licensor" means the individual or entity that offers the Work
- under the terms of this License.
- 4. "Original Author" means the individual or entity who created
- the Work.
- 5. "Work" means the copyrightable work of authorship offered under
- the terms of this License.
- 6. "You" means an individual or entity exercising rights under
- this License who has not previously violated the terms of this
- License with respect to the Work, or who has received express
- permission from the Licensor to exercise rights under this
- License despite a previous violation.
- 7. "License Elements" means the following high-level license
- attributes as selected by Licensor and indicated in the title
- of this License: Attribution, Noncommercial, ShareAlike.
- .
- 2. Fair Use Rights. Nothing in this license is intended to reduce,
- limit, or restrict any rights arising from fair use, first sale
- or other limitations on the exclusive rights of the copyright
- owner under copyright law or other applicable laws.
- .
- 3. License Grant. Subject to the terms and conditions of this
- License, Licensor hereby grants You a worldwide, royalty-free,
- non-exclusive, perpetual (for the duration of the applicable
- copyright) license to exercise the rights in the Work as stated
- below:
- .
- 1. to reproduce the Work, to incorporate the Work into one or more
- Collective Works, and to reproduce the Work as incorporated in
- the Collective Works;
- 2. to create and reproduce Derivative Works;
- 3. to distribute copies or phonorecords of, display publicly,
- perform publicly, and perform publicly by means of a digital
- audio transmission the Work including as incorporated in
- Collective Works;
- 4. to distribute copies or phonorecords of, display publicly,
- perform publicly, and perform publicly by means of a digital
- audio transmission Derivative Works;
- .
- The above rights may be exercised in all media and formats whether
- now known or hereafter devised. The above rights include the right
- to make such modifications as are technically necessary to exercise
- the rights in other media and formats. All rights not expressly
- granted by Licensor are hereby reserved, including but not limited
- to the rights set forth in Sections 4(e) and 4(f).
- .
- 4. Restrictions. The license granted in Section 3 above is expressly
- made subject to and limited by the following restrictions:
- .
- 1. You may distribute, publicly display, publicly perform, or
- publicly digitally perform the Work only under the terms of
- this License, and You must include a copy of, or the Uniform
- Resource Identifier for, this License with every copy or
- phonorecord of the Work You distribute, publicly display,
- publicly perform, or publicly digitally perform. You may not
- offer or impose any terms on the Work that alter or restrict
- the terms of this License or the recipients' exercise of the
- rights granted hereunder. You may not sublicense the Work. You
- must keep intact all notices that refer to this License and to
- the disclaimer of warranties. You may not distribute, publicly
- display, publicly perform, or publicly digitally perform the
- Work with any technological measures that control access or
- use of the Work in a manner inconsistent with the terms of
- this License Agreement. The above applies to the Work as
- incorporated in a Collective Work, but this does not require
- the Collective Work apart from the Work itself to be made
- subject to the terms of this License. If You create a
- Collective Work, upon notice from any Licensor You must, to
- the extent practicable, remove from the Collective Work any
- credit as required by clause 4(d), as requested. If You create
- a Derivative Work, upon notice from any Licensor You must, to
- the extent practicable, remove from the Derivative Work any
- credit as required by clause 4(d), as requested.
- 2. You may distribute, publicly display, publicly perform, or
- publicly digitally perform a Derivative Work only under the
- terms of this License, a later version of this License with
- the same License Elements as this License, or a Creative
- Commons iCommons license that contains the same License
- Elements as this License
- (e.g. Attribution-NonCommercial-ShareAlike 2.5 Japan). You must
- include a copy of, or the Uniform Resource Identifier for, this
- License or other license specified in the previous sentence
- with every copy or phonorecord of each Derivative Work You
- distribute, publicly display, publicly perform, or publicly
- digitally perform. You may not offer or impose any terms on
- the Derivative Works that alter or restrict the terms of this
- License or the recipients' exercise of the rights granted
- hereunder, and You must keep intact all notices that refer to
- this License and to the disclaimer of warranties. You may not
- distribute, publicly display, publicly perform, or publicly
- digitally perform the Derivative Work with any technological
- measures that control access or use of the Work in a manner
- inconsistent with the terms of this License Agreement. The
- above applies to the Derivative Work as incorporated in a
- Collective Work, but this does not require the Collective Work
- apart from the Derivative Work itself to be made subject to
- the terms of this License.
- 3. You may not exercise any of the rights granted to You in
- Section 3 above in any manner that is primarily intended for
- or directed toward commercial advantage or private monetary
- compensation. The exchange of the Work for other copyrighted
- works by means of digital file-sharing or otherwise shall not
- be considered to be intended for or directed toward commercial
- advantage or private monetary compensation, provided there is
- no payment of any monetary compensation in connection with the
- exchange of copyrighted works.
- 4. If you distribute, publicly display, publicly perform, or
- publicly digitally perform the Work or any Derivative Works or
- Collective Works, You must keep intact all copyright notices
- for the Work and provide, reasonable to the medium or means
- You are utilizing:
- (i) the name of the Original Author (or pseudonym, if
- applicable) if supplied, and/or
- (ii) if the Original Author and/or Licensor designate another
- party or parties (e.g. a sponsor institute, publishing
- entity, journal) for attribution in Licensor's copyright
- notice, terms of service or by other reasonable means,
- the name of such party or parties; the title of the Work
- if supplied; to the extent reasonably practicable, the
- Uniform Resource Identifier, if any, that Licensor
- specifies to be associated with the Work, unless such URI
- does not refer to the copyright notice or licensing
- information for the Work; and in the case of a Derivative
- Work, a credit identifying the use of the Work in the
- Derivative Work (e.g., "French translation of the Work by
- Original Author," or "Screenplay based on original Work
- by Original Author"). Such credit may be implemented in
- any reasonable manner; provided, however, that in the case
- of a Derivative Work or Collective Work, at a minimum such
- credit will appear where any other comparable authorship
- credit appears and in a manner at least as prominent as
- such other comparable authorship credit.
- 5. For the avoidance of doubt, where the Work is a musical
- composition:
- 1. Performance Royalties Under Blanket Licenses. Licensor
- reserves the exclusive right to collect, whether
- individually or via a performance rights society
- (e.g. ASCAP, BMI, SESAC), royalties for the public
- performance or public digital performance (e.g. webcast) of
- the Work if that performance is primarily intended for or
- directed toward commercial advantage or private monetary
- compensation.
- 2. Mechanical Rights and Statutory Royalties. Licensor reserves
- the exclusive right to collect, whether individually or via
- a music rights agency or designated agent (e.g. Harry Fox
- Agency), royalties for any phonorecord You create from the
- Work ("cover version") and distribute, subject to the
- compulsory license created by 17 USC Section 115 of the US
- Copyright Act (or the equivalent in other jurisdictions),
- if Your distribution of such cover version is primarily
- intended for or directed toward commercial advantage or
- private monetary compensation.
- 6. Webcasting Rights and Statutory Royalties. For the avoidance of
- doubt, where the Work is a sound recording, Licensor reserves
- the exclusive right to collect, whether individually or via a
- performance-rights society (e.g. SoundExchange), royalties for
- the public digital performance (e.g. webcast) of the Work,
- subject to the compulsory license created by 17 USC Section 114
- of the US Copyright Act (or the equivalent in other
- jurisdictions), if Your public digital performance is primarily
- intended for or directed toward commercial advantage or private
- monetary compensation.
- .
- 5. Representations, Warranties and Disclaimer. UNLESS OTHERWISE
- MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE
- WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
- CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE,
- MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE,
- NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS,
- ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT
- DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF
- IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
- .
- 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY
- APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
- LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE
- OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE
- WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGES.
- .
- 7. Termination
- .
- 1. This License and the rights granted hereunder will terminate
- automatically upon any breach by You of the terms of this
- License. Individuals or entities who have received Derivative
- Works or Collective Works from You under this License, however,
- will not have their licenses terminated provided such
- individuals or entities remain in full compliance with those
- licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any
- termination of this License.
- 2. Subject to the above terms and conditions, the license granted
- here is perpetual (for the duration of the applicable copyright
- in the Work). Notwithstanding the above, Licensor reserves the
- right to release the Work under different license terms or to
- stop distributing the Work at any time; provided, however that
- any such election will not serve to withdraw this License (or
- any other license that has been, or is required to be, granted
- under the terms of this License), and this License will
- continue in full force and effect unless terminated as stated
- above.
- .
- 8. Miscellaneous
- .
- 1. Each time You distribute or publicly digitally perform the Work
- or a Collective Work, the Licensor offers to the recipient a
- license to the Work on the same terms and conditions as the
- license granted to You under this License.
- 2. Each time You distribute or publicly digitally perform a
- Derivative Work, Licensor offers to the recipient a license to
- the original Work on the same terms and conditions as the
- license granted to You under this License.
- 3. If any provision of this License is invalid or unenforceable
- under applicable law, it shall not affect the validity or
- enforceability of the remainder of the terms of this License,
- and without further action by the parties to this agreement,
- such provision shall be reformed to the minimum extent
- necessary to make such provision valid and enforceable.
- 4. No term or provision of this License shall be deemed waived
- and no breach consented to unless such waiver or consent shall
- be in writing and signed by the party to be charged with such
- waiver or consent.
- 5. This License constitutes the entire agreement between the
- parties with respect to the Work licensed here. There are no
- understandings, agreements or representations with respect to
- the Work not specified here. Licensor shall not be bound by any
- additional provisions that may appear in any communication from
- You. This License may not be modified without the mutual
- written agreement of the Licensor and You.
+ On Debian systems, the complete text of version 1 of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-1'.
License: CC-By-SA-3.0-US
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/rules libcatalyst-manual-perl-5.8005/debian/rules
--- libcatalyst-manual-perl-5.8004/debian/rules 2010-12-04 14:50:19.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/rules 2010-10-30 20:15:28.000000000 +0200
@@ -1,4 +1,4 @@
#!/usr/bin/make -f
%:
- dh --with quilt $@
+ dh $@
diff -Nru -w libcatalyst-manual-perl-5.8004/debian/source/format libcatalyst-manual-perl-5.8005/debian/source/format
--- libcatalyst-manual-perl-5.8004/debian/source/format 1970-01-01 01:00:00.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/debian/source/format 2010-10-30 20:14:44.000000000 +0200
@@ -0,0 +1 @@
+3.0 (quilt)
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/AutoInstall.pm libcatalyst-manual-perl-5.8005/inc/Module/AutoInstall.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/AutoInstall.pm 2010-02-17 20:19:51.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/AutoInstall.pm 2010-10-29 14:02:26.000000000 +0200
@@ -672,20 +672,7 @@
sub _load_cpan {
return if $CPAN::VERSION and $CPAN::Config and not @_;
require CPAN;
-
- # CPAN-1.82+ adds CPAN::Config::AUTOLOAD to redirect to
- # CPAN::HandleConfig->load. CPAN reports that the redirection
- # is deprecated in a warning printed at the user.
-
- # CPAN-1.81 expects CPAN::HandleConfig->load, does not have
- # $CPAN::HandleConfig::VERSION but cannot handle
- # CPAN::Config->load
-
- # Which "versions expect CPAN::Config->load?
-
- if ( $CPAN::HandleConfig::VERSION
- || CPAN::HandleConfig->can('load')
- ) {
+ if ( $CPAN::HandleConfig::VERSION ) {
# Newer versions of CPAN have a HandleConfig module
CPAN::HandleConfig->load;
} else {
@@ -815,4 +802,4 @@
__END__
-#line 1069
+#line 1056
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/AutoInstall.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/AutoInstall.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/AutoInstall.pm 2010-02-17 20:19:50.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/AutoInstall.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Base.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Base.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Base.pm 2010-02-17 20:19:50.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Base.pm 2010-10-29 14:02:26.000000000 +0200
@@ -4,7 +4,7 @@
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
}
# Suspend handler for "redefined" warnings
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Can.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Can.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Can.pm 2010-02-17 20:19:50.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Can.pm 2010-10-29 14:02:26.000000000 +0200
@@ -9,7 +9,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Fetch.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Fetch.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Fetch.pm 2010-02-17 20:19:51.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Fetch.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Include.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Include.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Include.pm 2010-02-17 20:19:50.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Include.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Makefile.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Makefile.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Makefile.pm 2010-02-17 20:19:51.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Makefile.pm 2010-10-29 14:02:26.000000000 +0200
@@ -7,7 +7,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -34,17 +34,6 @@
}
}
-# Store a cleaned up version of the MakeMaker version,
-# since we need to behave differently in a variety of
-# ways based on the MM version.
-my $makemaker = eval $ExtUtils::MakeMaker::VERSION;
-
-# If we are passed a param, do a "newer than" comparison.
-# Otherwise, just return the MakeMaker version.
-sub makemaker {
- ( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0
-}
-
sub makemaker_args {
my $self = shift;
my $args = ( $self->{makemaker_args} ||= {} );
@@ -55,7 +44,7 @@
# For mm args that take multiple space-seperated args,
# append an argument to the current list.
sub makemaker_append {
- my $self = shift;
+ my $self = sShift;
my $name = shift;
my $args = $self->makemaker_args;
$args->{name} = defined $args->{$name}
@@ -118,9 +107,6 @@
%test_dir = ();
require File::Find;
File::Find::find( \&_wanted_t, $dir );
- if ( -d 'xt' and ($ENV{RELEASE_TESTING} or $self->author) ) {
- File::Find::find( \&_wanted_t, 'xt' );
- }
$self->tests( join ' ', map { "$_/*.t" } sort keys %test_dir );
}
@@ -144,9 +130,8 @@
# an underscore, even though its own version may contain one!
# Hence the funny regexp to get rid of it. See RT #35800
# for details.
- my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
- $self->build_requires( 'ExtUtils::MakeMaker' => $v );
- $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
+ $self->build_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/ );
+ $self->configure_requires( 'ExtUtils::MakeMaker' => $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/ );
} else {
# Allow legacy-compatibility with 5.005 by depending on the
# most recent EU:MM that supported 5.005.
@@ -160,75 +145,49 @@
$args->{NAME} = $self->module_name || $self->name;
$args->{VERSION} = $self->version;
$args->{NAME} =~ s/-/::/g;
- $DB::single = 1;
if ( $self->tests ) {
$args->{test} = { TESTS => $self->tests };
- } elsif ( -d 'xt' and ($self->author or $ENV{RELEASE_TESTING}) ) {
- $args->{test} = {
- TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ),
- };
}
if ( $] >= 5.005 ) {
$args->{ABSTRACT} = $self->abstract;
$args->{AUTHOR} = $self->author;
}
- if ( $self->makemaker(6.10) ) {
+ if ( eval($ExtUtils::MakeMaker::VERSION) >= 6.10 ) {
$args->{NO_META} = 1;
- #$args->{NO_MYMETA} = 1;
}
- if ( $self->makemaker(6.17) and $self->sign ) {
+ if ( eval($ExtUtils::MakeMaker::VERSION) > 6.17 and $self->sign ) {
$args->{SIGN} = 1;
}
unless ( $self->is_admin ) {
delete $args->{SIGN};
}
+ # Merge both kinds of requires into prereq_pm
my $prereq = ($args->{PREREQ_PM} ||= {});
%$prereq = ( %$prereq,
- map { @$_ } # flatten [module => version]
+ map { @$_ }
map { @$_ }
grep $_,
- ($self->requires)
+ ($self->configure_requires, $self->build_requires, $self->requires)
);
# Remove any reference to perl, PREREQ_PM doesn't support it
delete $args->{PREREQ_PM}->{perl};
- # Merge both kinds of requires into BUILD_REQUIRES
- my $build_prereq = ($args->{BUILD_REQUIRES} ||= {});
- %$build_prereq = ( %$build_prereq,
- map { @$_ } # flatten [module => version]
- map { @$_ }
- grep $_,
- ($self->configure_requires, $self->build_requires)
- );
-
- # Remove any reference to perl, BUILD_REQUIRES doesn't support it
- delete $args->{BUILD_REQUIRES}->{perl};
-
- # Delete bundled dists from prereq_pm
+ # merge both kinds of requires into prereq_pm
my $subdirs = ($args->{DIR} ||= []);
if ($self->bundles) {
foreach my $bundle (@{ $self->bundles }) {
my ($file, $dir) = @$bundle;
push @$subdirs, $dir if -d $dir;
- delete $build_prereq->{$file}; #Delete from build prereqs only
+ delete $prereq->{$file};
}
}
- unless ( $self->makemaker('6.55_03') ) {
- %$prereq = (%$prereq,%$build_prereq);
- delete $args->{BUILD_REQUIRES};
- }
-
if ( my $perl_version = $self->perl_version ) {
eval "use $perl_version; 1"
or die "ERROR: perl: Version $] is installed, "
. "but we need version >= $perl_version";
-
- if ( $self->makemaker(6.48) ) {
- $args->{MIN_PERL_VERSION} = $perl_version;
- }
}
$args->{INSTALLDIRS} = $self->installdirs;
@@ -306,4 +265,4 @@
__END__
-#line 435
+#line 394
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Metadata.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Metadata.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Metadata.pm 2010-02-17 20:19:50.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Metadata.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -230,8 +230,6 @@
die("The path '$file' does not exist, or is not a file");
}
- $self->{values}{all_from} = $file;
-
# Some methods pull from POD instead of code.
# If there is a matching .pod, use that instead
my $pod = $file;
@@ -387,10 +385,11 @@
}
}
-sub _extract_perl_version {
+sub perl_version_from {
+ my $self = shift;
if (
- $_[0] =~ m/
- ^\s*
+ Module::Install::_read($_[0]) =~ m/
+ ^
(?:use|require) \s*
v?
([\d_\.]+)
@@ -399,16 +398,6 @@
) {
my $perl_version = $1;
$perl_version =~ s{_}{}g;
- return $perl_version;
- } else {
- return;
- }
-}
-
-sub perl_version_from {
- my $self = shift;
- my $perl_version=_extract_perl_version(Module::Install::_read($_[0]));
- if ($perl_version) {
$self->perl_version($perl_version);
} else {
warn "Cannot determine perl version info from $_[0]\n";
@@ -436,12 +425,13 @@
}
}
-sub _extract_license {
+sub license_from {
+ my $self = shift;
if (
- $_[0] =~ m/
+ Module::Install::_read($_[0]) =~ m/
(
=head \d \s+
- (?:licen[cs]e|licensing|copyrights?|legal)\b
+ (?:licen[cs]e|licensing|copyright|legal)\b
.*?
)
(=head\\d.*|=cut.*|)
@@ -449,9 +439,7 @@
/ixms ) {
my $license_text = $1;
my @phrases = (
- 'under the same (?:terms|license) as (?:perl|the perl programming language)' => 'perl', 1,
- 'under the terms of (?:perl|the perl programming language) itself' => 'perl', 1,
- 'Artistic and GPL' => 'perl', 1,
+ 'under the same (?:terms|license) as (?:perl|the perl programming language) itself' => 'perl', 1,
'GNU general public license' => 'gpl', 1,
'GNU public license' => 'gpl', 1,
'GNU lesser general public license' => 'lgpl', 1,
@@ -468,32 +456,20 @@
'proprietary' => 'proprietary', 0,
);
while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) {
- $pattern =~ s#\s+#\\s+#gs;
+ $pattern =~ s{\s+}{\\s+}g;
if ( $license_text =~ /\b$pattern\b/i ) {
- return $license;
- }
+ $self->license($license);
+ return 1;
}
- } else {
- return;
}
}
-sub license_from {
- my $self = shift;
- if (my $license=_extract_license(Module::Install::_read($_[0]))) {
- $self->license($license);
- } else {
warn "Cannot determine license info from $_[0]\n";
return 'unknown';
}
-}
sub _extract_bugtracker {
- my @links = $_[0] =~ m#L<(
- \Qhttp://rt.cpan.org/\E[^>]+|
- \Qhttp://github.com/\E[\w_]+/[\w_]+/issues|
- \Qhttp://code.google.com/p/\E[\w_\-]+/issues/list
- )>#gx;
+ my @links = $_[0] =~ m#L<(\Qhttp://rt.cpan.org/\E[^>]+)>#g;
my %links;
@links{@links}=();
@links=keys %links;
@@ -509,7 +485,7 @@
return 0;
}
if ( @links > 1 ) {
- warn "Found more than one bugtracker link in $_[0]\n";
+ warn "Found more than on rt.cpan.org link in $_[0]\n";
return 0;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/Win32.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/Win32.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/Win32.pm 2010-02-17 20:19:51.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/Win32.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';
+ $VERSION = '0.91';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install/WriteAll.pm libcatalyst-manual-perl-5.8005/inc/Module/Install/WriteAll.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install/WriteAll.pm 2010-02-17 20:19:51.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install/WriteAll.pm 2010-10-29 14:02:26.000000000 +0200
@@ -6,7 +6,7 @@
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '0.93';;
+ $VERSION = '0.91';;
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
diff -Nru -w libcatalyst-manual-perl-5.8004/inc/Module/Install.pm libcatalyst-manual-perl-5.8005/inc/Module/Install.pm
--- libcatalyst-manual-perl-5.8004/inc/Module/Install.pm 2010-02-17 20:19:49.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/inc/Module/Install.pm 2010-10-29 14:02:25.000000000 +0200
@@ -28,7 +28,7 @@
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '0.93';
+ $VERSION = '0.91';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -348,24 +348,17 @@
return $call;
}
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
sub _read {
local *FH;
+ if ( $] >= 5.006 ) {
open( FH, '<', $_[0] ) or die "open($_[0]): $!";
- my $string = do { local $/; <FH> };
- close FH or die "close($_[0]): $!";
- return $string;
-}
-END_NEW
-sub _read {
- local *FH;
+ } else {
open( FH, "< $_[0]" ) or die "open($_[0]): $!";
+ }
my $string = do { local $/; <FH> };
close FH or die "close($_[0]): $!";
return $string;
}
-END_OLD
sub _readperl {
my $string = Module::Install::_read($_[0]);
@@ -386,26 +379,18 @@
return $string;
}
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
sub _write {
local *FH;
+ if ( $] >= 5.006 ) {
open( FH, '>', $_[0] ) or die "open($_[0]): $!";
- foreach ( 1 .. $#_ ) {
- print FH $_[$_] or die "print($_[0]): $!";
- }
- close FH or die "close($_[0]): $!";
-}
-END_NEW
-sub _write {
- local *FH;
+ } else {
open( FH, "> $_[0]" ) or die "open($_[0]): $!";
+ }
foreach ( 1 .. $#_ ) {
print FH $_[$_] or die "print($_[0]): $!";
}
close FH or die "close($_[0]): $!";
}
-END_OLD
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
@@ -442,4 +427,4 @@
1;
-# Copyright 2008 - 2010 Adam Kennedy.
+# Copyright 2008 - 2009 Adam Kennedy.
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Actions.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Actions.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Actions.pod 2009-10-07 10:04:59.000000000 +0200
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Actions.pod 2010-06-30 03:15:30.000000000 +0200
@@ -46,7 +46,7 @@
$c->stash->{what} = 'world';
};
- after 'extecute' => sub {
+ after 'execute' => sub {
my ( $self, $controller, $c, $test ) = @_;
$c->stash->{foo} = 'bar';
};
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/CatalystAndMoose.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/CatalystAndMoose.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/CatalystAndMoose.pod 2009-10-07 10:04:57.000000000 +0200
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/CatalystAndMoose.pod 2010-06-30 03:15:30.000000000 +0200
@@ -140,7 +140,7 @@
L<MooseX::MethodAttributes>, example:
package MyApp::ControllerRole;
- use MooseX::MethodAttribute::Role;
+ use MooseX::MethodAttributes::Role;
use namespace::autoclean;
sub foo : Local {
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Cookbook.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Cookbook.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Cookbook.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Cookbook.pod 2010-10-29 13:53:46.000000000 +0200
@@ -33,9 +33,12 @@
if ( scalar @{ $c->error } ) {
$c->stash->{errors} = $c->error;
+ for my $error ( @{ $c->error } ) {
+ $c->log->error($error);
+ }
$c->stash->{template} = 'errors.tt';
$c->forward('MyApp::View::TT');
- $c->error(0);
+ $c->clear_errors;
}
return 1 if $c->response->status =~ /^3\d\d$/;
@@ -133,7 +136,7 @@
sub add_item : Local {
my ( $self, $c ) = @_;
- my $item_id = $c->req->param("item");
+ my $item_id = $c->req->params->{item};
push @{ $c->session->{items} }, $item_id;
@@ -387,8 +390,8 @@
sub login : Local {
my ($self, $c) = @_;
- if ( my $user = $c->req->param("user")
- and my $password = $c->req->param("password") )
+ if ( my $user = $c->req->params->{user}
+ and my $password = $c->req->param->{password} )
{
if ( $c->authenticate( username => $user, password => $password ) ) {
$c->res->body( "hello " . $c->user->name );
@@ -454,7 +457,7 @@
sub feed_moose : Local {
my ( $self, $c ) = @_;
- $c->model( "Moose" )->eat( $c->req->param("food") );
+ $c->model( "Moose" )->eat( $c->req->params->{food} );
}
With this action, anyone can just come into the moose cage and feed
@@ -476,7 +479,7 @@
my ( $self, $c ) = @_;
if ( $c->check_roles( "moose_feeder" ) ) {
- $c->model( "Moose" )->eat( $c->req->param("food") );
+ $c->model( "Moose" )->eat( $c->req->params->{food} );
} else {
$c->stash->{error} = "unauthorized";
}
@@ -1521,15 +1524,15 @@
=head2 mod_perl Deployment
-mod_perl is the best solution for many applications, but we'll list some pros
-and cons so you can decide for yourself. The other production deployment
-option is FastCGI, for which see below.
+mod_perl is not the best solution for many applications, but we'll list some
+pros and cons so you can decide for yourself. The other (recommended)
+deployment option is FastCGI, for which see below.
=head3 Pros
=head4 Speed
-mod_perl is very fast and your app will benefit from being loaded in memory
+mod_perl is fast and your app will be loaded in memory
within each Apache process.
=head4 Shared memory for multiple apps
@@ -1560,6 +1563,14 @@
It is not possible to run two different versions of the same application in
the same Apache instance because the namespaces will collide.
+=head4 Cannot run different versions of libraries.
+
+If you have two differnet applications which run on the same machine,
+which need two different versions of a library then the only way to do
+this is to have per-vhost perl interpreters (with different library paths).
+This is entirely possible, but nullifies all the memory sharing benefits that
+you get from having multiple applications sharing the same interpreter.
+
=head4 Setup
Now that we have that out of the way, let's talk about setting up mod_perl
@@ -1758,7 +1769,11 @@
mod_fastcgi for Apache is a third party module, and can be found at
L<http://www.fastcgi.com/>. It is also packaged in many distributions,
-for example, libapache2-mod-fastcgi in Debian.
+for example, libapache2-mod-fastcgi in Debian. You will also need to install
+the L<FCGI> module from cpan.
+
+Important Note! If you experience difficulty properly rendering pages,
+try disabling Apache's mod_deflate (Deflate Module), e.g. 'a2dismod deflate'.
=head4 2. Configure your application
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/01_Intro.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/01_Intro.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/01_Intro.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/01_Intro.pod 2010-06-30 03:15:30.000000000 +0200
@@ -761,5 +761,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/02_CatalystBasics.pod 2010-06-30 03:18:17.000000000 +0200
@@ -190,11 +190,11 @@
B<Note>: The "-r" argument enables reloading on code changes so you
don't have to stop and start the server when you update code. See
-C<perldoc script/hello_server.pl> for additional options you might find
-helpful. Most of the rest of the tutorial will assume that you are using
-"-r" when you start the development server, but feel free to manually
-start and stop it (use C<Ctrl-C> to break out of the dev server) if you
-prefer.
+C<perldoc script/hello_server.pl> or C<script/hello_server.pl --help>
+for additional options you might find helpful. Most of the rest of the
+tutorial will assume that you are using "-r" when you start the development
+server, but feel free to manually start and stop it (use C<Ctrl-C> to
+breakout of the dev server) if you prefer.
$ script/hello_server.pl -r
[debug] Debug messages enabled
@@ -319,6 +319,10 @@
$c->response->body("Hello, World!");
}
+Once you restart the server, you will need to use the new address
+L<http://localhost:3000/hello> instead of L<http://localhost:3000/> to see the
+changes.
+
B<TIP>: See Appendix 1 for tips on removing the leading spaces when
cutting and pasting example code from POD-based documents.
@@ -367,9 +371,9 @@
To create a TT view, run:
- $ script/hello_create.pl view TT TT
+ $ script/hello_create.pl view HTML TT
-This creates the C<lib/Hello/View/TT.pm> module, which is a subclass of
+This creates the C<lib/Hello/View/HTML.pm> module, which is a subclass of
C<Catalyst::View::TT>.
=over 4
@@ -380,9 +384,11 @@
=item *
-The first "TT" tells the script to name the View module "TT.pm", which is a
-commonly used name for TT views. (You can name it anything you want, such as
-"HTML.pm".)
+The first argument "HTML" tells the script to name the View module "HTML.pm",
+which is a commonly used name for TT views. You can name it anything you want,
+such as "MyView.pm". If you have more than one view, be sure to set the
+default_view in Hello.pm (See L<Catalyst::View::TT|Catalyst::View::TT> for more
+details on setting this).
=item *
@@ -391,10 +397,10 @@
=back
-If you look at C<lib/Hello/View/TT.pm> you will find that it only
+If you look at C<lib/Hello/View/HTML.pm> you will find that it only
contains a config statement to set the TT extension to ".tt".
-Now that the TT.pm "View" exists, Catalyst will autodiscover it and be
+Now that the HTML.pm "View" exists, Catalyst will autodiscover it and be
able to use it to display the view templates using the "process"
method that it inherits from the C<Catalyst::View::TT> class.
@@ -529,5 +535,5 @@
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 & Gerda Shank, under Creative Commons License
+Copyright 2006-2010, Kennedy Clark, under Creative Commons License
(L<http://creativecommons.org/licenses/by-sa/3.0/us/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod 2010-06-30 03:15:30.000000000 +0200
@@ -436,22 +436,20 @@
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"
+ 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<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).
+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/TT.pm> and you should see that the default
+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');
@@ -936,7 +934,7 @@
| 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:
@@ -1018,12 +1016,12 @@
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(
@@ -1176,7 +1174,7 @@
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
@@ -1585,7 +1583,7 @@
$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>.
Check the L<http://localhost:3000/books/list> URL in your browser.
It should look the same manner as with earlier sections.
@@ -1599,5 +1597,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod 2010-06-30 03:15:30.000000000 +0200
@@ -938,8 +938,8 @@
each book was added and when each book is updated:
$ sqlite3 myapp.db
- sqlite> ALTER TABLE book ADD created INTEGER;
- sqlite> ALTER TABLE book ADD updated INTEGER;
+ sqlite> ALTER TABLE book ADD created TIMESTAMP;
+ sqlite> ALTER TABLE book ADD updated TIMESTAMP;
sqlite> UPDATE book SET created = DATETIME('NOW'), updated = DATETIME('NOW');
sqlite> SELECT * FROM book;
1|CCSP SNRS Exam Certification Guide|5|2010-02-16 04:15:45|2010-02-16 04:15:45
@@ -990,9 +990,9 @@
#
__PACKAGE__->add_columns(
"created",
- { data_type => 'datetime', set_on_create => 1 },
+ { data_type => 'timestamp', set_on_create => 1 },
"updated",
- { data_type => 'datetime', set_on_create => 1, set_on_update => 1 },
+ { data_type => 'timestamp', set_on_create => 1, set_on_update => 1 },
);
This will override the definition for these fields that Schema::Loader
@@ -1384,5 +1384,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/05_Authentication.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/05_Authentication.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/05_Authentication.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/05_Authentication.pod 2010-08-06 14:07:35.000000000 +0200
@@ -82,10 +82,10 @@
C<myapp02.sql> in your editor and insert:
--
- -- Add user and role tables, along with a many-to-many join table
+ -- Add users and role tables, along with a many-to-many join table
--
PRAGMA foreign_keys = ON;
- CREATE TABLE user (
+ CREATE TABLE users (
id INTEGER PRIMARY KEY,
username TEXT,
password TEXT,
@@ -106,9 +106,9 @@
--
-- Load up some initial test data
--
- INSERT INTO user VALUES (1, 'test01', 'mypass', 't01@na.com', 'Joe', 'Blow', 1);
- INSERT INTO user VALUES (2, 'test02', 'mypass', 't02@na.com', 'Jane', 'Doe', 1);
- INSERT INTO user VALUES (3, 'test03', 'mypass', 't03@na.com', 'No', 'Go', 0);
+ INSERT INTO users VALUES (1, 'test01', 'mypass', 't01@na.com', 'Joe', 'Blow', 1);
+ INSERT INTO users VALUES (2, 'test02', 'mypass', 't02@na.com', 'Jane', 'Doe', 1);
+ INSERT INTO users VALUES (3, 'test03', 'mypass', 't03@na.com', 'No', 'Go', 0);
INSERT INTO role VALUES (1, 'user');
INSERT INTO role VALUES (2, 'admin');
INSERT INTO user_role VALUES (1, 1);
@@ -205,7 +205,7 @@
| MyApp::Model::DB::Role | class |
| MyApp::Model::DB::User | class |
| MyApp::Model::DB::UserRole | class |
- | MyApp::View::TT | instance |
+ | MyApp::View::HTML | instance |
'-------------------------------------------------------------------+----------'
...
@@ -650,8 +650,6 @@
# with hex encoding; Generate the 'check_password" method
__PACKAGE__->add_columns(
'password' => {
- data_type => "TEXT",
- size => undef,
encode_column => 1,
encode_class => 'Digest',
encode_args => {salt_length => 10},
@@ -716,17 +714,17 @@
$ DBIC_TRACE=1 perl -Ilib set_hashed_passwords.pl
SELECT me.id, me.username, me.password, me.email_address,
- me.first_name, me.last_name, me.active FROM user me:
- UPDATE user SET password = ? WHERE ( id = ? ):
+ me.first_name, me.last_name, me.active FROM users me:
+ UPDATE users SET password = ? WHERE ( id = ? ):
'oXiyAcGOjowz7ISUhpIm1IrS8AxSZ9r4jNjpX9VnVeQmN6GRtRKTz', '1'
- UPDATE user SET password = ? WHERE ( id = ? ):
+ UPDATE users SET password = ? WHERE ( id = ? ):
'PmyEPrkB8EGwvaF/DvJm7LIfxoZARjv8ygFIR7pc1gEA1OfwHGNzs', '2'
- UPDATE user SET password = ? WHERE ( id = ? ):
+ UPDATE users SET password = ? WHERE ( id = ? ):
'h7CS1Fm9UCs4hjcbu2im0HumaHCJUq4Uriac+SQgdUMUfFSoOrz3c', '3'
But we can further confirm our actions by dumping the users table:
- $ sqlite3 myapp.db "select * from user"
+ $ sqlite3 myapp.db "select * from users"
1|test01|38d3974fa9e9263099f7bc2574284b2f55473a9bM=fwpX2NR8|t01@na.com|Joe|Blow|1
2|test02|6ed8586587e53e0d7509b1cfed5df08feadc68cbMJlnPyPt0I|t02@na.com|Jane|Doe|1
3|test03|af929a151340c6aed4d54d7e2651795d1ad2e2f7UW8dHoGv9z|t03@na.com|No|Go|0
@@ -886,5 +884,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/06_Authorization.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/06_Authorization.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/06_Authorization.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/06_Authorization.pod 2010-06-30 03:15:30.000000000 +0200
@@ -269,6 +269,11 @@
return any(map { $_->role } $self->roles) eq $role;
}
+Let's also add Perl6::Junction to the requirements listed in
+Makefile.PL:
+
+ requires 'Perl6::Junction';
+
Now we need to add some enforcement inside our controller. Open
C<lib/MyApp/Controller/Books.pm> and update the C<delete> method to
match the following code:
@@ -343,6 +348,6 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/07_Debugging.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/07_Debugging.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/07_Debugging.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/07_Debugging.pod 2010-06-30 03:15:30.000000000 +0200
@@ -348,7 +348,7 @@
If you run into issues during the rendering of your template, it might
be helpful to enable TT C<DEBUG> options. You can do this in a Catalyst
environment by adding a C<DEBUG> line to the C<__PACKAGE__->config>
-declaration in C<lib/MyApp/View/TT.pm>:
+declaration in C<lib/MyApp/View/HTML.pm>:
__PACKAGE__->config({
TEMPLATE_EXTENSION => '.tt2',
@@ -376,5 +376,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/08_Testing.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/08_Testing.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/08_Testing.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/08_Testing.pod 2010-06-30 03:15:30.000000000 +0200
@@ -349,7 +349,11 @@
"testing database" for your test cases. One advantage to
L<Test::WWW::Mechanize::Catalyst|Test::WWW::Mechanize::Catalyst> is that
it runs your full application; however, this can complicate things when
-you want to support multiple databases. One solution is to allow the
+you want to support multiple databases.
+
+=head2 DATABASE CONFIG SWITCHING IN YOUR MODEL CLASS
+
+One solution is to allow the
database specification to be overridden with an environment variable.
For example, open C<lib/MyApp/Model/DB.pm> in your editor and
change the C<__PACKAGE__-E<gt>config(...> declaration to resemble:
@@ -376,6 +380,50 @@
variable defined, it will default to the same C<dbi:SQLite:myapp.db> as
before.
+=head2 DATABASE CONFIG SWITCHING USING MULTIPLE CONFIG FILES
+
+By utilizing L<Catalyst::Plugin::ConfigLoader>s functionality for loading
+multiple config files based on environment variables you can override your
+default (production) database connection settings.
+
+Setting C<$ENV{ MYAPP_CONFIG_LOCAL_SUFFIX }> to 'testing' in your test script
+results in loading of an additional config file named myapp_testing.conf after
+myapp.conf which will override any parameters in myapp.conf.
+
+You should set the environment variable in the BEGIN block of your test script
+to make sure it's set before your Catalyst application is started.
+
+The following is an example for a config and test script for a DBIx::Class
+model named MyDB and a controller named Foo:
+
+myapp_testing.conf:
+
+ <Model::MyDB>
+ <connect_info>
+ dsn dbi:SQLite:myapp.db
+ </connect_info>
+ </Model::MyDB>
+
+
+t/controller_Foo.t:
+
+ use strict;
+ use warnings;
+ use Test::More;
+
+ BEGIN {
+ $ENV{ MYAPP_CONFIG_LOCAL_SUFFIX } = 'testing';
+ }
+
+ eval "use Test::WWW::Mechanize::Catalyst 'MyApp'";
+ plan $@
+ ? ( skip_all => 'Test::WWW::Mechanize::Catalyst required' )
+ : ( tests => 2 );
+
+ ok( my $mech = Test::WWW::Mechanize::Catalyst->new, 'Created mech object' );
+
+ $mech->get_ok( 'http://localhost/foo' );
+
=head1 AUTHOR
@@ -385,6 +433,6 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod 2010-02-17 20:14:56.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormFu.pod 2010-06-30 03:15:30.000000000 +0200
@@ -642,5 +642,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod 2010-02-17 20:14:56.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD/09_FormHandler.pod 2010-06-30 03:15:30.000000000 +0200
@@ -56,10 +56,11 @@
=head1 DESCRIPTION
-This portion of the tutorial explores L<HTML::FormHandler|HTML::FormHandler> and
-how it can be used to manage forms, perform validation of form input,
-as well as save and restore data to/from the database. This was written
-using HTML::FormHandler version 0.28001.
+This portion of the tutorial explores
+L<HTML::FormHandler|HTML::FormHandler> and how it can be used to manage
+forms, perform validation of form input, and save and restore data
+to or from the database. This was written using HTML::FormHandler version
+0.28001.
See
L<Catalyst::Manual::Tutorial::09_AdvancedCRUD|Catalyst::Manual::Tutorial::09_AdvancedCRUD>
@@ -75,9 +76,9 @@
sudo cpan HTML::FormHandler::Model::DBIC
-It will install L<HTML::FormHandler> as a prereq.
+It will install L<HTML::FormHandler> as a prerequisite.
-Also add:
+Also, add:
requires 'HTML::FormHandler::Model::DBIC';
@@ -91,7 +92,7 @@
=head2 Using FormHandler in your controllers
-FormHandler doen't have a Catalyst base controller, because interfacing
+FormHandler dosen't have a Catalyst base controller, because interfacing
to a form is only a couple of lines of code.
=head2 Create a Book Form
@@ -221,15 +222,15 @@
has_field 'rating' => ( type => 'Integer', range_start => 1, range_end => 5 );
The 'authors' relationship is a 'many-to-many' pseudo-relation, so this field
-can be set to Multiple to allow the selection of multiple authors and make it
+can be set to Multiple to allow the selection of multiple authors; also, make it
required:
has_field 'authors' => ( type => 'Multiple', label_column => 'last_name',
required => 1 );
-Note: FormHandler automatically strips whitespace at the beginning or end of fields.
-If you want some other kind of stripping (or none) you can specify it explicitly.
-(see L<HTML::FormHandler::Manual>)
+Note: FormHandler automatically strips whitespace at the beginning and
+end of fields. If you want some other kind of stripping (or none) you
+can specify it explicitly; see L<HTML::FormHandler::Manual>.
=head2 Try Out the Updated Form
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD.pod 2009-12-28 17:10:12.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/09_AdvancedCRUD.pod 2010-06-30 03:15:30.000000000 +0200
@@ -99,5 +99,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/10_Appendices.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/10_Appendices.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial/10_Appendices.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial/10_Appendices.pod 2010-06-30 03:15:30.000000000 +0200
@@ -782,5 +782,5 @@
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/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial.pod libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial.pod
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual/Tutorial.pod 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual/Tutorial.pod 2010-06-30 03:15:30.000000000 +0200
@@ -708,17 +708,17 @@
=item *
People who have emailed me with corrections and suggestions on the
-tutorial. As of the most recent release, this include: Florian
-Ragwitz, Mauro Andreolini, Jim Howard, Giovanni Gigante, William
-Moreno, Bryan Roach, Ashley Berlin, David Kamholz, Kevin Old, Henning
-Sprang, Jeremy Jones, David Kurtz, Ingo Wichmann, Shlomi Fish, Murray
-Walker, Adam Witney and xenoterracide. Thanks to Devin Austin for
-coming up with an initial version of a non-TTSite wrapper page.
-Also, a huge thank you to Kiffin Gish for all the hard work on the
-"database depluralization" effort and Rafael Kitover for the work on
-updating the tutorial to include foreign key support for SQLite.
-I'm sure I am missing some names here... apologies for that (please
-let me know if you name should be here).
+tutorial. As of the most recent release, this include: Florian Ragwitz,
+Mauro Andreolini, Jim Howard, Giovanni Gigante, William Moreno, Bryan
+Roach, Ashley Berlin, David Kamholz, Kevin Old, Henning Sprang, Jeremy
+Jones, David Kurtz, Ingo Wichmann, Shlomi Fish, Murray Walker, Adam
+Witney and xenoterracide (Caleb Cushing). Thanks to Devin Austin for
+coming up with an initial version of a non-TTSite wrapper page. Also, a
+huge thank you to Kiffin Gish for all the hard work on the "database
+depluralization" effort and Rafael Kitover for the work on updating the
+tutorial to include foreign key support for SQLite. I'm sure I am
+missing some names here... apologies for that (please let me know if you
+name should be here).
=back
@@ -730,5 +730,5 @@
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
-(L<http://creativecommons.org/licenses/by-nc-sa/2.5/>).
+Copyright 2006-2010, Kennedy Clark, under Creative Commons License
+(L<http://creativecommons.org/licenses/by-sa/3.0/us/>).
diff -Nru -w libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual.pm libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual.pm
--- libcatalyst-manual-perl-5.8004/lib/Catalyst/Manual.pm 2010-02-17 20:14:57.000000000 +0100
+++ libcatalyst-manual-perl-5.8005/lib/Catalyst/Manual.pm 2010-10-29 14:00:17.000000000 +0200
@@ -6,7 +6,7 @@
use strict;
use warnings;
-our $VERSION = '5.8004';
+our $VERSION = '5.8005';
=head1 NAME
@@ -24,7 +24,7 @@
Install L<Task::Catalyst::Tutorial|Task::Catalyst::Tutorial> to
install all the dependencies you need to follow along with the
Tutorial. You can also refer to
-L<Catalyst::Manual::Tutorial::Intro|Catalyst::Manual::Tutorial::Intro>
+L<Catalyst::Manual::Tutorial::Intro|Catalyst::Manual::Tutorial::01_Intro>
for more information on installation options.
Some "Getting Started" Links:
--- End Message ---