Differences between revisions 1 and 20 (spanning 19 versions)
Revision 1 as of 2002-07-12 22:29:49
Size: 3539
Editor: anonymous
Comment: missing edit-log entry for this revision
Revision 20 as of 2003-08-20 04:56:54
Size: 4927
Editor: 64-21-7-184
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== URL === #pragma section-numbers off
A framework for WebProgramming.
=== What It Is ===
Line 3: Line 5:
http://skunkweb.sf.net 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.
Line 5: Line 7:
=== Licence === === Masthead ===
Line 7: Line 9:
[http://www.fsf.org/copyleft/gpl.html GPL] - SkunkWeb is open source (more specifically "free software").    URL:: http://skunkweb.sf.net (main site); http://skunkweb.qinternet.com/sw/FrontPage (SkunkWeb Wiki)
   version:: 3.4b5 (''[[Date(2003-08-14T00:00:00)]]'')
   licence:: your choice of [http://www.fsf.org/copyleft/gpl.html GPL] or the SkunkWeb License (a BSD license).
   platforms:: SkunkWeb works on UNIX platforms, including Linux, FreeBSD, MacOS X, Solaris, HPUX, and on Windows with the Cygwin environment (the latter is not recommended for production).
   Python versions:: 2.1.1 and later (some optional libraries require 2.2 or later)
Line 12: Line 18:
    * SkunkWeb can be run as a standalone server instead, removing the need for Apache.     * SkunkWeb can be run as a standalone http server instead, removing the need for Apache.
Line 14: Line 20:

=== Operating Systems ===

SkunkWeb works on UNIX platforms, or on Windows with the Cygwin environment (not a supported platform, however).
Line 25: Line 27:
    * Presentation-oriented - one of the stated benefits of SkunkWeb is the STML template language, which is extendable with Python-based components.     * Presentation-oriented - one of the stated benefits of SkunkWeb is the STML template language, which is extendable with Python-based components. A PSP templating language is also available, and other templating systems (Cheetah, ZPT) could be plugged in, in addition to straight Python.
    * It is easy to extend the server with custom services that affect how requests are handled.
    * Applications can be deployed as SkunkWeb "Products", archives containing SkunkWeb components and Python modules (including SkunkWeb services, which get loaded at server startup).
Line 29: Line 33:
    *  SkunkWeb uses plain text configuration files to specify resource locations.     * SkunkWeb uses plain text configuration files to specify resource locations.
Line 34: Line 38:
    * SkunkWeb supports sessions, with both filesystem and SQL-based database system stores being provided; their use
      
is entirely optional.
    * SkunkWeb supports sessions, with both filesystem and SQL-based database system stores being provided; their use is entirely optional.
Line 40: Line 43:
    * SkunkWeb supports the PyDO object-relational mapper.
    * Database connections for PostgreSQL, MySQL and Oracle can be cached (not pooled).
    * SkunkWeb includes the ["PyDO"] object-relational mapper.
    * Database connections for ["PostgreSQL"], ["MySQL"] and ["Oracle"] can be cached (not pooled).
Line 43: Line 46:
Line 45: Line 49:
    * 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.

In the documentation, it is noted that other presentation systems could be developed for SkunkWeb.
    * ["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)
    * Python - in lieu of a templating language, straight Python can be used.
Line 51: Line 55:
The SkunkWeb archive package seems to contain documentation, but it exists principally in LaTeX format and does not seem to be built by default; the latest version can always be downloaded, however, 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 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.
Line 53: Line 57:
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. 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, Until version 3.4b3, SkunkWeb was licensed solely under the GPL, at which some in the community caviled; it is now also available under a BSD-style license.

-- PaulBoddie (with some additions InTheirOwnWords)

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 (main site); http://skunkweb.qinternet.com/sw/FrontPage (SkunkWeb Wiki)

version

3.4b5 (Date(2003-08-14T00:00:00))

licence

your choice of [http://www.fsf.org/copyleft/gpl.html GPL] or the SkunkWeb License (a BSD license).

platforms

SkunkWeb works on UNIX platforms, including Linux, FreeBSD, MacOS X, Solaris, HPUX, and on Windows with the Cygwin environment (the latter is not recommended for production).

Python versions
2.1.1 and later (some optional libraries require 2.2 or 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. A PSP templating language is also available, and other templating systems (Cheetah, ZPT) could be plugged in, in addition to straight Python.

  • It is easy to extend the server with custom services that affect how requests are handled.
  • Applications can be deployed as SkunkWeb "Products", archives containing SkunkWeb components and Python modules (including SkunkWeb services, which get loaded at server startup).

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 includes 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)

  • Python - in lieu of a templating language, straight Python can be used.

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, Until version 3.4b3, SkunkWeb was licensed solely under the GPL, at which some in the community caviled; it is now also available under a BSD-style license.

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

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