[Catalyst] RFC: New to Catalyst questions

Trevor Phillips trevor.phillips at gmail.com
Wed Feb 18 02:06:20 GMT 2009


On Tue, Feb 17, 2009 at 5:32 AM, Jay Kuri <jayk at ion0.com> wrote:
>
> My working list is as follows (in no particular order.)
>
> 1) 'Getting' DBIx::Class (starting from a straight SQL-users point of
> view)

I'm new to Catalyst, having started to look into it a few months back
(and now developing several apps in it). The auto-schema stuff on
DBIx::Class was great. All the has_many & many_to_many it took a while
to wrap my brain around, and I'm still a bit fuzzy on some of it, but
referring back to the docs, I can figure it out.

Trying to do a moderately complex SQL query in DBIx::Class is a
nightmare! Sometimes I wish I could just write out the SQL myself -
even if it's chunked up into fields, condition, join, etc...

> 3) Walkthrough of creation of a simple app end to end.

I found the Tutorial walkthrough
(http://search.cpan.org/~hkclark/Catalyst-Manual-5.7016/lib/Catalyst/Manual/Tutorial.pod)
to be great as a kick-start. I just wish the Advanced CRUD was a bit
more fleshed out (or that FormFu was easily apt-gettable). Having a
branching tutorial with some alternatives (such as something other
than TT, for example) would be good.

I think what I miss most is:
 *A quick reference "howto" guide for common (and advanced) stuff. How
do I get a HTTP header? How do I set a response status? How do I have
a wrapper template, yet also support other forms of output like
AJAX/JSON/XML? What does this method or that method do and where
should they be used? How can I use two separate Authentication systems
for different parts of the app? Just brief FAQ-style code snippets
with good explanations... (Maybe someone could whip up a Catalyst FAQ
app to handle question submissions, community answers, categorisation,
searching, etc... Would be better IMHO than a single Wiki page... ^_^)
 *Clarification on the Path and Args (and others?) sub parameters,
with examples on advanced usage.
 *Best Practices - I guess this comes in to the earlier points as
well. Rather than munge something together that works, if I can easily
find a code snippet that does a similar thing, then I'll use that
snippet. For example; How do I provide a controller which handles both
a HTML and an AJAX response? How do I specify the AJAX qualifier in
the query string? Do I use a query parameter? Or append something like
":ajax" to the URI? Or go to a completely separate URI? How do I set
out my Controller methods to most efficiently handle both situations
without code duplication?
 *Interactive Demo/Tuts would be really good. If there's so many CRUD
systems to choose from, then having a live demo of each next to the
relevant code snippet would really help quickly highlight the pros &
cons of each.
 *Better linking/cataloguing to documentation. For example, the Wiki
seems to have a Cookbook, with a handful of articles. There's also, it
seems, a quite extensive Cookbook in the CPAN documentation - yet the
Wiki doesn't link to it or mention it?

As I said, I found the Tutorial to be really good, but I find I'm
using the Tutorial as my documentation for my own app, rather than
looking straight in the manual, or in the wiki resources... The Manual
Cookbook seems good - I should use it more often.

I'm pretty new to the Catalyst community, and still very much a
Catalyst newbie. I don't know how open this list is to having the same
n00b questions asked over & over again. I'd be happy to write up a few
"howto's" myself, as I discover stuff, but I'm not confident I'm doing
things the "right" way anyway, or if people would care about the same
topics I struggle with, or where the best place to document this sort
of Cookbook/FAQ stuff is...

-- 
Trevor Phillips  - http://dortamur.livejournal.com/
"On nights such as this, evil deeds are done. And good deeds, of
course. But mostly evil, on the whole."
      -- (Terry Pratchett, Wyrd Sisters)



More information about the Catalyst mailing list