Moving To Catalyst, Incrementally?
Max Kanat-Alexander
mkanat at bugzilla.org
Tue Apr 28 20:57:32 UTC 2009
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.
More information about the developers
mailing list