Revision 4 as of 2003-02-08 20:25:59

Clear message

A framework for WebProgramming.

Masthead

URL

[http://draco.boskant.nl/]

version

0.9.2 (Date(2003-01-14T00:00:00))

licence
GPL
platforms
Apache with mod_python
Python versions
2.2

Deployment Platforms

Draco plugs into the Apache/mod_python combination. Apache 1.3 is recommended, but Apache 2.0 should work too with the latest mod_python CVS version. For serious use, a relational database must be installed. Currently, only MySQL is supported but support for PostgreSQL is on the way.

Suitability

Development Interfaces

No special development environment is available. Draco applications can be made just like a regular Python or web document using a text editor.

Environment Access

Most of the standard CGI environment is available as properties or methods of a collection of global Python objects.

Session, Identification and Authentication

Draco has an integrated and automatic session management mechanism. Both cookie and url tagging methods are supported. Sessions can be logged in and made persistent. Authentication has to be performed in the application.

Persistence Support

Draco make use of the namespace concept. A namespace is a place where you can store (almost) arbitrary Python variables using the Python dictionary API (ns['varname'] etc.). There are different namespaces, some of which are persistent. These include the session, user, application and server namespace.

Technically, persistence is implemented by a relational database backend.

Presentation Support

Process Logic versus Markup Logic

In Draco program logic is conceptually separated into process and markup logic. The process logic is the logic that processes a request and performs the desired action. The markup logic is the logic that formats the results of the process logic in the html.

Handlers and Templates

Draco makes use of handlers and templates. The process logic is put in a handler. This handler processes the client's request and performs the requested operations. The result of these operations is put in a special namespace called the interface.

The template is template as exist in many web frameworks, namely an html file with embedded code blocks. The only thing this code should do is format the results from the interface namespace into the html. All variables from the interface namespace are directly available to this code as global variables.

InTheirOwnWords

Comments

Hosting

Unable to edit the page? See the FrontPage for instructions.