[Catalyst-dev] my "ongoing" projects

Jonathan Rockway jon at jrock.us
Tue Oct 10 16:23:18 CEST 2006


Here are some things I'm working on -- feel free to comment:

1) C::P::Unicode should really be
C::P::DealWithWhateverEncodingsYourUsersUse (or C::P::Encode::DWIM).
That's a long name, but here's what I am trying to get the module to do:

On request, see what charset the request is in, and convert that to utf8
strings (with is_utf8 set, of course).

On response, remember the charset that the user's request was in, and
encode perl's strings to that charset.  If that fails, fallback to
UTF-8.  The issue here is that we have to change the headers.  If the
application sets the content-type to be "application/xhtml+xml;
charset=foobar", then we'll have to ignore the application's explicit
request and encode to something else.  Maybe we should just ignore the
user's preference and choose the charset based on that header.  (In
addition to that, people could be setting the charset in <meta> tags,
but I don't think anyone does that anymore.)

2) Self-configuring static server.  mod_perl allows the mod_perl app to
modify the server config.  My plan is to add a method to C::Engine that
lets plugins (or the app) tell the server where the static content is.
That means if you use Static::Simple and mod_perl, Static::Simple will
tell mod_perl to serve the content itself.  The saves the user from
having to read the manual :)  It's working with apache2 on my test
system, so I'm probably going to commit that as soon as I have automated
tests.  The C::E::Apache dist's tests are sort of broken, so I'm
repairing those.  TODO is lighttpd+fastcgi (X-Lighttpd-Sendfile?) and
mod_perl 1.x.

3) Split C::M to its own dist?  I like that idea, and I'm ready to do
that... but I'm waiting for some sort of consensus to form first.

I think that's it.  Let me know what you think.

Regards,
Jonathan Rockway

-- 
package JAPH;use Catalyst qw/-Debug/;($;=JAPH)->config(name => do {
$,.=reverse qw[Jonathan tsu rehton lre rekca Rockway][$_].[split //,
";$;"]->[$_].q; ;for 1..4;$,=~s;^.;;;$,});$;->setup;



More information about the Catalyst-dev mailing list