myco README $Id: README,v 1.1.1.1 2004/11/22 19:16:00 owensc Exp $ * Welcome to myco and The myco Project! The purpose of The myco Project is to create and sustain a rich framework that provides end-to-end support for the perl object-oriented application developer, freeing them to focus more effectively on application-specific end-user features. Via this framework we supply a set of software tools and also attempt to promote and facilitate best (or at least patently "good") practices in software development. * Features The myco framework supports: * Object "lifecycle" services: o accessors o data validation o persistence o templates (vaguely akin to Java interfaces) o metadata (a.k.a. "introspection"), with metadata inheritance o role-based access control o logging * Unit testing * Metadata driven user interfaces (a Model-View-Controller implementation, usable in both HTML::Mason and cgi script contexts) * And more... ("but wait...that's not all") * Status The myco framework has been in production use within Eastern Nazarene College for about two years. Publishing to CPAN has always been our intention... but life intervenes. This initial release is extremely rough. This is the "get it out the door AS-IS" release. I hope to release something a bit more polished before too long, and then put the CVS repository up on Sourceforge. The core of the system works and works well, but is not anywhere near the place where it can really live up to its core goal: drop it in and get coding effectively. The framework up until now has been very much enmeshed with the applications for which it was originally developed to support (a CRM, and more recently, "identiprov"). This release represents the first major attempt to have myco stand on its own, and thus potentially be of value to a broader audience. Next steps / goals: * Docs -- beginners tutorial * Improved installer * Test infrastructure reworked to use Test::More and friends * Lots more ideas... look for TODO doc in next release * Getting Started We're more than a bit lean on documentation at present. Newer classes now have POD documentation firmly embedded. To access: cd lib perldoc CLASS Recommended initial reading: Installation and administration (largely accurate) * Myco::Admin Key framework base classes * Myco::Base::Entity * Myco::Test::EntityTest Clean example of Entity class: * Myco::Base::Entity::SampleEntityAddress Key 3rd-party components * Perl - http://www.perl.com * Tangram - http://soundobjectlogic.com * Class::Tangram * HTML::Mason - http://www.masonhq.com * mod_perl (1.x thus far) - http://perl.apache.org * Requirements The myco framework should function under most any modern UNIX-like operating system where perl 5.6 or greater is available. Data persistence and user interface functionality is limited to platforms that support the related 3rd-party components (Tangram, mod_perl, HTML::Mason). The myco framework has been used successfully on these platforms: * FreeBSD (4.8+, 5.1+) * MacOS X myco framework object services (except data persistence) have been used also within Cygwin (http://www.cygwin.com) * Support myco homepage (hopefully appearing soon): http://www.myco.ws myco project page (very little here thus far): http://sourceforge.net/projects/myco/ A user mailing list exists at http://lists.sourceforge.net/lists/listinfo/myco-users * Build a better myco Comments, suggestions, patches... all are welcome! Thanks for your interest and participation! Charles N. Owens, Senior Technology Officer Eastern Nazarene College