[ANN] SkunkWeb 3.0 Released!

Drew Csillag drew_csillag at geocities.com
Thu Aug 23 12:29:27 EDT 2001


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
	http://skunkweb.sourceforge.net

or directly from 
        http://prdownloads.sourceforge.net/skunkweb/skunkweb-3.0.tgz

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

Extensible
	* 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

Speed
	* 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

Documentation
	* 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,

-Drew

-- 
print(lambda(m,d,y):['Sun','Mon','Tues','Wednes','Thurs','Fri','Satur'
][(lambda(m,d,y):(23*m/9+d+4+y/4-y/100+y/400)%7)(m<3and(m,d+y,y-1)or(
m,d+(y-2),y))])(map(int,raw_input('mm/dd/yyyy>').split('/')))+'day'




More information about the Python-list mailing list