package Activator; our $version = '.90'; 1; __END__ =head1 NAME Activator Development Framework - Object Oriented framework to ease creation and rapid development of multi-developer distributed mixed environment perl based software projects, especially Catalyst based websites. =head1 DESCRIPTION =head2 Overview Activator provides modules to support rapid software development throughout the software life-cycle: =over =item * Role-based project configuration supporting development, QA, and production needs =item * A globally accessible variable registry for all components within a project including the Catalyst web app, crons and daemons =item * Key/Value dictionary lookups provide context sensitive messages to users and/or logs =item * Template based email using a role-based delivery mechanism =item * Role based logging utilizing Log4Perl =item * Global database access definitions allowing generic abstraction of database queries (supports intentionally avoiding an ORM) =item * Role and configuration file aware command line options processing =back =head2 Motivation We are users of Catalyst. We love it, but sometimes making all the parts of our projects play nice together within our eco-system is difficult. As software would travel from inception to development, to QA, to production, there were always design issues that would crop up making someones' life difficult. Activator eases the pain. If you don't use Activator, you have to go through great pains to avoid these problems: =over =item * Make sure that all developers don't forget to use the correct database connections =item * Insure that the systems team has email configured correctly on all development machines. =item * Make sure your code loads config files from the same place, no matter if you are in production, QA or dev environment. Make sure this place is maintainable, so that emergency issues can easily be resoloved. =item * Code review to insure a strong separation between the 3 parts of an MVC codebase. =item * Come up with yet another standard so that crons, command line tools, and web site code all play nice together. =item * Come up with yet another mechanism for providing I18N that works across all aspects of a project. =item * Make sure you edit all the configurations necessary when creating a new dev environment =back Activator solves all of the above, and many more problems. Read the L to find out how. =head1 DEPENDANCIES Data::Dumper Scalar::Util IO::Capture Exception::Class Test::Exception Test::Pod Class::StrongSingleton Hash::Merge Time::HiRes Exception::Class::TryCatch Exception::Class::DBI Crypt::CBC Crypt::Blowfish MIME::Lite HTML::Entities Email::Send Template::Plugin::HTML::Strip On a CentOS system, this should get you going with Catalyst: yum install perl-Catalyst-Runtime \ perl-Class-Accessor \ perl-Class-Data-Inheritable \ perl-YAML \ perl-Catalyst-Plugin-ConfigLoader \ # Test::WWW::Mechanize::Catalyst \ # Catalyst::View::TT \ # Template::Timer \ # HTTP::Request::AsCGI \ # Catalyst::Plugin::Static::Simple \ # Catalyst::Engine::Apache \ # Catalyst::Action::RenderView \ # HTML::Lint \ # Catalyst::Plugin::Authentication::User::Hash \ # WWW::Mechanize \ # Catalyst::Plugin::Static::Simple \ # Catalyst::Plugin::Authentication \ # Catalyst::Plugin::Authentication::Store::DBIC \ # Catalyst::Plugin::Authentication::Credential::Password \ # Catalyst::Plugin::Authorization::Roles \ # Catalyst::Plugin::Session \ # Catalyst::Plugin::Session::Store::Memcached \ # Catalyst::Plugin::Session::State::Cookie \ # Catalyst::Plugin::Cache::Memcached \ #yum install \ perl-Data-Dumper \ perl-Scalar-Util \ perl-IO-Capture \ perl-Exception-Class \ perl-Test-Exception \ perl-Test-Pod \ perl-Hash-Merge \ perl-Time-HiRes \ perl-Exception-Class-DBI \ perl-Crypt-CBC \ perl-Crypt-Blowfish \ perl-MIME-Lite \ perl-HTML-Entities \ perl-Template-Plugin-HTML-Strip \ python-crypto python-paramiko memcached cd /root/downloads/activator-rpms && rpm -Hiv \ perl-Class-StrongSingleton-0.02-1.noarch.rpm \ perl-Data-Validate-IP-0.08-1.noarch.rpm \ perl-Data-Validate-URI-0.04-1.noarch.rpm \ perl-Exception-Class-TryCatch-1.10-1.noarch.rpm =head1 FUTURE WORK Please see the project blueprints (AKA: todo list) on launchpad: https://blueprints.launchpad.net/activator-framework =head1 SEE ALSO L L L L L L L L =head1 AUTHOR Karim A. Nassar =head1 COPYRIGHT Copyright (c) 2007 Karim A. Nassar You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. =cut