Moving To Catalyst, Incrementally?

Eric Black eblack at higherone.com
Tue Apr 28 21:38:31 UTC 2009


I'll throw in my 2 cents even though I'm not a bugzilla or catalyst expert, but I have worked with catalyst a few times and when I first looked at Bugzilla, one of the first things that came to my mind was 'why haven't they moved this over to Catalyst yet' because Bugzilla seems to fit the structure of a Catalyst app well and probably wouldn't be such a great leap since the TT system is such an important aspect of Bugzilla.

I'm sure the Catalyst team would be happy for the exposure of having Bugzilla as part of apps that run on it, so you're probably right that they'd be happy to help. When I first came across Catalyst, I thought it was the best thing to happen to Perl in a long time and would instantly revolutionize perl usage, but it's been slow to gain ground from what I've seen because of it's lack of exposure (I'm assumming). Teaming up with the Bugzilla team could only help that exposure.

The one concern that I think you are right to mention is about getting all the Catalyst dependencies installed, as I had to install it on Solaris a few times and it was a real chore, so I can imagine that it would be for the Windows folks, although there is undoubtably a lot of windows users already. I get the feeling from the support list emails that many Bugzilla maintainers are not experienced perl programmers, and when Catalyst breaks, you sort of need to be to figure out the problems.

I'm not really sure I understood whether you meant to take a refactoring approach that would allow Bugzilla to work with or without Catalyst, or only with the Catalyst framework. From the blog post, it looked like a few small changes was all it took to get Bugzilla integrated with Catalyst, so it would probably be relatively easy to start with that approach and look at where it could go from there.

Eric


________________________________________
From: developers-owner at bugzilla.org [developers-owner at bugzilla.org] On Behalf Of Max Kanat-Alexander [mkanat at bugzilla.org]
Sent: Tuesday, April 28, 2009 4:57 PM
To: developers at bugzilla.org
Subject: Moving To Catalyst, Incrementally?

        Hey Folks. So, today, I was pointed at this blog post:
        https://www.opensourcery.com/blog/hans-dieter-pearcey/bugzilla-catalyst

        It describes how Bugzilla could be incrementally refactored to work
with Catalyst with very little work.

        For those who don't know, Catalyst is a web development framework for
Perl, much like Rails in Ruby or Django in Python:

        http://www.catalystframework.org/

        It looks like we could at first support Catalyst along side normal
mod_perl and mod_cgi (and Catalyst can actually run under both of those,
as well). We'd just need a catalyst.pl (somewhat like our mod_perl.pl
now) I believe.

        The advantages of running under Catalyst would be:

        * We could eventually start to use URLs like /bug/17 instead of
show_bug.cgi?id=17 and process_bug.cgi?id=17. (The first would be a GET
to /bug/17 and the second would be a POST to /bug/17.) This would be
especially useful for extensions, as they could add new URLs to Bugzilla
without having to put new .cgi files into the root of Bugzilla.

        * We could get FastCGI support for free (at least, as I understand
things) which can be better than mod_perl in some circumstances (and
works under other web servers than Apache).

        * We would eventually have all the advantages of the framework,
including hundreds of CPAN modules that do things like authentication,
webservices, etc. all without us having to write it ourselves.

        * Catalyst has its own built-in production-ready webserver, which could
make initial setup of Bugzilla a LOT easier for people who aren't
familiar with configuring webservers.

        * As I understand things, Catalyst would make it easier for us to start
using DBIx::Class, the most popular Perl database layer, which would get
us a lot of cross-database support for free, and we wouldn't have to
write our own DB drivers anymore.

        Some of the disadvantages might be:

        * Catalyst has a LOT of dependencies. (However, install-module.pl
should make this easier on *nix, and getting all the dependencies into
the appropriate ActiveState repos would make this a lot easier on Windows.)

        * If we ever decided to move to Catalyst exclusively, bugs in Catalyst
itself would heavily affect Bugzilla. (However, Catalyst has been in
heavy production use for a long time now in a lot of places, and I think
the maintainers would be happy to help us out, since we're a fairly
visible, large Perl project.)


        So, what does everybody think? Is there anybody out there with both
Catalyst experience who'd like to weigh in on this and tell us a bit
about how well you think it would work for Bugzilla?

        -Max
--
http://www.everythingsolved.com/
Competent, Friendly Bugzilla and Perl Services. Everything Else, too.
-
To view or change your list settings, click here:
<http://bugzilla.org/cgi-bin/mj_wwwusr?user=eblack@higherone.com>



More information about the developers mailing list