Home

Oct. 24th, 2006

  • 2:15 PM
Iusethis is one of the more profiled Catalyst sites out there, and people have been asking me what modules I used to build this site. I figured that was worth doing a blog post about, so here goes:

Catalyst::Runtime
Obviously :)

HTML::TagCloud
For /tags , and more recently /user/$user/tags . I've submitted patches to this module so I could generate html the way arne wanted :-) These patches has been rolled into the cpan distro by acme++

Catalyst::Model::DBIC::Schema
During early development, I loaded the DBIC classes automatically, but as I started stabilize the schema,
I used the feature to generate static classes from the database.

Net::Trackback
We support trackbacks using this module. It was pretty easy to integrate into the Catalyst controller,
and later when I found out trackback is a spammer's wet dream, it was easy to add domain checking in the
action. We now do explicit whitelisting of domains, with a user interface to add your domain, if you want
to be linked on the app entry. I'm also planning on adding avatar support through this feature

DBIx::Class::DateTime::Epoch
I store all dates as long ints in the database, and use this module to automatically inflate them to
DateTime objects.

Catalyst::Plugin::Authentication / Store::DBIC / Credential::Password
To handle user authentication. The flexibility nothingmuch++ put into our second generation auth layer makes me very happy. If you do auth in your app, you need to use the Authentication plugins.