[ANN] SkunkWeb 3.0 Released!

Drew Csillag Drew Csillag <drew_csillag@geocities.com>
Thu, 23 Aug 2001 12:29:27 -0400

After a couple of Betas, version 3.0 of The SkunkWeb Web Application
Server has just been released.

The release is available from the SkunkWeb home page at

or directly from 

What's new?
* Fixes to the demo docs due to changes at slashdot and freshmeat
* Fix to remove an erroneous SyntaxWarning
* no longer require GNU xargs, GNU find or GNU bash
* PyDO now should work with Python 2.2
* PyDO PostgreSQL connection fixes
* sessionHandler fixes
* <:sendmail:> tag fixed
* configure cleanups

What is it?
SkunkWeb is (yet another) web application server.  The things that make it
different from other app servers are:

Uses Python
	* Python is easy to learn for both new programmers and experts alike
	* senior programmer types like it too (vs. say tcl)
        * extensible with Python, of course
	* extensible with C/C++ for speed and/or linkage to C/C++ libraries
          via static *or* dynamic linking

	* Relatively simple extension API
	* can easily handle authentication, custom url building/parsing 
          schemes and custom tags

Encourages component based design
	* more than just "include"
	* not just another ASP/JSP like thing
	* a powerful templating language 
	* encouraged by caching options (see below)
	* component output can be either HTML or Python objects
	* can write components in either STML or Python
	* can also call components on other skunkweb servers
Message Catalogs
	* makes multi-lingual sites much easier
	* support variable substitution in messages

	* templates are compiled to Python bytecode
	* extensive caching (to disk and optionally memory) of:
		o compiled forms of templates
		o digested message catalogs
		o output of components
		o python modules and python components
	* cache *is* sharable between machines if using a
	  shared filesystem! (can be more than one shared filesystem
          for speed, redundancy and flexibility)
	* caching is flexible and as finite as your disk space
	* components can be rendered after the response is sent if 
	  a slightly stale version is available --- resulting in
	  better response times via deferred components

	* extensive documentation available in HTML, PostScript, PDF & text
          --well not yet, but getting there
	* have automatic documentation tools to generate documentation for 
	  STML templates (but don't use the manual stuff, it sucks).

Process Model
        * Uses multi-process, versus multi-threading which makes better
          use of multiple processors (because of the global interpreter
          lock in Python), and is safer in that if one process crashes, 
          it won't kill the entire server.

No magic (zodb <wink>).

Very best wishes to all,