From jflynn@example.net  Thu Feb  8 13:22:21 2001
Return-Path: <jflynn@example.net>
Mailing-List: contact jflynn@example.net; run by ezmlm
Delivered-To: mailing list jflynn@example.net
Delivered-To: moderator for jflynn@example.net
Received: (qmail 35337 invoked by uid 500); 8 Feb 2001 13:22:21 -0000
Delivered-To: jflynn@example.net
Received: (qmail 35266 invoked by uid 1048); 8 Feb 2001 13:22:20 -0000
Date: 8 Feb 2001 13:22:19 -0000
Message-ID: <jflynn@example.net>
From: jflynn@example.net
To: jflynn@example.net
Subject: cvs commit: tcl-site/mod_dtcl documentation.html

davidw      01/02/08 05:22:19

  Modified:    mod_dtcl documentation.html
  Log:
  Fixed broken href.
  
  Revision  Changes    Path
  1.4       +3 -3      tcl-site/mod_dtcl/documentation.html
  
  Index: documentation.html
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/documentation.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- documentation.html	2001/02/08 13:16:05	1.3
  +++ documentation.html	2001/02/08 13:22:18	1.4
  @@ -328,9 +328,9 @@
   	  </p>
   	  <p>
   	    See the <a
  -		       href="http://tcl.apache.org/mod_dtcl/contact.ttml">Contact<
  -	      /a>
  -	      page for information on sending mail/subscribing.
  +		       href="http://tcl.apache.org/mod_dtcl/contact.ttml">Contact</a>
  +		       page for information on sending
  +		       mail/subscribing.
   	  </p>
   	  <p>
   	    Mailing list archives are also available at <a
  
  
  

From jflynn@example.net  Thu Feb  8 13:16:08 2001
Return-Path: <jflynn@example.net>
Mailing-List: contact jflynn@example.net; run by ezmlm
Delivered-To: mailing list jflynn@example.net
Delivered-To: moderator for jflynn@example.net
Received: (qmail 27829 invoked by uid 500); 8 Feb 2001 13:16:08 -0000
Delivered-To: jflynn@example.net
Received: (qmail 27800 invoked by uid 1048); 8 Feb 2001 13:16:07 -0000
Date: 8 Feb 2001 13:16:07 -0000
Message-ID: <jflynn@example.net>
From: jflynn@example.net
To: jflynn@example.net
Subject: cvs commit: tcl-site/mod_dtcl credits.ttml documentation.html

