[Catalyst] Debugging Catalyst with Eclipse

Nathan Waddell arafeandur at gmail.com
Mon Jan 21 17:22:37 GMT 2008


Matt,
 I guess what I'm trying to express is that - in my opinion - there is
a learning curve to Catalyst. I think more documentation could ease
that learning curve and help people get up to speed faster on how to
write, debug, and use Catalyst apps.

Please understand that I'm certainly not trying to incite an editor
war here or criticize Catalyst in any way other than constructively.

>From the perspective of a newbie to Catalyst, there are a lot of
hurdles to jump - and removing those hurdles (or at least lowering
them ;) with more documentation would help a lot  ... in my opinion. I
program in Perl for a living, so I'm fortunate that I have a lot of
familiarity with the Perlish way to do things. I can't imagine being a
newcomer to Perl as well as Catalyst.

The hurdles (again, just in my opinion, so take it for what it's worth) are:

Installation
    The biggest help here is the shadowcat installer. Of course, it's
not apparent to people who are very new to Perl that this installer
script uses Perl and CPAN to install the required modules. I've also
used Task::Catalyst to install things - and it is very cleanly done.
However, a default config of CPAN has the user stuck at the CPAN
screen hitting 'y' over and over ... so some education on this could
go a long way. Additionally, I had a very bad experience trying to
install Catalyst via PPMs with ActiveState's Active Perl. Those PPMs
need a lot of work.

Getting started
    The tutorial on CPAN is great help here, but it only goes so far.
The Cookbook was actually more helpful where it counted, so expanding
the Cookbook with lots of examples of how to do things with Catalyst
would be helpful. Jonathan's book really fills the gap here. Some
in-depth articles could really help though - for example, a tutorial
on how to use TT and TTSite with Catalyst.

Debugging
    Ideally, I would find the articles I mentioned above, so I can
read an article and know how to debug Catalyst with my preferred IDE,
in the way that is most advantageous for me (i.e. logging vs Perl
debugger vs other debugging methods).

An article that walked through the different options for debugging
catalyst apps and highlighted their strengths and weaknesses would be
nice.

An article on how to set up Eclipse to remotely debug Catalyst apps
would be nice as well. Eclipse is a widely used application, and many
programmers prefer a graphical IDE.

An article on how to set up Komodo for remote debugging Catalyst apps
would also be nice to have. Komodo is gaining a lot of reputation as
'The' Perl IDE. I would actually prefer to use it myself, but my
company has standardized on Eclipse - so I'm stuck with it.

That's another good point to make here - many companies have
standardized development tools that the programming peons *have* to
use. I don't think "keep practicing your vi/emacs" is a good answer to
the question of how to code and debug Catalyst apps in an IDE. That
choice may have already been made for them, and if they can't figure
it out easily on their own, they may give Catalyst a pass and move on
to CGI::Application or some other framework. Sure,  each user has the
right to make that choice, and those frameworks have their particular
strengths. However, missing out on Catalyst's elegance and power
simply because you can't get an IDE to play nice with it seems
criminal.

Deployment
    Jonathan covers this in his book, but the topic could certainly
stand a more in-depth treatment. What options do I have for deploying
my application? Executable? Makefile.PL? Tarball? CPAN?

Production
   How can I set up my infrastructure to make my Catalyst app as
robust as possible? What are the different ways I can configure my
infrastructure to support my application? Load-balanced? Write a
front-end server that hands requests to backend servers? Should I use
Apache 1 and mod_perl or Apache 2 and mod_perl2? Are there any
advantageous things I can do when I am setting up mod_perl/mod_perl2
to make development easier, less tedious, or provide more performance
in Catalyst?
What about Fast CGI? What about the other Catalyst::Engine options?

All this additional documentation may not be necessary, but it would
be *helpful*, especially to those who are new to Perl. It would also
be helpful to those coming to Perl and Catalyst from the Micro$oft
paradigm - they will generally expect to use a graphical IDE with
inline debugging/inline remote debugging to write code.

I'm not advocating turning away from using CPAN to contain and
maintain the documentation. I'm advocating adding to the documentation
and providing it in a more friendly format on the catalyst.perl.org
site. Integrate the documentation with the look and feel of the site
and don't just shuffle the user to CPAN. Add some articles and such to
the site that showcase how to do things and how easily those things
can be done with Catalyst. Maybe even open up the catalyst.perl.org
site for user contributions.

If someone asked me what Catalyst was all about, I wouldn't send them
straight to CPAN. I'd recommend Jonathan's book to them. CPAN is great
when you want to read the documentation for module X::Y::Z. It's not
great when you're wanting to know how to do Thing 1 and Thing 2 with
module X::Y::Z *and* module A::B::C within Catalyst.

Nathan

> The documentation for the various things Peter already mentioned describes
> them in detail; there's nothing particularly Catalyst-specific about the
> debuggers.
>
> What are you looking for that isn't already in the documentation?
>
> --
>       Matt S Trout       Need help with your Catalyst or DBIx::Class project?
>    Technical Director                    http://www.shadowcat.co.uk/catalyst/
>  Shadowcat Systems Ltd.  Want a managed development or deployment platform?
> http://chainsawblues.vox.com/            http://www.shadowcat.co.uk/servers/
>
> _______________________________________________
>
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>



More information about the Catalyst mailing list