Hi I am planning to change CGI::Snapp's base class from Hash::FieldHash to Moos (sic).
I understand this will cause some disruption to users of CGI::Snapp (if any :-), but there will be a number of benefits. And it's these benefits which has convinced me to propose this. The new CGI::Snapp would jump to V 2.00, to indicate a significant internal change. It's currently V 1.03. Benefits: o Moos is extremely light-weight (as is Hash::FieldHash). o Moos (naturally) supports inheritance, with 'extends'. o Moos supports consumption of roles, with 'with', if you have Role::Tiny installed. It's name says it all. This means, e.g., the internal logger would become CGI::Snapp::Logger, a role. o The Moos syntax is, of course, Moose-like. o Using Moos means if you use a MVC code structure, and were previously having difficulty deciding if you should use Hash::FieldHash or Moose (sic), or similar in your controllers, etc, you could now use Moos there too. This particularly appeals to me, since I've been using Moose in all three, M, V, and C, and the mismatch with Hash::FieldHash has always bugged me. Unifying them has other benefits, since I have some modules which will dove-tail nicely by switching to Moos as well: o Local::Config. This loads a config file per project. It wraps File::HomeDir to load a file using the project's name. o Local::Connector. This uses Local::Config's per project file to wrap DBIx::Connector to create a project-specific dbh. This can then be passed to any code in the project, minimizing the # of dbhs used (if that appeals to you). o Local::Logger, which uses the project-specific dbh from Local::Connector, since my projects all log to a db. The point of these is to be able to drop and create db tables without needing DBIx:Class. Then, constant tables can be populated and exported to HTML and CSV, still without DBIx::Class. Finally, when the tables exist, I can use DBIx::Class itself to generate the source code of the Schema::* modules for use by other classes, e.g. the M and V in MVC. As I type this email, the idea is growing on me more and more. So, if you have any comments, now is the time to speak up. -- Ron Savage http://savage.net.au/ Ph: 0421 920 622 ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################