davidw      01/02/08 05:16:07

  Modified:    mod_dtcl credits.ttml documentation.html
  Log:
  Checked in new mod_dtcl documentation, which seperates 'static' from
  'shared' install instructions.
  
  Revision  Changes    Path
  1.3       +1 -0      tcl-site/mod_dtcl/credits.ttml
  
  Index: credits.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/credits.ttml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- credits.ttml	2000/12/18 14:04:19	1.2
  +++ credits.ttml	2001/02/08 13:16:05	1.3
  @@ -28,6 +28,7 @@
   	      <li>Craig Huckabee</li>
   	      <li>Jorgen Frojk Kjaersgaard</li>
   	      <li><a href=mailto:jflynn@example.net>Wojtek Kocjan</a></li>
  +	      <li>Pierre-Mikael Legris</li>
   	      <li>Rasmus Lerdorf</li>
   	      <li><a href=mailto:jflynn@example.net>Claus Bo Nielsen</a></li>
   	      <li>Jan Nijtmans</li>
  
  
  
  1.3       +338 -289  tcl-site/mod_dtcl/documentation.html
  
  Index: documentation.html
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/documentation.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- documentation.html	2000/12/24 16:34:25	1.2
  +++ documentation.html	2001/02/08 13:16:05	1.3
  @@ -1,292 +1,341 @@
   <!-- $Id -->
  -    <h2>mod_dtcl Documentation</h2>
  -    
  -    <h3>1) Installation</h3>
  -    <ol>
  -      <li><b>Check dependencies</b><br>
  -	
  -	To install mod_dtcl, you will need <b>Tcl 8.2</b> or greater
  -	and <b>Apache 1.3.xx</b>.  It is known to run on Linux,
  -	FreeBSD, OpenBSD, and Solaris and HPUX.  NT is also possible -
  -	please see the directions in the distribution.
  -      </li>
  -
  -      <li><b>Get mod_dtcl</b><br>
  -
  -	If you are running a Debian or FreeBSD system, there
  -	are pre-built packages available at:
  -	<a href="http://www.debian.org/Packages/unstable/web/libapache-mod-dtcl.html">http://www.debian.org/Packages/unstable/web/libapache-mod-dtcl.html</a> 
  -
  -	or
  +      <h2>mod_dtcl Documentation</h2>
  +      
  +      <h3>1) Installation</h3>
  +      <ol>
  +	<li><b>Check dependencies</b><br>
  +	  
  +	  To install mod_dtcl, you will need <b>Tcl 8.2</b> or greater
  +	  and <b>Apache 1.3.xx</b>.  It is known to run on Linux,
  +	  FreeBSD, OpenBSD, and Solaris and HPUX.  NT is also possible -
  +	  please see the directions in the distribution.
  +	</li>
  +
  +	<li><b>Get mod_dtcl</b><br>
  +
  +	  If you are running a Debian or FreeBSD system, there
  +	  are pre-built packages available at:
  +	  <a href="http://www.debian.org/Packages/unstable/web/libapache-mod-dtcl.html">http://www.debian.org/Packages/unstable/web/libapache-mod-dtcl.html</a> 
  +
  +	  or
  +	  
  +	  <a
  +	     href="http://www.freebsd.org/ports/www.html#mod_dtcl-83.161.120.155">http://www.freebsd.org/ports/www.html#mod_dtcl-83.161.120.155</a>.<br>
  +	  Otherwise, download the sources at <a href="download/">http://tcl.apache.org/mod_dtcl/download/</a>.
  +	  <br>
  +	</li>
  +	<li><b>Uncompress the sources</b><br>
  +	  <code>
  +	    gunzip apache-1.3.X.tar.gz<br>
  +	    tar -xvf apache-1.3.X.tar.gz<br>
  +	  </code>
  +	  You don't need the Apache sources if you are building a shared
  +	  object module.  You do, however, need the header files.
  +	  Some systems, such as Debian GNU/Linux, provide these
  +	  independently - otherwise, you probably still need the sources.<br>
  +	  <code>
  +	    gunzip mod_dtcl-X.X.X.tar.gz<br>
  +	    tar -xvf mod_dtcl-X.X.X.tar.gz<br>
  +	  </code>
  +	</li>
  +
  +	<li><b>Configuring, builddtcl.sh, etc...</b><br> 
  +
  +	  Do you want to build mod_dtcl as a shared object (such as a
  +	  .so file on Linux, or a .dll on windows), or compile it
  +	  directly as a part of the Apache executable?  The Apache
  +	  Software Foundation has put together a nice <a
  +	  href="http://httpd.apache.org/docs/dso.html">manual</a>
  +	  which explains things in detail.
  +
  +	  <ul>
  +	    <li><b>For shared objects</b><br>
  +	      
  +	      <code>cd ../mod_dtcl/<br></code>
  +	      Edit the <code>builddtcl.sh</code> script.  The 3
  +	      variables you may need to change are: 
  +	      <ul>
  +		<li><code>TCLSH</code><br>
  +		  Name of the tclsh program on your computer.
  +		</li>
  +		<li><code>APACHE</code><br>
  +		  Location of the Apache sources (for static builds only).
  +		</li>
  +		<li><code>INC</code><br>
  +		  Location of the Apache headers (you will need this even
  +		  for building shared objects).
  +		</li>
  +	      </ul>
  +
  +	      <code>
  +		./builddtcl.sh shared
  +	      </code><br>
  +
  +	      <code>
  +		cp mod_dtcl.so
  +		/usr/lib/apache/wherever/the/other/shared/objects/reside
  +		</code> For shared object builds, you need to copy the
  +		object into the directory where the other shared
  +		objects are kept for your Apache build.  On Debian
  +		GNU/Linux systems, for instance, this is in
  +		<code>/usr/lib/apache/1.3/</code>.
  +
  +	    </li>
  +	    
  +	    <li><b>For static builds</b><br>
  +	      <code>
  +		cd apache-1.3.X/<br>
  +		./configure<br>
  +	      </code>
  +
  +	      <code>cd ../mod_dtcl/<br></code>
  +	      Edit the <code>builddtcl.sh</code> script.  The 3
  +	      variables you may need to change are: 
  +	      <ul>
  +		<li><code>TCLSH</code><br>
  +		  Name of the tclsh program on your computer.
  +		</li>
  +		<li><code>APACHE</code><br>
  +		  Location of the Apache sources (for static builds only).
  +		</li>
  +		<li><code>INC</code><br>
  +		  Location of the Apache headers (you will need this even
  +		  for building shared objects).
  +		</li>
  +	      </ul>
  +
  +	      <code>
  +		./builddtcl.sh static
  +	      </code><br>
  +
  +	      <code>
  +		./builddtcl.sh install
  +	      </code><br>
  +
  +	      <code>cd ../apache-1.3.X<br></code>
  +	      <code>./configure
  +		--activate-module=src/modules/mod_dtcl/mod_dtcl.a [ other configure
  +		options ]<br></code>
  +	      <code>export EXTRA_LIBS="-ltcl8.X -lm"</code><br>
  +	      <code>make -e<br></code>
  +	      <code>make install<br></code>
  +	      
  +	    </li>
  +	  </ul>
  +	</li>
  +	<li><b>Configure Apache<br></b>		
  +	  <ul>
  +	    <li>
  +	      <b>http.conf</b><br> <code>LoadModule dtcl_module
  +		/usr/lib/apache/1.3/mod_dtcl.so</code><br> 
  +	      This points Apache to the shared object if
  +	      mod_dtcl is being used as a loadable module.
  +	    </li>
  +	    <li>
  +	      <b>srm.conf</b><br> 
  +	      <code>AddType application/x-httpd-tcl .ttml</code><br>
  +	      <code>AddType application/x-dtcl-tcl .tcl</code>
  +	      (optional)<br>
  +	      These add the .ttml and .tcl (if desired) types to
  +	      Apache, so that they are processed by mod_dtcl.
  +	    </li>
  +	  </ul>
  +	</li>
  +
  +      </ol>
  +
  +
  +      <h3>2) Apache Directives</h3>
  +
  +      <ul>
  +	<li>
  +	  <code><b>Dtcl_Script GlobalInitScript <i>"script"</i></code></b><br>
  +	  Tcl script that is run when each interpreter is
  +	  initialized.  <code>"script"</code> is actual Tcl
  +	  script, so to run a file, you would do
  +	  <code>Dtcl_Script GlobalInitScript "source /var/www/foobar.tcl"</code>.
  +	</li>
  +
  +	<li>
  +	  <code><b>Dtcl_Script ChildInitScript <i>"script"</i></b></code><br>		
  +	  Script to be evaluated when each apache child is
  +	  initialized. This is the best place to load modules.
  +	</li>
  +
  +	<li>
  +	  <code><b>Dtcl_Script ChildExitScript <i>"script"</i></b></code><br>	      
  +	  Script to be evaluated when each apache child exits.
  +	</li>
  +
  +	<li>
  +	  <code><b>Dtcl_Script BeforeScript <i>"script"</i></b></code><br>		
  +	  Script to be evaluated before each .ttml page.
  +	  <strong>Note</strong> that you cannot use
  +	  <code>hputs</code> in the BeforeScript, but must
  +	  instead use <code>buffer_add</code>.
  +	</li>
  +
  +	<li>
  +	  <code><b>Dtcl_Script AfterScript <i>"script"</i></b></code><br>	      
  +	  Script to be called after each .ttml page.
  +	</li>
   	
  -	<a
  -	href="http://www.freebsd.org/ports/www.html#mod_dtcl-83.161.120.155">http://www.freebsd.org/ports/www.html#mod_dtcl-83.161.120.155</a>.<br>
  -	Otherwise, download the sources at <a href="download/">http://tcl.apache.org/mod_dtcl/download/</a>.
  -      <br>
  -      </li>
  -      <li><b>Uncompress the sources</b><br>
  -	<code>
  -	  gunzip apache-1.3.X.tar.gz<br>
  -	  tar -xvf apache-1.3.X.tar.gz<br>
  -	</code>
  -	You don't need the Apache sources if you are building a shared
  -	object module.
  -	<code>
  -	  gunzip mod_dtcl-X.X.X.tar.gz<br>
  -	  tar -xvf mod_dtcl-X.X.X.tar.gz<br>
  -	</code>
  -      </li>
  -
  -      <li><b>Configure, Edit builddtcl.sh and Make</b><br> 
  -	<code>
  -	  cd apache-1.3.X/<br>
  -	  ./configure<br>
  -	</code><br>
  -
  -	<code>cd ../mod_dtcl/<br></code>
  -	Now edit the <code>builddtcl.sh</code> script.  The 3
  -	variables you may need to change are: 
  -	<ul>
  -	  <li><code>TCLSH</code><br>
  -	    Name of the tclsh program on your computer.
  -	  </li>
  -	  <li><code>APACHE</code><br>
  -	    Location of the Apache sources (for static builds only).
  -	  </li>
  -	  <li><code>INC</code><br>
  -	    Location of the Apache headers (you will need this even
  -	    for building shared objects).
  -	  </li>
  -	</ul>
  -
  -	<code>
  -	  ./builddtcl.sh static
  -	</code> (<code>shared</code> in place of <code>static</code>
  -	if you are building a shared object module<br>
  -
  -	<code>
  -	  ./builddtcl.sh install
  -	</code> (Not necessary if it is a shared object build)<br>
  -
  -	<code>cd ../apache-1.3.X<br></code>
  -	<code>./configure
  -	--activate-module=src/modules/mod_dtcl/mod_dtcl.a [ other configure
  -	options ]<br></code>
  -	<code>export EXTRA_LIBS="-ltcl8.X -lm"</code><br>
  -	<code>make -e<br></code>
  -	<code>make install<br></code>
  -      </li>
  -      <li><b>Configure Apache<br></b>		
  -	<ul>
  -	  <li>
  -	    <b>http.conf</b><br> <code>LoadModule dtcl_module
  -	      /usr/lib/apache/1.3/mod_dtcl.so</code><br> 
  -	    This points Apache to the shared object if
  -	    mod_dtcl is being used as a loadable module.
  -	  </li>
  -	  <li>
  -	    <b>srm.conf</b><br> 
  -	    <code>AddType application/x-httpd-tcl .ttml</code><br>
  -	    <code>AddType application/x-dtcl-tcl .tcl</code>
  -	    (optional)<br>
  -	    These add the .ttml and .tcl (if desired) types to
  -	    Apache, so that they are processed by mod_dtcl.
  -	  </li>
  -	</ul>
  -      </li>
  -
  -    </ol>
  -
  -
  -    <h3>2) Apache Directives</h3>
  -
  -    <ul>
  -      <li>
  -	<code><b>Dtcl_Script GlobalInitScript <i>"script"</i></code></b><br>
  -	Tcl script that is run when each interpreter is
  -	initialized.  <code>"script"</code> is actual Tcl
  -	script, so to run a file, you would do
  -	<code>Dtcl_Script GlobalInitScript "source /var/www/foobar.tcl"</code>.
  -      </li>
  -
  -      <li>
  -	<code><b>Dtcl_Script ChildInitScript <i>"script"</i></b></code><br>		
  -	Script to be evaluated when each apache child is
  -	initialized. This is the best place to load modules.
  -      </li>
  -
  -      <li>
  -	<code><b>Dtcl_Script ChildExitScript <i>"script"</i></b></code><br>	      
  -	Script to be evaluated when each apache child exits.
  -      </li>
  -
  -      <li>
  -	<code><b>Dtcl_Script BeforeScript <i>"script"</i></b></code><br>		
  -	Script to be evaluated before each .ttml page.
  -	<strong>Note</strong> that you cannot use
  -	<code>hputs</code> in the BeforeScript, but must
  -	instead use <code>buffer_add</code>.
  -      </li>
  -
  -      <li>
  -	<code><b>Dtcl_Script AfterScript <i>"script"</i></b></code><br>	      
  -	Script to be called after each .ttml page.
  -      </li>
  +	<li>
  +	  <code><b>Dtcl_CacheSize <i>cachesize</i></b></code><br> 
  +	  Number of ttml scripts to cache as Tcl Objects.
  +	  Default is MaxRequestsPerChild / 2, or 50, if
  +	  MaxRequestsPerChild is 0.
  +	</li>
  +
  +      </ul>
  +
  +      <h3>3) mod_dtcl specific Tcl commands</h3>
  +
  +      <ul>
  +	<li>
  +	  <code><b>buffer_add <i>string</i></b></code><br>	      
  +	  Add text to output_buffer for later printing. Used
  +	  internally.
  +	</li>
  +
  +	<li>
  +	  <code><b>hputs <i>?-error? text</i></b></code><br>	      
  +	  The mod_dtcl version of "puts".  Outputs to the
  +	  client, instead of to stdout.
  +	  The error option permits you to send an 'error message' to the
  +	  apache log file, at the NOTICE level.
  +	</li>
  +	<li>
  +	  <code><b>hgetvars</b></code><br>
  +	  Get environmental, CGI and Cookie variables. This is
  +	  in a seperate command so as not to make the server do
  +	  this every time you load a .ttml file. ENVS, VARS, and
  +	  COOKIES are the associative arrays created.  ENVS
  +	  contains environmental variables, VARS contains all
  +	  the 'cgi' variables, and COOKIES, any cookies recieved
  +	  from the client. 
  +	</li>
  +	<li>
  +	  <code><b>include <i>filename</i></b></code><br>	      
  +	  Include a file without parsing it.  This is the best
  +	  way to include an HTML file or any other static content.
  +	</li>
  +	<li>
  +	  <code><b>parse <i>filename</i></b></code><br>	      
  +	  "Source" a .ttml file.  This is the way to include
  +	  other .ttml files.
  +	</li>
  +	<li>
  +	  <code><b>hflush</b></code><br>	      
  +	  Flush the output buffers to the client.  Use this if
  +	  you want to incrementally update a page.
  +	</li>
  +	<li>
  +	  <code><b>headers redirect <i>uri</i></b></code><br>	      
  +
  +	  Redirect from the current page to a new
  +	  URI. <b>Must</b> be done in the first block of TCL code.
  +	</li>
  +	<li>
  +	  <code><b>headers setcookie <i>cookie-name
  +		cookie-value ?-expires date/time? ?-domain domain?
  +		?-path path? ?-secure?</i></b></code><br>
  +
  +	  This command is for setting cookies.  Cookie-name is
  +	  the name of the cookie, cookie-value is the data
  +	  associated with the variable.  Expires sets an
  +	  expiration date for the cookie, and must be in the
  +	  format 'DD-Mon-YY HH:MM:SS', path sets the path for
  +	  which the cookie is valid, and secure specifies that
  +	  the cookie is only to be transmitted if the connection
  +	  is secure (HTTPS).
  +	</li>
  +	<li>
  +	  <code><b>headers type
  +	      <i>content-type</i></b></code><br>
  +
  +	  This command sets the "Content-type:" header returned
  +	  by the script, which is useful if you wish to create a
  +	  PNG (image), for example, with mod_dtcl.
  +	</li>
  +	<li>
  +	  <code><b>headers set <i>headername value</i></b></code><br>
  +
  +	  Set arbitrary header names and values.
  +	</li>
  +
  +	<li>
  +	  <code><b>dtcl_info</b></code><br>	      
  +
  +	  Prints information on the internals of the module in
  +	  HTML.  Currently, only the PID and size of the object
  +	  cache are reported.
  +	</li>
  +      </ul>
  +
  +      <h3>4) Internals</h3>
  +      <ul>
  +	<li><b>Read the code!</b></li>
  +	<li>		
  +	  <b>Initialization</b><br>
  +
  +	  When Apache is started, (or when child Apache
  +	  processes are started if a threaded Tcl is used),
  +	  <code>tcl_init_stuff</code> is called, which creates
  +	  a new interpreter, and initializes various things,
  +	  like the <code>apache_channel</code> channel system.
  +	  The caching system is also set up, and if there is a
  +	  GlobalScript, it is run.
  +	</li>
  +	<li><b>Achan/apache_channel</b><br>
  +
  +	  The "Apache Channel" system was created so that it is
  +	  possible to have an actual Tcl channel that we could
  +	  redirect standard output to.  This lets us use, for
  +	  instance, the regular "puts" command in .ttml pages.
  +	  It works by creating commands that write to memory
  +	  that is slated to be sent to the client.
  +	</li>
  +
  +	<li><b>Page parsing/execution</b><br>
  +
  +	  In <code>send_parsed_file</code> Each .ttml file is
  +	  loaded and run within its own namespace.  No new
  +	  interpreter is created for each page.  This lets you
  +	  share variables, and most importantly, loaded modules,
  +	  from a common parent (such as one of the InitScripts).
  +	  When a file is loaded, it is transformed into a Tcl
  +	  script by putting everything outside of &lt;+ and
  +	  +&gt; into large hputs statements.  When the script is
  +	  complete, it is then inserted into the cache, for
  +	  future use.  In fact, if the file modification
  +	  information doesn't change, mod_dtcl will execute the
  +	  cached version of the script the next time it is
  +	  encountered.
  +	</li>
  +	<li><b>Binary data</b><br>
  +	  mod_dtcl is capable of outputing binary data, such as
  +	  images, or loading binary data with 'include'.
  +	</li>
  +      </ul>
         
  -      <li>
  -	<code><b>Dtcl_CacheSize <i>cachesize</i></b></code><br> 
  -	Number of ttml scripts to cache as Tcl Objects.
  -	Default is MaxRequestsPerChild / 2, or 50, if
  -	MaxRequestsPerChild is 0.
  -      </li>
  -
  -    </ul>
  -
  -    <h3>3) mod_dtcl specific Tcl commands</h3>
  -
  -    <ul>
  -      <li>
  -	<code><b>buffer_add <i>string</i></b></code><br>	      
  -	Add text to output_buffer for later printing. Used
  -	internally.
  -      </li>
  -
  -      <li>
  -	<code><b>hputs <i>?-error? text</i></b></code><br>	      
  -	The mod_dtcl version of "puts".  Outputs to the
  -	client, instead of to stdout.
  -	The error option permits you to send an 'error message' to the
  -	apache log file, at the NOTICE level.
  -      </li>
  -      <li>
  -	<code><b>hgetvars</b></code><br>
  -	Get environmental, CGI and Cookie variables. This is
  -	in a seperate command so as not to make the server do
  -	this every time you load a .ttml file. ENVS, VARS, and
  -	COOKIES are the associative arrays created.  ENVS
  -	contains environmental variables, VARS contains all
  -	the 'cgi' variables, and COOKIES, any cookies recieved
  -	from the client. 
  -      </li>
  -      <li>
  -	<code><b>include <i>filename</i></b></code><br>	      
  -	Include a file without parsing it.  This is the best
  -	way to include an HTML file or any other static content.
  -      </li>
  -      <li>
  -	<code><b>parse <i>filename</i></b></code><br>	      
  -	"Source" a .ttml file.  This is the way to include
  -	other .ttml files.
  -      </li>
  -      <li>
  -	<code><b>hflush</b></code><br>	      
  -	Flush the output buffers to the client.  Use this if
  -	you want to incrementally update a page.
  -      </li>
  -      <li>
  -	<code><b>headers redirect <i>uri</i></b></code><br>	      
  -
  -	Redirect from the current page to a new
  -	URI. <b>Must</b> be done in the first block of TCL code.
  -      </li>
  -      <li>
  -	<code><b>headers setcookie <i>cookie-name
  -	      cookie-value ?-expires date/time? ?-domain domain?
  -	      ?-path path? ?-secure?</i></b></code><br>
  -
  -	This command is for setting cookies.  Cookie-name is
  -	the name of the cookie, cookie-value is the data
  -	associated with the variable.  Expires sets an
  -	expiration date for the cookie, and must be in the
  -	format 'DD-Mon-YY HH:MM:SS', path sets the path for
  -	which the cookie is valid, and secure specifies that
  -	the cookie is only to be transmitted if the connection
  -	is secure (HTTPS).
  -      </li>
  -      <li>
  -	<code><b>headers type
  -	    <i>content-type</i></b></code><br>
  -
  -	This command sets the "Content-type:" header returned
  -	by the script, which is useful if you wish to create a
  -	PNG (image), for example, with mod_dtcl.
  -      </li>
  -      <li>
  -	<code><b>headers set <i>headername value</i></b></code><br>
  -
  -	Set arbitrary header names and values.
  -      </li>
  -
  -      <li>
  -	<code><b>dtcl_info</b></code><br>	      
  -
  -	Prints information on the internals of the module in
  -	HTML.  Currently, only the PID and size of the object
  -	cache are reported.
  -      </li>
  -    </ul>
  -
  -    <h3>4) Internals</h3>
  -    <ul>
  -      <li><b>Read the code!</b></li>
  -      <li>		
  -	<b>Initialization</b><br>
  -
  -	When Apache is started, (or when child Apache
  -	processes are started if a threaded Tcl is used),
  -	<code>tcl_init_stuff</code> is called, which creates
  -	a new interpreter, and initializes various things,
  -	like the <code>apache_channel</code> channel system.
  -	The caching system is also set up, and if there is a
  -	GlobalScript, it is run.
  -      </li>
  -      <li><b>Achan/apache_channel</b><br>
  -
  -	The "Apache Channel" system was created so that it is
  -	possible to have an actual Tcl channel that we could
  -	redirect standard output to.  This lets us use, for
  -	instance, the regular "puts" command in .ttml pages.
  -	It works by creating commands that write to memory
  -	that is slated to be sent to the client.
  -      </li>
  -
  -      <li><b>Page parsing/execution</b><br>
  -
  -	In <code>send_parsed_file</code> Each .ttml file is
  -	loaded and run within its own namespace.  No new
  -	interpreter is created for each page.  This lets you
  -	share variables, and most importantly, loaded modules,
  -	from a common parent (such as one of the InitScripts).
  -	When a file is loaded, it is transformed into a Tcl
  -	script by putting everything outside of &lt;+ and
  -	+&gt; into large hputs statements.  When the script is
  -	complete, it is then inserted into the cache, for
  -	future use.  In fact, if the file modification
  -	information doesn't change, mod_dtcl will execute the
  -	cached version of the script the next time it is
  -	encountered.
  -      </li>
  -      <li><b>Binary data</b><br>
  -	mod_dtcl is capable of outputing binary data, such as
  -	images, or loading binary data with 'include'.
  -      </li>
  -    </ul>
  -    <h3>5) Getting Help</h3>
  -    <ul>
  -      <li><b>Mailing list</b><br>
  -	<p>
  -	  The mod_dtcl mailing list is the best place to go for help
  -	  when you have problems.
  -	</p>
  -	<p>
  -	  See the <a
  -		     href="http://tcl.apache.org/mod_dtcl/contact.ttml">Contact</a>
  -		     page for information on sending mail/subscribing.
  -	</p>
  -	<p>
  -	  Mailing list archives are also available at <a
  -	  href="http://archive.covalent.net">http://archive.covalent.net</a>,
  -	  at the bottom of the page.
  -	</p>
  -      </li>
  -    </ul>
  +      <h3>5) Getting Help</h3>
  +      <ul>
  +	<li><b>Mailing list</b><br>
  +	  <p>
  +	    The mod_dtcl mailing list is the best place to go for help
  +	    when you have problems.
  +	  </p>
  +	  <p>
  +	    See the <a
  +		       href="http://tcl.apache.org/mod_dtcl/contact.ttml">Contact<
  +	      /a>
  +	      page for information on sending mail/subscribing.
  +	  </p>
  +	  <p>
  +	    Mailing list archives are also available at <a
  +	    href="http://archive.covalent.net">http://archive.covalent.net</a>,
  +	    at the bottom of the page.
  +	  </p>
  +	</li>
  +      </ul>
  
  
  

