Mod_dtcl | ![]() |
How to use mod_dtcl, features available, etc...
SUPPORT:
There is a mailing list at mod_dtcl@lists.prosa.it. To subscribe, send a message with 'subscribe' in the body to mod_dtcl-request@lists.prosa.it. Mod_dtcl is currently alpha software (meaning that it is subject to change), however, due to the relative simplicity of the design, it is fairly stable, and performs well. If you have any questions or comments, please send them to the mailing list.
WHY: Why mod_dtcl when there are already so many other server parsed implementations?A brief description of how it works. For each page requested, a new tcl namespace is created within the global namespace. The module then reads through the page, aggregating plain HTML into big "hputs" statements, and anything between the delimiters ( <+ and +> ) as regular tcl. After this is done, the whole script is eval'ed and sent to the client. After it is eval'ed, the namespace that it was run in is destroyed, so as to destroy local variables.
As of 0.7.0 there is more code to deal with buffering and headers. The first 'hputs' has been replaced with 'buffer_add', which stashes the first html to be output into 'output_buffer'. If buffering is turned on, hputs continues to output to output_buffer, and only prints and flushes at the very end of processing. This allows you to manipulate headers at arbitrary points in the file, at the cost of having to wait for the whole thing to be done before printing anything. Turning buffering on and off allows you to choose which route you would prefer.
VIEW HTMLIZED SOURCE CODE:I have HTMLized the sources so that they can be browsed on line.
THANKS:I would like to thank Daniel Ridruejo for furnishing me with the web space, Rolf Ade, and the various people subscribed to the mod_dtcl mailing list for ideas, comments and suggestions. Thanks also to Prosa SRL for setting up a mailing list for me.
Send me mail about mod_dtcl!. (Or better yet, send it to the mailing list).
mod_dtcl is Copyright David Welton 1998