EVOKE is a web application builder, written in Python, with the following features:
very high level programming
using python, a custom configuration system, and a custom pythonic templating language: "evo".
data objects:
a generic data storage interface which presents data to the programmer as simple python objects, and manages MySQL databases in the background. This includes automatic generation and maintenance of MySQL databases, based on data schemas, declared in config files, which use simple custom types. The interface is currently implemented for MySQL only, but a SQLite implementation is in the pipeline.
web dispatcher:
interface to the Twisted web server, with the option of a two level server using apache as a front end.
evo templating system:
producing html/css/javascript web pages - pythonic and very simple to write, very quick in execution -templates are stored as python byte code.
security: login / registration
a generic group/membership/access subsystem for users/members, based on access rights (permits)
a multi-level configuration subsystem
multi-app:
any number of applications can be run from one evoke (i.e. Twisted) process
a page management system
giving member home pages, discussion facilities , blogging, private messaging between members, and website creation and maintenance. EVOKE has its own simple and generic text markup format, image handling (thumnail generation, slideshows), file handling (pdf)
website creation and content management
generate flat-page websites - create multiple sites per member
pluggable themes (skins)
each containing an evo wrapper, image resources, and one or more stylesheet(s)
EVOKE was written to simplify the creation and maintenance of community-oriented websites. Custom back end systems can be built easily and quickly. EVOKE has been tested extensively on live sites, since 2007, and it has proven stable and efficient. Why EVOKE? Simple design and a high level of integration make EVOKE intuitive to use while containing immense hidden power.