Myco
Encyclopedia
myco is a framework
for developing software applications
in the Perl
programming language
.
Initital development of myco took place between 2000 and 2003 at Eastern Nazarene College
. IdentiProv has been in production use at the college since 2003.
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....
for developing software applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...
in the Perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...
programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
.
Features
The myco is based on microPlatform framework and supports:- Object "lifecycle" services:
- accessors
- data validationData validationIn computer science, data validation is the process of ensuring that a program operates on clean, correct and useful data. It uses routines, often called "validation rules" or "check routines", that check for correctness, meaningfulness, and security of data that are input to the system...
- persistencePersistent data structureIn computing, a persistent data structure is a data structure which always preserves the previous version of itself when it is modified; such data structures are effectively immutable, as their operations do not update the structure in-place, but instead always yield a new updated structure...
- templates (vaguely akin to java interfacesJava Metadata InterfaceGiven that metadata is a set of descriptive, structural and administrative data about a group of computer data , Java Metadata Interface is a platform-neutral specification that defines the creation, storage, access, lookup and exchange of metadata in the Java programming language.- History :The...
) - metadataMetadataThe term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...
(a.k.a. introspectionType introspectionIn computing, type introspection is a capability of some object-oriented programming languages to determine the type of an object at runtime. This is a notable capability of the Objective-C language, and is a common feature in any language that allows object classes to be manipulated as first-class...
), with metadata inheritance - role-based access controlRole-Based Access ControlIn computer systems security, role-based access control is an approach to restricting system access to authorized users. It is used by the majority of enterprises with more than 500 employees, and can be implemented via mandatory access control or discretionary access control...
- logging
- Unit testingUnit testIn computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use.A unit is the smallest testable part of an application. In procedural programming a unit could be an entire module but is more commonly an individual function...
- Several application add-ons are pending for public release, including:
- Metadata driven user interfaces (a Model-View-ControllerModel-view-controllerModel–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
implementation, usable in both HTML::Mason and cgiCommon Gateway InterfaceThe Common Gateway Interface is a standard method for web servers software to delegate the generation of web pages to executable files...
script contexts) - An Identity managementIdentity managementIdentity management is a broad administrative area that deals with identifying individuals in a system and controlling access to the resources in that system by placing restrictions on the established identities of the individuals.Identity management is multidisciplinary and covers many...
Suite, IdentiProv
- Metadata driven user interfaces (a Model-View-Controller
Initital development of myco took place between 2000 and 2003 at Eastern Nazarene College
Eastern Nazarene College
The Eastern Nazarene College is a private, coeducational college of the liberal arts and sciences in Quincy, Massachusetts near Boston, in the New England region of the United States. Known for its strong religious affiliation, distinctive liberal arts core curriculum, and excellence in science...
. IdentiProv has been in production use at the college since 2003.
External links
- myco distribution on the Comprehensive Perl Archive NetworkCPANCPAN, the Comprehensive Perl Archive Network, is an archive of nearly 100,000 modules of software written in Perl, as well as documentation for it. It has a presence on the World Wide Web at and is mirrored worldwide at more than 200 locations...