ANN: Porcupine 0.5 is released. More Pythonic, more productive.

t.koutsovassilis at gmail.com t.koutsovassilis at gmail.com
Sat May 3 23:17:23 CEST 2008


Porcupine Web Application Server is a Python based framework that
provides front-to-back revolutionary technologies for building modern
Web2.0 applications.

This release is a major breakthrough for Porcupine. The two main new
concepts introduced on the server side are the services and the web
methods. Porcupine's architecture is now based on configurable
services running over a common object database. Currently, the
supported service types include an asynchronous network server and a
scheduler used for executing Python code at predefined fixed
intervals. In the upcoming releases there are plans for new service
types to be added including persistent queues, loggers etc.

Web methods have replaced servlets completely and they are actually
smart Python decorators which allow you to add methods to content
classes dynamically (a technique also known as 'monkey-patching').
These methods become directly accessible over HTTP and they are mainly
used for serving all kinds of UIs and RPC requests.
Another major productivity enhancement is that this release no longer
requires heavy XML file editing. Thanks to web methods, the
"store.xml" is no longer used and the "config.xml" files for each
published directory can now contain smart registrations with regular
expressions matching becoming a powerful rewriting engine.

Other improvements include support for pre-processing filters, more
memory efficient object sets and type safe data types.

On the browser side QuiX has become less resource intensive by using a
pooled set of XMLHTTP objects and improved garbage collection. Last
but not least, the scroll bars bleed through issue on MacOS Firefox
browsers is now resolved.

Helpful links
==========
What is Porcupine?
http://www.innoscript.org/content/view/30/42/

Porcupine online demo:
http://www.innoscript.org/content/view/21/43/

Porcupine Wiki:
http://wiki.innoscript.org


More information about the Python-announce-list mailing list