[Catalyst] Google summer of code proposal

Zbigniew Lukasiak zzbbyy at gmail.com
Thu Apr 2 20:52:21 GMT 2009


2009/4/2 Octavian Râsnita <orasnita at gmail.com>:
> From: Devin Austin
>
> My proposal is to refactor for the Catalyst web framework's helpers to
> make them more extensible.  Helpers date from the early days of the
> framework, but have lagged far behind in development compared to other
> aspects of Catalyst.  Current solutions are hackish, brittle, and
> inconsistent.  The goal of this project is to clean up the previous
> “API”, solidify it with tests and documentation, and then expand it to
> add features that will give them more usefulness than just “generating
> scaffolding” code.  That is, to make Catalyst helpers more useful for
> everyone rather than just beginning developers.
> Congratulations for the idea. What I think it could be helpful for having in
> the Catalyst helpers that need to use very many parameters, is the
> possibility of specifying a configuration file that contains all the needed
> parameters.
> This way it would be more simple to re-use the helper for the next time,
> without worrying that we might forget some parameters.
>
> For example, instead of:
>
> $ perl scripts/myapp_create.pl model DB DBIC::Schema MyApp::Database
> create=static components=Digest::Columns dbi:mysql:database=test user pass
>
> we could use:
>
> $ perl scripts/myapp_create.pl @db.txt
>
> and the file db.txt could contain:
>
> type=model
> name=DB
> params=DBIC::Schema MyApp::Database create=static components=Digest::Columns
> dbi:mysql:database=test user pass

I concur - and to make it perfect it should be able to generate many
components at once and not use scripts/myapp_create.pl but the
original catalyst.pl - so the whole app could be generated in one
step.  Now I need to do ugly hacks with Find::Bin to do that in
InstantCRUD.

Two more ideas (that I've already posted to the other mailing list:

1) Helpers now are completely separated - each one generates it's own
part of the application, but does not change anything else.  It would
be useful at least to be able to add the configuration to the main
application config file instead of adding config to the generated
classes (case in point Catalyst::View::TT).


2) Module::Starter - maybe we could refactor at least part of the
helper stuff as Module::Starter plugins - and have the benefit of
using something generic?


-- 
Zbigniew Lukasiak
http://brudnopis.blogspot.com/
http://perlalchemy.blogspot.com/



More information about the Catalyst mailing list