[Catalyst-dev] Tutorial documentation fixes - branch review request
Tom Eliaz
tom at tomeliaz.com
Sat Oct 24 19:28:01 GMT 2009
Good day Catalyst developers,
I'm new to catalyst, so I followed the tutorial in the manual. I
spotted a few small issues that may need fixing, and I created a
branch with my suggested changes hoping you may find some of them
helpful. Since I was playing with the tutorial, I also took a look at
the open Manual bugs on rt to see if I could fix any. I was able to
fix one (49825), and I noticed that a few others which are open are
actually already fixed. I included my novice triage below.
My updates to the Tutorial can be found in the branch:
http://dev.catalyst.perl.org/repos/Catalyst/Catalyst-Manual/5.80/branches/tome_tutorial_fixes
I updated this branch using git svn, and I haven't used that tool much
in the past so I may have made some mistakes.
Thanks to everyone who has helped me on #catalyst thusfar.
Tom E
Below is:
1- Branch Changes: My checkin comment describing the changes I made in my branch
2- RT Bugs: My look at some open Tutorial rt bugs
3- The Diff of my branch changes for your convenience
1. BRANCH CHANGES
Tutorial/03_MoreCatalystBasics.pod
- Change two references from DBIx::Class:Schema::Loader to
DBIx::Class::Schema::Loader
- Remove reference to components=timestamp (not in the command, only
in description) since Tutorial/04 is where it is first used, and there
it is described as being added to the command.
Tutorial/04_BasicCRUD.pod
- properly indent pod for author_count sub (it should be in the sub
example, not as pod in the tutorial).
Tutorial/05_Authentication.pod
- The myapp.conf configuration for Plugin::Authentication has the
use_session 1 entry. However, use_session is not explicit in the
MyApp.pm example above this section. Since use_session is not required
(Catalyst::Plugin::Session is being used) and it does not exist in the
MyApp.pm which the conf is supposed to follow and it is not discussed
in the tutorial text, I suggest we omit it.
Tutorial/08_Testing.pod
- Change test for 'Create' to 'Admin Create' (see bug #49825
http://rt.cpan.org/Public/Bug/Display.html?id=49825)
2. RT BUGS
- http://rt.cpan.org/Public/Dist/Display.html?Name=Catalyst-Manual
Fixed By Me Above:
- #49825: Typo in sample code
Fixed test code
Fixed Already: (I suggest closing as fixed)
- #42062: Error in grammar of tutorial
This is already fixed
- #42050: Misleading direction in tutorial
This is already fixed
Not Reproducible: (I suggest returning to submitter)
- #48953: Bad example code
I don't see this bug, the hello method is created in the preceding section.
- #46664: Possible error in Catalyst::Manual::Tutorial re: roles
I didn't have this problem, and it seems as if the user is not using TT.
3. DIFF
diff --git a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
b/lib/Catalyst/Manual/Tutorial/
index ffd01be..c2fc6fe 100644
--- a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
+++ b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
@@ -649,13 +649,13 @@ required if you do a single SQL statement on the
command line). Use
your OS command prompt.
Please note that here we have chosen to use 'singular' table names. This
-is because the default inflection code for L<DBIx::Class:Schema::Loader>
+is because the default inflection code for L<DBIx::Class::Schema::Loader>
does NOT handle plurals. There has been much philosophical discussion
on whether table names should be plural or singular. There is no one
correct answer, as long as one makes a choice and remains consistent
with it. If you prefer plural table names (e.g. they are easier and
more natural to read) then you will need to pass it an inflect_map
-option. See L<DBIx::Class:Schema::Loader> for more information.
+option. See L<DBIx::Class::Schema::Loader> for more information.
For using other databases, such as PostgreSQL or MySQL, see
L<Appendix 2|Catalyst::Manual::Tutorial::10_Appendices>.
@@ -754,11 +754,6 @@ into files.
=item *
castro% cat /tmp/gitdiff
diff --git a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
index ffd01be..c2fc6fe 100644
--- a/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
+++ b/lib/Catalyst/Manual/Tutorial/03_MoreCatalystBasics.pod
@@ -649,13 +649,13 @@ required if you do a single SQL statement on the
command line). Use
your OS command prompt.
Please note that here we have chosen to use 'singular' table names. This
-is because the default inflection code for L<DBIx::Class:Schema::Loader>
+is because the default inflection code for L<DBIx::Class::Schema::Loader>
does NOT handle plurals. There has been much philosophical discussion
on whether table names should be plural or singular. There is no one
correct answer, as long as one makes a choice and remains consistent
with it. If you prefer plural table names (e.g. they are easier and
more natural to read) then you will need to pass it an inflect_map
-option. See L<DBIx::Class:Schema::Loader> for more information.
+option. See L<DBIx::Class::Schema::Loader> for more information.
For using other databases, such as PostgreSQL or MySQL, see
L<Appendix 2|Catalyst::Manual::Tutorial::10_Appendices>.
@@ -754,11 +754,6 @@ into files.
=item *
-C<components=TimeStamp> causes the help to include the
-L<DBIx::Class::TimeStamp|DBIx::Class::TimeStamp> DBIC component.
-
-=item *
-
And finally, C<dbi:SQLite:myapp.db> is the standard DBI connect string
for use with SQLite.
diff --git a/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod
b/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod
index dfee243..f8f3467 100644
--- a/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod
+++ b/lib/Catalyst/Manual/Tutorial/04_BasicCRUD.pod
@@ -1362,9 +1362,9 @@ clean this up. First, let's add a method to our
Book Result Class to
return the number of authors for a book. Open
C<lib/MyApp/Schema/Result/Book.pm> and add the following method:
-=head2 author_count
+ =head2 author_count
-Return the number of authors for the current book
+ Return the number of authors for the current book
=cut
diff --git a/lib/Catalyst/Manual/Tutorial/05_Authentication.pod
b/lib/Catalyst/Manual/Tutorial/05_Authentication.pod
index 5effaac..7872409 100644
--- a/lib/Catalyst/Manual/Tutorial/05_Authentication.pod
+++ b/lib/Catalyst/Manual/Tutorial/05_Authentication.pod
@@ -334,7 +334,6 @@ for the tutorial, but if you wish to use
C<myapp.conf>, just convert
to the following code:
<Plugin::Authentication>
- use_session 1
<default>
password_type clear
user_model DB::User
diff --git a/lib/Catalyst/Manual/Tutorial/08_Testing.pod
b/lib/Catalyst/Manual/Tutorial/08_Testing.pod
index 2776f6f..95bb753 100644
--- a/lib/Catalyst/Manual/Tutorial/08_Testing.pod
+++ b/lib/Catalyst/Manual/Tutorial/08_Testing.pod
@@ -270,7 +270,7 @@ editor and enter the following:
# Make sure the appropriate logout buttons are displayed
$_->content_contains("/logout\">User Logout</a>",
"Both users should have a 'User Logout'") for $ua1, $ua2;
- $ua1->content_contains("/books/form_create\">Create</a>",
+ $ua1->content_contains("/books/form_create\">Admin Create</a>",
"Only 'test01' should have a create link");
$ua1->get_ok("http://localhost/books/list", "View book list as 'test01'");
More information about the Catalyst-dev
mailing list