From jflynn@example.net  Mon Feb 12 14:45:44 2001
Return-Path: <jflynn@example.net>
Mailing-List: contact jflynn@example.net; run by ezmlm
Delivered-To: mailing list jflynn@example.net
Received: (qmail 93958 invoked by uid 500); 12 Feb 2001 14:45:44 -0000
Delivered-To: jflynn@example.net
Received: (qmail 93784 invoked by uid 1048); 12 Feb 2001 14:45:41 -0000
Date: 12 Feb 2001 14:45:41 -0000
Message-ID: <jflynn@example.net>
From: jflynn@example.net
To: jflynn@example.net
Subject: cvs commit: tcl-site/mod_dtcl contributing.ttml credits.ttml download.ttml

davidw      01/02/12 06:45:40

  Modified:    mod_dtcl contributing.ttml credits.ttml download.ttml
  Log:
  Added contributor, fixed CVS reference, updated TODO list.
  
  Revision  Changes    Path
  1.3       +6 -7      tcl-site/mod_dtcl/contributing.ttml
  
  Index: contributing.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/contributing.ttml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- contributing.ttml	2000/12/18 14:04:19	1.2
  +++ contributing.ttml	2001/02/12 14:45:33	1.3
  @@ -31,16 +31,15 @@
   
   	      <li>Someone to make RPMs as new versions come out.</li>
   
  -	      <li>Script timeouts: set limits on the length of time a script will run
  -  before it returns or dies.</li>
  +	      <li>Standalone dtcl, so that it may be run from the
  +	      command line, for testing, or as a CGI.</li>
   
  -	      <li>More commands available for scripters (see PHP for examples).</li>
  -
  +	      <li>Script timeouts: set limits on the length of time a
  +  script will run before it returns or dies.</li>
   
  -	      <li>File uploads.  This is tricky, but necessary.</li>
  -
  -	      <li>Possible configuration options: possible safe mode.</li>
  +	      <li>More commands available for scripters (see PHP for examples).</li>
   
  +	      <li>Possible configuration options: safe mode.</li>
   
   	      <li>Further internationalization (multibyte languages such as Japanese).</li>
   
  
  
  
  1.4       +4 -2      tcl-site/mod_dtcl/credits.ttml
  
  Index: credits.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/credits.ttml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- credits.ttml	2001/02/08 13:16:05	1.3
  +++ credits.ttml	2001/02/12 14:45:34	1.4
  @@ -27,8 +27,10 @@
   	      <li>Paolo Brutti</li>
   	      <li>Craig Huckabee</li>
   	      <li>Jorgen Frojk Kjaersgaard</li>
  -	      <li><a href=mailto:jflynn@example.net>Wojtek Kocjan</a></li>
  -	      <li>Pierre-Mikael Legris</li>
  +	      <li><a href=mailto:jflynn@example.net>Wojtek
  +	      Kocjan</a></li>
  +	      <li>Charles Lecoufle</li>
  +	      <li><a href="http://www.perki.org">Pierre-Mikael Legris</a></li>
   	      <li>Rasmus Lerdorf</li>
   	      <li><a href=mailto:jflynn@example.net>Claus Bo Nielsen</a></li>
   	      <li>Jan Nijtmans</li>
  
  
  
  1.4       +1 -1      tcl-site/mod_dtcl/download.ttml
  
  Index: download.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/download.ttml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- download.ttml	2000/12/21 14:57:35	1.3
  +++ download.ttml	2001/02/12 14:45:35	1.4
  @@ -54,7 +54,7 @@
   	      login</code> (password anoncvs)<br>
   	      <code>cvs
   		-d:pserver:jflynn@example.net:/home/cvspublic
  -		checkout tcl-mod_dtcl</code><br>
  +		checkout tcl-moddtcl</code><br>
   	    </p>
   
   	    <p align="center">
  
  
  

