WebStack

Annotated README.txt

200:98ddf103692c
2004-08-28 paulb [project @ 2004-08-28 17:01:14 by paulb] Fixed fields from body retrieval for Zope since Zope mixes plain strings with FileUpload objects.
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@178 15
Currently, BaseHTTPRequestHandler (via BaseHTTPServer in the standard library),
paulb@178 16
CGI, Jython/Java Servlet API, mod_python, Twisted and Webware are supported.
paulb@178 17
Each framework has its own set of strengths and weaknesses, but the idea is that
paulb@178 18
deployment concerns can be considered separately from the implementation of
paulb@178 19
application functionality. Consult the NOTES.txt files in each framework's
paulb@178 20
subdirectory of the docs directory for some notes on how applications may be run
paulb@178 21
in each environment.
paulb@60 22
paulb@68 23
Tested Frameworks
paulb@68 24
-----------------
paulb@68 25
paulb@178 26
BaseHTTPRequestHandler    Python 2.2.2, Python 2.3.3
paulb@120 27
CGI                       Apache 2.0.44
paulb@178 28
Jython/Java Servlet API   Jython 2.1, Java JDK 1.3.1_02, Tomcat 4.1.27 (Servlet 2.3)
paulb@102 29
mod_python                3.0.3 (3.1.3 for cookie support)
paulb@68 30
Twisted                   1.0.5
paulb@68 31
Webware                   0.8.1, CVS (2004-02-06)
paulb@192 32
Zope			  2.7.2-0
paulb@192 33
paulb@192 34
New in WebStack 0.7 (Changes Since WebStack 0.6)
paulb@192 35
------------------------------------------------
paulb@192 36
paulb@192 37
Fixed file upload semantics.
paulb@192 38
Fixed content type handling (although some improvement remains).
paulb@192 39
Introduced Zope 2 support.
paulb@68 40
paulb@178 41
New in WebStack 0.6 (Changes Since WebStack 0.5)
paulb@178 42
------------------------------------------------
paulb@178 43
paulb@178 44
Introduced Jython/Java Servlet API support.
paulb@178 45
Minor fixes to example applications and to BaseHTTPRequestHandler.
paulb@178 46
paulb@171 47
New in WebStack 0.5 (Changes Since WebStack 0.4)
paulb@171 48
------------------------------------------------
paulb@171 49
paulb@171 50
Changed request body fields/parameters so that they are now represented using
paulb@171 51
Unicode objects rather than plain strings.
paulb@171 52
Introduced better support for Unicode in response streams.
paulb@171 53
paulb@160 54
New in WebStack 0.4 (Changes Since WebStack 0.3)
paulb@160 55
------------------------------------------------
paulb@140 56
paulb@140 57
Added application definition of user identity, permitting alternative
paulb@140 58
authentication mechanisms.
paulb@142 59
Improved BaseHTTPRequestHandler and mod_python reliability around fields from
paulb@142 60
request bodies.
paulb@142 61
Provided stream and environment parameterisation in the CGI adapter.
paulb@140 62
Added LoginRedirect and Login examples.
paulb@164 63
Added get_path_without_query and fixed get_path behaviour.
paulb@140 64
paulb@160 65
New in WebStack 0.3 (Changes Since WebStack 0.2)
paulb@160 66
------------------------------------------------
paulb@120 67
paulb@120 68
Added better header support for Webware (suggested by Ian Bicking).
paulb@120 69
Introduced CGI and Java Servlet support (the latter is currently
paulb@120 70
broken/unfinished).
paulb@120 71
Introduced support for cookies.
paulb@120 72
paulb@68 73
Future Work
paulb@68 74
-----------
paulb@68 75
paulb@165 76
Things to consider for future releases: improved cookie support, redirects,
paulb@165 77
session interfaces, access to shared resources and much better documentation.
paulb@68 78
paulb@88 79
Field access needs testing, especially for anything using the cgi.FieldStorage
paulb@102 80
class - Webware and Twisted certainly need reviewing. The acquisition of
paulb@102 81
fields from specific sources should be made more strict - some frameworks (eg.
paulb@102 82
mod_python) provide path fields in the body fields dictionary.
paulb@102 83
paulb@102 84
Cookie objects need defining strictly, especially since the standard library
paulb@102 85
Cookie object behaves differently to mod_python (and possibly Webware) Cookie
paulb@103 86
objects. Moreover, the set_cookie_value method needs to provide access to the
paulb@103 87
usual cookie parameters as supported by the frameworks.
paulb@90 88
paulb@159 89
Release Procedures
paulb@159 90
------------------
paulb@159 91
paulb@159 92
Update the WebStack/__init__.py __version__ attribute.
paulb@159 93
Update the release notes (see above).
paulb@159 94
Check the setup.py file and ensure that all package directories are mentioned.
paulb@159 95
Tag, export, archive, upload.