Differences between revisions 14 and 15
Revision 14 as of 2002-08-16 17:15:41
Size: 4522
Editor: 209
Comment: deleted "Anonymous Critic" 's editorial comments.
Revision 15 as of 2002-08-18 22:42:21
Size: 4553
Editor: pD9EB05B1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
A framework for WebProgramming.

A framework for WebProgramming.

What It Is

SkunkWeb is a scalable, extensible, and easy-to-use Web application server written in Python. It is designed for handling both high-traffic sites and smaller sites. Its features include a powerful component model and an elegant templating language that encourages component-based design, highly configurable caching (on disk and/or in memory) of compiled templates and component output, message catalog support for i18n, and remote component calls. It can be used with Apache via an Apache module, or it can serve HTTP requests directly.

Masthead

URL

http://skunkweb.sf.net

version

3.3 (Date(2002-08-16T00:00:00))

licence

[http://www.fsf.org/copyleft/gpl.html GPL] - SkunkWeb is open source (more specifically "free software").

platforms

SkunkWeb works on UNIX platforms, or on Windows with the Cygwin environment (the latter is not a supported platform, however).

Python versions
2.1.1 and later

Deployment Platforms

  • Integrated with the Apache Web server using the mod_skunkweb adapter, fcgi, scgi, or a CGI program which communicates with the SkunkWeb environment. Other webservers that support fcgi, scgi or cgi should also work.

  • SkunkWeb can be run as a standalone http server instead, removing the need for Apache.

  • The SkunkWeb environment is provided by long-running processes.

Suitability

The requirement for Web server adapter integration, or the running of a standalone server, rules SkunkWeb out for more limited hosting environments. However, where such deployment is possible, the performance should be satisfactory, given that this is clearly a priority of the developers.

Development Interfaces

  • Presentation-oriented - one of the stated benefits of SkunkWeb is the STML template language, which is extendable with Python-based components. New in 3.3 is that there is now a PSP templating language also.

  • It is easy to extend the server with custom services that affect how requests are handled.

Environment Access

  • SkunkWeb uses plain text configuration files to specify resource locations.

  • Additional functionality could be included in SkunkWeb applications using the Python module system - service components could import modules to access such functionality.

Session, Identification and Authentication

  • SkunkWeb supports sessions, with both filesystem and SQL-based database system stores being provided; their use is entirely optional.

  • Cookie and basic authentication support is provided, and the authentication system is easily extensible.

Persistence Support

  • SkunkWeb supports the ["PyDO"] object-relational mapper.

  • Database connections for ["PostgreSQL"], ["MySQL"] and ["Oracle"] can be cached (not pooled).
  • SkunkWeb has a well-considered and high-performance caching system that is easily controllable on a per-component basis.

Presentation Support

  • ["STML"] - a template language which uses special tags in order to control the final Web page output, and calls components written in Python or ["STML"] that can either write output or return Python data. Top-level documents can also be written in Python.
  • Python Server Pages - a PythonInWebPage presentation technology supplied with SkunkWeb (as of version 3.3)

Comments

The SkunkWeb archive package contains formatted documentation (HTML, PostScript, PDF and DVI); the latest version can always be downloaded, from http://skunkweb.sourceforge.net/. The installation process is somewhat more involved than with other packages, but should be straightforward enough to anyone used to installing GNU autoconf-based packages.

The SkunkWeb developers emphasise performance and give caching, process forking and template precompilation as features which differentiate SkunkWeb from other frameworks and application servers; internationalisation using message catalogues is another feature which other frameworks do not provide or emphasise highly. Unlike many Python-based frameworks, SkunkWeb is licensed under the GPL and this may influence community participation in the enhancement of the framework - it is not appropriate to judge the licence choice in this document, however. See http://skunkweb.sourceforge.net/FAQ.html#sec10 as to why this was done and how it affects you (in short, it probably doesn't).

SkunkWeb (last edited 2010-01-24 16:41:11 by homelan)

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