paulb@68 | 1 | Introduction
|
paulb@68 | 2 | ------------
|
paulb@68 | 3 |
|
paulb@60 | 4 | WebStack is a package which provides a common API for Python Web applications,
|
paulb@60 | 5 | regardless of the underlying server or framework environment. It should be
|
paulb@60 | 6 | possible with WebStack to design and implement an application and to choose a
|
paulb@60 | 7 | deployment environment, without having to go back and rewrite large parts of
|
paulb@60 | 8 | that application to work in the chosen environment or in other environments
|
paulb@60 | 9 | (should the deployment requirements change after the application has been
|
paulb@60 | 10 | written).
|
paulb@60 | 11 |
|
paulb@68 | 12 | Framework Support
|
paulb@68 | 13 | -----------------
|
paulb@68 | 14 |
|
paulb@60 | 15 | Currently, BaseHTTPRequestHandler (via BaseHTTPServer in the standard library),
|
paulb@60 | 16 | mod_python, Twisted and Webware are supported. Each framework has its own set of
|
paulb@60 | 17 | strengths and weaknesses, but the idea is that deployment concerns can be
|
paulb@60 | 18 | considered separately from the implementation of application functionality.
|
paulb@63 | 19 | Consult the NOTES.txt files in each framework's subdirectory of the docs
|
paulb@63 | 20 | directory for some notes on how applications may be run in each environment.
|
paulb@60 | 21 |
|
paulb@68 | 22 | Tested Frameworks
|
paulb@68 | 23 | -----------------
|
paulb@68 | 24 |
|
paulb@68 | 25 | BaseHTTPRequestHandler Python 2.2.2
|
paulb@68 | 26 | mod_python 3.0.3
|
paulb@68 | 27 | Twisted 1.0.5
|
paulb@68 | 28 | Webware 0.8.1, CVS (2004-02-06)
|
paulb@68 | 29 |
|
paulb@68 | 30 | Future Work
|
paulb@68 | 31 | -----------
|
paulb@68 | 32 |
|
paulb@60 | 33 | Things to consider for future releases: higher-level authentication support,
|
paulb@68 | 34 | cookie handling, redirects, session interfaces, and much better documentation.
|
paulb@68 | 35 |
|
paulb@68 | 36 | Field storage needs testing, especially for anything using the
|
paulb@68 | 37 | cgi.FieldStorage class, and either the Twisted support needs a wrapper class
|
paulb@68 | 38 | resembling cgi.FieldStorage, or the whole structure of form fields needs
|
paulb@68 | 39 | reviewing.
|