Changes to Tcl Web Application Framework between r11 and r12

'''Framework for Simplifying Writing and Supporting Web Applications in [Tcl]'''

   * Documentation: http://www.rkeene.org/projects/webapp/webapp.pdf
   * Source: http://www.rkeene.org/devel/webapp-0.3.25.tar.gz

The Tcl Web Application Framework helps simplify writing Web applications in the Tool Command Language ([Tcl]). It provides the features that form the basis for writing an application, such as sessions, users, privilege separation, and an abstract database interface. It is currently under development, but stable for production use.

It is written in such a way that applications can integrate into the framework without having to modify the framework itself, making upgrading the framework without breaking the application possible.

Feedback and suggestions are appreciated as this project matures.
----
'''Using it with [Rivet]CGI''' --> '''Using it with [RivetCGI]'''
(blank line)
The Tcl Web Application Framework requires a [Rivet] implementation.  Unfortunately "[http://tcl.apache.org/rivet/ | mod_rivet]" only works on Apache (and for a long time only worked on Apache 1.x) and does not change user IDs (as with "suexec" and "su_php") from the web server user ID.
(blank line)
To address this I've implemented a stand-alone [Rivet] implementation called [RivetCGI].  [RivetCGI] supports being run as a CGI under any existing HTTP server, or converting a directory tree into a [Starkit] (single file Tcl script that represents an archive of files and directories as a virtual filesystem within Tcl) and acting as a standalone server (or standalone CGI on any web server).
(blank line)
This last option is especially useful when used with the Tcl Web Application Framework, since you can create a single executable that represents your application and is a standalone web server.
(blank line)
''How does it work ?''
(blank line)
There are several pieces that need to fit together to make your application work:
   1. The Tcl Web Application Framework;
   2. [RivetCGI];
   3. A [Tclkit] for the platform that you are building the [Starkit] on; and
   4. Optionally, a [Tclkit] for the platform that you wish to create a standalone executable for that does not require Tcl
(blank line)
Once you have all these pieces, you can use "bin/rivet2starkit" from RivetCGI with the arguments of the Tclkit, your kit-to-be-created, and the path to the Tcl Web Application Framework.  After that, if you desire, you can convert the [Starkit] into a [Starpack] for any platform.
(blank line)
''Walk me through it!''

Legend

     Only in r11
     Only in r12
     -->      Modified slightly between r11 and r12