Programming API
Planet Online has a well structured application code framework. The core design of the administrative area of the application is an adaptation for the eXtropia Perl framework developed by Gunther Birznieks and Eric Tachibana.
The code framework implements a number of key concepts which are of great value for developing extensions and new implementations of the system. These are outlined below:
Configuration Parameters
The framework is built from exectuable stub files which are stored as .cgi files in the cgi-bin directory. Each .cgi file is a portal into the system which has been configured to provide a specific function. These mini applications are accessible via a drop-down menu system.
ActionHandlers
These are classes (Perl Modules) which are instantiated into the work-flow logic of the application to perform specific tasks.
Plugins
This is a further extension of the Action Handler principle. Action Handlers may instantiate plugins which provide minor variations on their logic. Through the combination of Action Handlers and Plugins a high degree of code re-use is achieved without limiting the flexibility of the core code.
Vendor Plugins
This is an implementation of an application driver concept, to allow connection to third party web services while maintaining a standard API. Currently the system employs vendor plugins for eCommerce and SMS messaging.
Template Toolkit
This is a markup sub-language which is designed to enhance Perl Programming:
The Template Toolkit is a fast, powerful and extensible template processing system. It is ideally suited to the production and maintenance of web content and other dynamic document systems
(see website)
For detailed information about the API features please consult the eXtropia ADT Guide.
