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