Date: Thursday 31 March 2005 Time: 6:45pm (talk starts) Where: 2 Bloor Street West (NW corner of Yonge/Bloor, skyscraper with the CIBC logo on top), room / floor to be announced Who: Richard Dice and Michael Graham (the speakers) Everyone else (the audience) What: "CGI Programming _we're_ really proud of: MVC web development in Perl" CGI Programming has by-and-large been a frustrating experience since its inception in the early/mid 1990s, for a variety of reasons. By the late 1990s, the dominant web programming paradigm became what could be called "code-in-HTML-page", as exemplified by such languages as PHP and ASP/VB. The dominance of these approaches continues to this day, though they suffer from 2 large flaws: * the mingling of code within HTML makes maintainability a nightmare * very little is provided to make "unified applications" that go beyond a work-flow of a page submitting to another page, which submits to another page, etc. In the summer of 2003, Richard took a number of CPAN modules as "components", brought them together, and ended up with a Model-View-Controller style of web application. This framework has been generalized and simplified over the 1.5 years since with work by Richard and Michael Graham. Its release to CPAN is forthcoming. The framework integrates a lot of powerful CPAN modules and makes it easy to use the following features in your web applications: * Templates (HTML::Template, Template Toolkit or Petal) * Authentication * Login forms * Sessions * Form Validation * Sticky Forms * Database abstraction (Class::DBI) * Logging (Log4perl) * Configuration files (Config::General) * Nested web page components * ... and much, much more! This talk is a follow-up to the October 2003 talk presented to TPM by Richard Dice in which he outlined an MVC framework for web development in Perl, but didn't actually demonstrate anything due to the lack of a database backend and working codebase. This has all been addressed now, and it's in a fully modular and usable format by everyone.