From jflynn@example.net  Mon Feb 12 21:06:32 2001
Return-Path: <jflynn@example.net>
Mailing-List: contact jflynn@example.net; run by ezmlm
Delivered-To: mailing list jflynn@example.net
Received: (qmail 7916 invoked by uid 500); 12 Feb 2001 21:06:32 -0000
Delivered-To: jflynn@example.net
Received: (qmail 7256 invoked by uid 1048); 12 Feb 2001 21:05:53 -0000
Date: 12 Feb 2001 21:05:53 -0000
Message-ID: <jflynn@example.net>
From: jflynn@example.net
To: jflynn@example.net
Subject: cvs commit: tcl-site/mod_dtcl download.ttml

davidw      01/02/12 13:05:52

  Modified:    .        news.ttml
               mod_dtcl download.ttml
  Added:       .        apache-tcl-press-release.txt
  Log:
  Added press release.
  
  Revision  Changes    Path
  1.4       +5 -0      tcl-site/news.ttml
  
  Index: news.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/news.ttml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- news.ttml	2000/12/21 14:57:33	1.3
  +++ news.ttml	2001/02/12 21:05:46	1.4
  @@ -20,6 +20,11 @@
   	  <td valign="top"> 
   	    <h2>News and Status</h2>
   
  +	    <p><b>12 February, 2001</b> <a
  +	    href="apache-tcl-press-release.txt">Press release</a>
  +	    discussing Apache Tcl sent out.
  +	    </p>
  +
   	    <p>
   	      <b>21 December, 2000</b> tcl.apache.org was unavailable
   	      for a few days due to problems with Covalent's ISP.
  
  
  
  1.1                  tcl-site/apache-tcl-press-release.txt
  
  Index: apache-tcl-press-release.txt
  ===================================================================
  Contact:  David Welton
            Apache Software Foundation
            430.744.8029
            jflynn@example.net
  
                APACHE SOFTWARE FOUNDATION LAUNCHES APACHE TCL PROJECT
  
  February 12, 2001
  
  The Apache Software Foundation today announced the launch of the
  Apache Tcl project, with the goal of promoting the integration of the
  Apache web server with the Tcl scripting language.
  
  Tcl (tool command language, pronounced "tickle") is an open-source,
  cross-platform scripting language Tcl has a strong history of use for
  the web, with products such as AOLserver, and the widely used
  StoryServer. Combined with Apache, the world's most popular web
  server, Tcl will make an excellent companion for back-end scripting
  tasks.
  
  "Tcl is a great language for the web - it's small, light, easy to
  learn, and has been used, developed and tested for a number of years"
  said David Welton, vice president of Apache Tcl and author of
  mod_dtcl. "It also has a large user base, and is a very active open
  source project in its own right."
  
  tcl.apache.org will serve as a point of reference for Apache-Tcl
  efforts, initially hosting the mod_dtcl project, a fast and light
  implementation of Tcl for Apache. The project was initially modeled
  after PHP, a server-side, cross-platform, HTML embedded scripting
  language.
  
  About Tcl
  
  Tcl, was created by John K. Ousterhout at the University of California
  at Berkeley in 1988. Originally conceived as a reusable, embeddable
  language core for tools being developed by Dr. Ousterhout and his
  colleagues, it has come to be much more. Tcl is used today in a wide
  variety of applications including web scripting, test automation,
  network/system management, EDA and CAD, and in many other fields.
  
  For more information about Tcl, see http://dev.scriptics.com.
  
  About the Apache Software Foundation
  
  Founded in June 1999, the Apache Software Foundation provides
  organizational, legal, and financial support for the Apache
  open-source software projects.  Formerly known as the Apache Group,
  the Foundation incorporated as a membership-based, not-for-profit
  corporation to ensure that the Apache projects continue to exist
  beyond the participation of individual volunteers, to enable
  contributions of intellectual property and financial support, and to
  provide a vehicle for limiting legal exposure while participating in
  open-source projects.
  
  For more information on the Apache Software Foundation, please see
  http://www.apache.org/.
  
  ###
  
  
  1.5       +1 -7      tcl-site/mod_dtcl/download.ttml
  
  Index: download.ttml
  ===================================================================
  RCS file: /home/cvs/tcl-site/mod_dtcl/download.ttml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- download.ttml	2001/02/12 14:45:35	1.4
  +++ download.ttml	2001/02/12 21:05:50	1.5
  @@ -33,13 +33,7 @@
   
   	    </ul>
   	    <p>
  -	      <a href="download/">mod_dtcl source code</a> 
  -<+
  -set fl [ lindex [ glob download/mod_dtcl*tar.gz] end ]
  -set sz [ expr { [ file size $fl ] / 1024 } ]
  -hputs "( $sz KB )"
  -+>
  -
  +	      <a href="download/">mod_dtcl source code</a>
   	    </p>
   
   	    <p><b>Get mod_dtcl from Anonymous CVS:</b></p>
  
  
  


{'source': 'Apache Software Foundation Public Mail Archives'}