
  myco


README

$Id: README,v 1.3 2006/02/28 17:34:27 sommerb 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

* Status

The myco framework has been in production use within Eastern Nazarene College
for over three years.

The core of the system works and works well, and with release 1.0 solidly
behind us, the great task of back-porting all the legacy pieces of the "old"
myco has begun. You see, 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.

* Getting Started

Our documentation for 1.0 has much improved, including a beginning Developer's
guide. Recommended initial reading:

  Installation and administration
   * Myco::Admin
  Get started coding a simple 'guitar' application
   * Myco::Devel

  Key framework base classes
   * Myco::Entity
   * Myco::Test::EntityTest

  Clean example of Entity class:
   * Myco::Entity::SampleEntityAddress

  And, for the ambitious, the black art of the Myco/Tangram query:
   * Myco::QueryTemplate

Key 3rd-party components
   * Perl - http://www.perl.com
   * Tangram - http://soundobjectlogic.com
   * Class::Tangram
   * PostrgreSQL - http://www.postgresql.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
functionality is limited to platforms that support the related 3rd-party
components (Tangram, Class::Tangram, PostrgreSQL).

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:

    http://www.mycohq.com

  email:

    info@mycohq.com

  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!

  ~Ben Sommer & Charles N. Owens