You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by da...@apache.org on 2004/02/06 18:07:30 UTC

cvs commit: tcl-rivet/doc/html session_package.en.html help.en.html index.en.html internals.en.html tcl_packages.en.html upgrading.en.html

davidw      2004/02/06 09:07:29

  Modified:    .        ChangeLog
               doc      rivet.xml
               doc/html help.en.html index.en.html internals.en.html
                        tcl_packages.en.html upgrading.en.html
  Added:       doc/html session_package.en.html
  Log:
  * doc/rivet.xml: Add section for session package.
  
  Revision  Changes    Path
  1.162     +2 -0      tcl-rivet/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/ChangeLog,v
  retrieving revision 1.161
  retrieving revision 1.162
  diff -u -r1.161 -r1.162
  --- ChangeLog	6 Feb 2004 16:59:54 -0000	1.161
  +++ ChangeLog	6 Feb 2004 17:07:29 -0000	1.162
  @@ -1,5 +1,7 @@
   2004-02-06  David N. Welton  <da...@dedasys.com>
   
  +	* doc/rivet.xml: Add section for session package.
  +
   	* doc/rivet.xml: Added SESSION documentation.
   
   	* rivet/packages/session/README.txt: Removed text, indicate
  
  
  
  1.39      +3 -3      tcl-rivet/doc/rivet.xml
  
  Index: rivet.xml
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/rivet.xml,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- rivet.xml	6 Feb 2004 16:59:54 -0000	1.38
  +++ rivet.xml	6 Feb 2004 17:07:29 -0000	1.39
  @@ -1456,7 +1456,7 @@
       </itemizedlist>
     </section>
   
  -  <section>
  +  <section id="session_package">
       <title>Session Package</title>
       <section>
         <title>Introduction</title>
  
  
  
  1.4       +6 -6      tcl-rivet/doc/html/help.en.html
  
  Index: help.en.html
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/html/help.en.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- help.en.html	6 Feb 2004 16:59:54 -0000	1.3
  +++ help.en.html	6 Feb 2004 17:07:29 -0000	1.4
  @@ -1,4 +1,4 @@
  -<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Resources - How to Get Help</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="ar01s07.en.html" title="Session Package"><link rel="next" href="internals.en.html" title="Rivet Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Resources - How to Get Help</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s07.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="internals.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="help"></a>Resources - How to Get Help</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="help.en.html#id4693716">Mailing Lists</a></span></dt><dt><span class="section"><a href="help.en.html#id4693755">Newsgroup</a></span></dt><dt><span class="section"><a href="help.en.html#websites">Web Sites</a></span></dt><dt><span class="section"><a href="help.en.html#id4693838">Bug Tracking System</a></span></dt><dt><span class="section"><a href="help.en.html#id4693855">IRC</a></span></dt><dt><span class="section"><a href="help.en.html#id4693866">Editing Rivet Template Files</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693716"></a>Mailing Lists</h3></div></div><div></div></div><p style="width:90%">
  +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Resources - How to Get Help</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="session_package.en.html" title="Session Package"><link rel="next" href="internals.en.html" title="Rivet Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Resources - How to Get Help</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="session_package.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="internals.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="help"></a>Resources - How to Get Help</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="help.en.html#id4693719">Mailing Lists</a></span></dt><dt><span class="section"><a href="help.en.html#id4693758">Newsgroup</a></span></dt><dt><span class="section"><a href="help.en.html#websites">Web Sites</a></span></dt><dt><span class="section"><a href="help.en.html#id4693841">Bug Tracking System</a></span></dt><dt><span class="section"><a href="help.en.html#id4693857">IRC</a></span></dt><dt><span class="section"><a href="help.en.html#id4693869">Editing Rivet Template Files</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693719"></a>Mailing Lists</h3></div></div><div></div></div><p style="width:90%">
   	The Rivet mailing list is the first place you should turn for
   	help, if you haven't found the solution to your problem in the
   	documentation.  Send email to
  @@ -9,7 +9,7 @@
   	<tt class="email">&lt;<a href="mailto:rivet-list-subscribe@tcl.apache.org">rivet-<i class="replaceable"><tt>list</tt></i>-subscribe@tcl.apache.org</a>&gt;</tt>.
         </p><p style="width:90%">
   	The mailing list archives are available at <a href="http://nagoya.apache.org/eyebrowse/SummarizeList?listId=118" target="_top">http://nagoya.apache.org/eyebrowse/SummarizeList?listId=118</a>
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693755"></a>Newsgroup</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693758"></a>Newsgroup</h3></div></div><div></div></div><p style="width:90%">
   	The <a href="news:comp.lang.tcl" target="_top">news:comp.lang.tcl</a> newsgroup is a good
   	place to ask about Tcl questions in general.  Rivet developers
   	also follow the newsgroup, but it's best to ask Rivet-specific
  @@ -31,14 +31,14 @@
   	  </div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">
   	    <a href="http://wiki.tcl.tk" target="_top">http://wiki.tcl.tk</a> is the Tcl'ers Wiki, a
   	    free-form place to search for answers and ask for help.
  -	  </div></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693838"></a>Bug Tracking System</h3></div></div><div></div></div><p style="width:90%">
  +	  </div></li></ul></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693841"></a>Bug Tracking System</h3></div></div><div></div></div><p style="width:90%">
   	Apache Rivet uses the Apache Bug Tracking system at <a href="http://nagoya.apache.org/bugzilla/" target="_top">http://nagoya.apache.org/bugzilla/</a>.  Here,
   	you can report problems, or check and see if existing issues
   	are already known and being dealt with.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693855"></a>IRC</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693857"></a>IRC</h3></div></div><div></div></div><p style="width:90%">
           Occasionally, someone from the Rivet team is on IRC at
           irc.freenode.net, channel #tcl.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693866"></a>Editing Rivet Template Files</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693869"></a>Editing Rivet Template Files</h3></div></div><div></div></div><p style="width:90%">
   	Rivet makes available code for two popular editors,
   	<span class="application">emacs</span> and
   	<span class="application">vim</span> to facilitate the editing of
  @@ -48,4 +48,4 @@
   	<tt class="filename">two-mode-mode.el</tt> and
   	<tt class="filename">rvt.vim</tt> are available in the
   	<tt class="filename">contrib/</tt> directory.
  -      </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s07.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�<a accesskey="n" href="internals.en.html"><img src="images/next.png" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Session Package�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�Rivet Internals</td></tr></table></div></body></html>
  +      </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="session_package.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�<a accesskey="n" href="internals.en.html"><img src="images/next.png" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Session Package�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�Rivet Internals</td></tr></table></div></body></html>
  
  
  
  1.6       +2 -2      tcl-rivet/doc/html/index.en.html
  
  Index: index.en.html
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/html/index.en.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- index.en.html	6 Feb 2004 16:59:54 -0000	1.5
  +++ index.en.html	6 Feb 2004 17:07:29 -0000	1.6
  @@ -1,6 +1,6 @@
   <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Apache Rivet</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="next" href="installation.en.html" title="Apache Rivet Installation"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Apache Rivet</th></tr><tr><td width="20%" align="left">�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="installation.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="id4629522"></a>Apache Rivet</h1></div><div><div class="author"><h3 class="author"><span class="firstname">The Rivet Team</span></h3><div class="affiliation"><span class="orgname">The Apache Software Foundation<br></span><div class="address"><p><br>
   	��<tt class="email">&lt;<a href="mailto:rivet-dev@tcl.apache.org">rivet-dev@tcl.apache.org</a>&gt;</tt><br>
  -	</p></div></div></div></div><div><p class="copyright">Copyright � 2002, 2003 Apache Software Foundation</p></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="index.en.html#id4689845">Introduction to Apache Rivet</a></span></dt><dt><span class="section"><a href="installation.en.html">Apache Rivet Installation</a></span></dt><dt><span class="section"><a href="directives.en.html">Rivet Apache Directives</a></span></dt><dt><span class="section"><a href="commands.en.html">Rivet Tcl Commands and Variables</a></span></dt><dt><span class="section"><a href="examples.en.html">Examples and Usage</a></span></dt><dt><span class="section"><a href="tcl_packages.en.html">Rivet Tcl Packages</a></span></dt><dt><span class="section"><a href="ar01s07.en.html">Session Package</a></span></dt><dd><dl><dt><span class="section"><a href="ar01s07.en.html#id4692550">Introduction</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4692587">Requirements</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4692600">Preparing To Use It</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4692639">Example Usage</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4692698">Using Sessions From Your Code</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4693022">Session Configuration Options</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4693505">Session Methods</a></span></dt><dt><span class="section"><a href="ar01s07.en.html#id4693686">Getting Additional Randomness From The Entropy File</a></span></dt></dl></dd><dt><span class="section"><a href="help.en.html">Resources - How to Get Help</a></span></dt><dd><dl><dt><span class="section"><a href="help.en.html#id4693716">Mailing Lists</a></span></dt><dt><span class="section"><a href="help.en.html#id4693755">Newsgroup</a></span></dt><dt><span class="section"><a href="help.en.html#websites">Web Sites</a></span></dt><dt><span class="section"><a href="help.en.html#id4693838">Bug Tracking System</a></span></dt><dt><span class="section"><a href="help.en.html#id4693855">IRC</a></span></dt><dt><span class="section"><a href="help.en.html#id4693866">Editing Rivet Template Files</a></span></dt></dl></dd><dt><span class="section"><a href="internals.en.html">Rivet Internals</a></span></dt><dd><dl><dt><span class="section"><a href="internals.en.html#id4693918">Initialization</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693948">RivetChan</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693972">The global Command</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694011">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694063">Debugging Rivet and Apache</a></span></dt></dl></dd><dt><span class="section"><a href="upgrading.en.html">Upgrading from mod_dtcl or NeoWebScript</a></span></dt><dd><dl><dt><span class="section"><a href="upgrading.en.html#id4694199">mod_dtcl</a></span></dt><dt><span class="section"><a href="upgrading.en.html#id4694212">NeoWebScript</a></span></dt></dl></dd></dl></div><p style="width:90%">
  +	</p></div></div></div></div><div><p class="copyright">Copyright � 2002, 2003 Apache Software Foundation</p></div></div><div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="index.en.html#id4689845">Introduction to Apache Rivet</a></span></dt><dt><span class="section"><a href="installation.en.html">Apache Rivet Installation</a></span></dt><dt><span class="section"><a href="directives.en.html">Rivet Apache Directives</a></span></dt><dt><span class="section"><a href="commands.en.html">Rivet Tcl Commands and Variables</a></span></dt><dt><span class="section"><a href="examples.en.html">Examples and Usage</a></span></dt><dt><span class="section"><a href="tcl_packages.en.html">Rivet Tcl Packages</a></span></dt><dt><span class="section"><a href="session_package.en.html">Session Package</a></span></dt><dd><dl><dt><span class="section"><a href="session_package.en.html#id4692551">Introduction</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692588">Requirements</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692601">Preparing To Use It</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692641">Example Usage</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692699">Using Sessions From Your Code</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693024">Session Configuration Options</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693508">Session Methods</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693688">Getting Additional Randomness From The Entropy File</a></span></dt></dl></dd><dt><span class="section"><a href="help.en.html">Resources - How to Get Help</a></span></dt><dd><dl><dt><span class="section"><a href="help.en.html#id4693719">Mailing Lists</a></span></dt><dt><span class="section"><a href="help.en.html#id4693758">Newsgroup</a></span></dt><dt><span class="section"><a href="help.en.html#websites">Web Sites</a></span></dt><dt><span class="section"><a href="help.en.html#id4693841">Bug Tracking System</a></span></dt><dt><span class="section"><a href="help.en.html#id4693857">IRC</a></span></dt><dt><span class="section"><a href="help.en.html#id4693869">Editing Rivet Template Files</a></span></dt></dl></dd><dt><span class="section"><a href="internals.en.html">Rivet Internals</a></span></dt><dd><dl><dt><span class="section"><a href="internals.en.html#id4693920">Initialization</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693950">RivetChan</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693975">The global Command</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694014">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694066">Debugging Rivet and Apache</a></span></dt></dl></dd><dt><span class="section"><a href="upgrading.en.html">Upgrading from mod_dtcl or NeoWebScript</a></span></dt><dd><dl><dt><span class="section"><a href="upgrading.en.html#id4694202">mod_dtcl</a></span></dt><dt><span class="section"><a href="upgrading.en.html#id4694214">NeoWebScript</a></span></dt></dl></dd></dl></div><p style="width:90%">
       This document is also available in the following languages: <a href="index.it.html" target="_top">Italian</a>, <a href="index.ru.html" target="_top">Russian</a>
     </p><p style="width:90%">
       Document reversion: $Revision$, last modified $Date$ by $Author$.
  
  
  
  1.5       +6 -6      tcl-rivet/doc/html/internals.en.html
  
  Index: internals.en.html
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/html/internals.en.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- internals.en.html	6 Feb 2004 16:59:54 -0000	1.4
  +++ internals.en.html	6 Feb 2004 17:07:29 -0000	1.5
  @@ -1,10 +1,10 @@
  -<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Rivet Internals</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="help.en.html" title="Resources - How to Get Help"><link rel="next" href="upgrading.en.html" title="Upgrading from mod_dtcl or NeoWebScript"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Rivet Internals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="help.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="upgrading.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="internals"></a>Rivet Internals</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="internals.en.html#id4693918">Initialization</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693948">RivetChan</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693972">The global Command</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694011">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694063">Debugging Rivet and Apache</a></span></dt></dl></div><p style="width:90%">
  +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Rivet Internals</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="help.en.html" title="Resources - How to Get Help"><link rel="next" href="upgrading.en.html" title="Upgrading from mod_dtcl or NeoWebScript"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Rivet Internals</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="help.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="upgrading.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="internals"></a>Rivet Internals</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="internals.en.html#id4693920">Initialization</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693950">RivetChan</a></span></dt><dt><span class="section"><a href="internals.en.html#id4693975">The global Command</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694014">Page Parsing, Execution and Caching</a></span></dt><dt><span class="section"><a href="internals.en.html#id4694066">Debugging Rivet and Apache</a></span></dt></dl></div><p style="width:90%">
         This section easily falls out of date, as new code is added, old
         code is removed, and changes are made.  The best place to look
         is the source code itself.  If you are interested in the changes
         themselves, <span style="font-family:monospace"><span><b class="command">cvs</b></span></span> can provide you with
         information about what has been happening with the code.
  -    </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693918"></a>Initialization</h3></div></div><div></div></div><p style="width:90%">
  +    </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693920"></a>Initialization</h3></div></div><div></div></div><p style="width:90%">
   	When Apache is started, (or when child Apache processes are
   	started if a threaded Tcl is used),
   	<tt class="function">Rivet_InitTclStuff</tt> is called, which
  @@ -15,7 +15,7 @@
   	executes Rivet's <tt class="filename">init.tcl</tt>.  The caching
   	system is also set up, and if there is a
   	<span style="font-family:monospace"><span><b class="command">GlobalInitScript</b></span></span>, it is run.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693948"></a>RivetChan</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693950"></a>RivetChan</h3></div></div><div></div></div><p style="width:90%">
   	The <span class="structname">RivetChan</span> system was created in
   	order to have an actual Tcl channel that we could redirect
   	standard output to.  This lets us use, for instance, the
  @@ -25,7 +25,7 @@
   	Tcl's regular standard output is replaced with an instance of
   	this channel type, so that, by default, output will go to the
   	web page.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693972"></a>The <span style="font-family:monospace"><span><b class="command">global</b></span></span> Command</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693975"></a>The <span style="font-family:monospace"><span><b class="command">global</b></span></span> Command</h3></div></div><div></div></div><p style="width:90%">
   	Rivet aims to run standard Tcl code with as few surprises as
   	possible.  At times this involves some compromises - in this
   	case regarding the <span style="font-family:monospace"><span><b class="command">global</b></span></span> command.  The
  @@ -40,7 +40,7 @@
   	you really need a true global variable, use either
   	<span style="font-family:monospace"><span><b class="command">::global</b></span></span> or add the :: namespace qualifier
   	to variables you wish to make global.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694011"></a>Page Parsing, Execution and Caching</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694014"></a>Page Parsing, Execution and Caching</h3></div></div><div></div></div><p style="width:90%">
   	When a Rivet page is requested, it is transformed into an
   	ordinary Tcl script by parsing the file for the &lt;? ?&gt;
   	processing instruction tags.  Everything outside these tags
  @@ -66,7 +66,7 @@
   	without having to reload it (and re-parse it) from the disk.
   	The number of scripts stored in memory is configurable.  This
   	feature can significantly improve performance.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694063"></a>Debugging Rivet and Apache</h3></div></div><div></div></div><p style="width:90%">
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694066"></a>Debugging Rivet and Apache</h3></div></div><div></div></div><p style="width:90%">
   	If you are interested in hacking on Rivet, you're welcome to
   	contribute!  Invariably, when working with code, things go
   	wrong, and it's necessary to do some debugging.  In a server
  
  
  
  1.3       +2 -2      tcl-rivet/doc/html/tcl_packages.en.html
  
  Index: tcl_packages.en.html
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/html/tcl_packages.en.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- tcl_packages.en.html	6 Feb 2004 16:59:54 -0000	1.2
  +++ tcl_packages.en.html	6 Feb 2004 17:07:29 -0000	1.3
  @@ -1,7 +1,7 @@
  -<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Rivet Tcl Packages</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="examples.en.html" title="Examples and Usage"><link rel="next" href="ar01s07.en.html" title="Session Package"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Rivet Tcl Packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="examples.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="ar01s07.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="tcl_packages"></a>Rivet Tcl Packages</h2></div></div><div></div></div><p style="width:90%">
  +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Rivet Tcl Packages</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="examples.en.html" title="Examples and Usage"><link rel="next" href="session_package.en.html" title="Session Package"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Rivet Tcl Packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="examples.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="session_package.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="tcl_packages"></a>Rivet Tcl Packages</h2></div></div><div></div></div><p style="width:90%">
         In addition to the core Apache module, Rivet provides a number
         of Tcl packages that include potentially useful code.
       </p><div class="itemizedlist"><ul type="disc"><li><div style="margin-bottom:1.5ex ; padding .5ex">commserver is a package providing a server that can be
   	used for IPC.  Still experimental.  Requires the comm package
   	from tcllib.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">dio is a database abstraction layer.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">dtcl is a compatibility package for mod_dtcl
  -	applications.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">form - for creating forms.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">rivet - some additional, useful routines.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">tclrivet</div></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="examples.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�<a accesskey="n" href="ar01s07.en.html"><img src="images/next.png" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Examples and Usage�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�Session Package</td></tr></table></div></body></html>
  +	applications.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">form - for creating forms.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">rivet - some additional, useful routines.</div></li><li><div style="margin-bottom:1.5ex ; padding .5ex">tclrivet</div></li></ul></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="examples.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�<a accesskey="n" href="session_package.en.html"><img src="images/next.png" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Examples and Usage�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�Session Package</td></tr></table></div></body></html>
  
  
  
  1.5       +3 -3      tcl-rivet/doc/html/upgrading.en.html
  
  Index: upgrading.en.html
  ===================================================================
  RCS file: /home/cvs/tcl-rivet/doc/html/upgrading.en.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- upgrading.en.html	6 Feb 2004 16:59:54 -0000	1.4
  +++ upgrading.en.html	6 Feb 2004 17:07:29 -0000	1.5
  @@ -1,12 +1,12 @@
  -<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Upgrading from mod_dtcl or NeoWebScript</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="internals.en.html" title="Rivet Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Upgrading from mod_dtcl or NeoWebScript</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�</td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="upgrading"></a>Upgrading from mod_dtcl or NeoWebScript</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="upgrading.en.html#id4694199">mod_dtcl</a></span></dt><dt><span class="section"><a href="upgrading.en.html#id4694212">NeoWebScript</a></span></dt></dl></div><p style="width:90%">
  +<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Upgrading from mod_dtcl or NeoWebScript</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="internals.en.html" title="Rivet Internals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Upgrading from mod_dtcl or NeoWebScript</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="internals.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�</td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="upgrading"></a>Upgrading from mod_dtcl or NeoWebScript</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="upgrading.en.html#id4694202">mod_dtcl</a></span></dt><dt><span class="section"><a href="upgrading.en.html#id4694214">NeoWebScript</a></span></dt></dl></div><p style="width:90%">
         Rivet is a break from the past, in that we, the authors, have
         attempted to take what we like best about our past efforts, and
         leave out or change things we no longer care for.  Backwards
         compatibility was not a primary goal when creating Rivet, but we
         do provide this information which may be of use to those wishing
         to upgrade from mod_dtcl or NWS installations.
  -    </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694199"></a>mod_dtcl</h3></div></div><div></div></div><p style="width:90%">
  +    </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694202"></a>mod_dtcl</h3></div></div><div></div></div><p style="width:90%">
   	Rivet was originally based on the dtcl code, but it has
   	changed (improved!) quite a bit.  The concepts remain the
   	same, but many of the commands have changed.
  -      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694212"></a>NeoWebScript</h3></div></div><div></div></div><p style="width:90%">TODO</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�</td></tr><tr><td width="40%" align="left" valign="top">Rivet Internals�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�</td></tr></table></div></body></html>
  +      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4694214"></a>NeoWebScript</h3></div></div><div></div></div><p style="width:90%">TODO</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="internals.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�</td></tr><tr><td width="40%" align="left" valign="top">Rivet Internals�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�</td></tr></table></div></body></html>
  
  
  
  1.1                  tcl-rivet/doc/html/session_package.en.html
  
  Index: session_package.en.html
  ===================================================================
  <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Session Package</title><link rel="stylesheet" href="rivet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.64.1"><link rel="home" href="index.en.html" title="Apache Rivet"><link rel="up" href="index.en.html" title="Apache Rivet"><link rel="previous" href="tcl_packages.en.html" title="Rivet Tcl Packages"><link rel="next" href="help.en.html" title="Resources - How to Get Help"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Session Package</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="tcl_packages.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><th width="60%" align="center">�</th><td width="20%" align="right">�<a accesskey="n" href="help.en.html"><img src="images/next.png" alt="Next"></a></td></tr></table></div><div class="section" lang="en"><div class="titlepage"><div><div><hr><h2 class="title" style="clear: both"><a name="session_package"></a>Session Package</h2></div></div><div></div></div><div class="toc"><dl><dt><span class="section"><a href="session_package.en.html#id4692551">Introduction</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692588">Requirements</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692601">Preparing To Use It</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692641">Example Usage</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4692699">Using Sessions From Your Code</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693024">Session Configuration Options</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693508">Session Methods</a></span></dt><dt><span class="section"><a href="session_package.en.html#id4693688">Getting Additional Randomness From The Entropy File</a></span></dt></dl></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4692551"></a>Introduction</h3></div></div><div></div></div><p style="width:90%">
  	This is session management code.  It provides an interface
  	to allow you to generate and track a browser's visit as a
  	"session", giving you a unique session ID and an interface
  	for storing and retrieving data for that session on the
  	server.
        </p><p style="width:90%">
  	This is an alpha/beta release -- documentation is not in
  	final form, but everything you need should be in this file.
        </p><p style="width:90%">
  	Using sessions and their included ability to store and
  	retrieve session-related data on the server, programmers can
  	generate more secure and higher-performance websites.  For
  	example, hidden fields do not have to be included in forms
  	(and the risk of them being manipulated by the user
  	mitigated) since data that would be stored in hidden fields
  	can now be stored in the session cache on the server.  Forms
  	are then faster since no hidden data is transmitted --
  	hidden fields must be sent twice, once in the form to the
  	broswer and once in the response from it.
        </p><p style="width:90%">
  	Robust login systems, etc, can be built on top of this code.
        </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4692588"></a>Requirements</h3></div></div><div></div></div><p style="width:90%">
  	  Rivet.  Currently has only been tested with Postgresql.
  	  All DB interfacing is done through DIO, though, so it
  	  should be relatively easy to add support for other
  	  databases.
  	</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4692601"></a>Preparing To Use It</h3></div></div><div></div></div><p style="width:90%">Create the tables in your SQL server.  With Postgres,
  	  do a <span style="font-family:monospace"><span><b class="command">psql www</b></span></span> or whatever DB you
  	  connect as, then a backslash-i on
  	  <tt class="filename">session-create.sql</tt></p><p style="width:90%">(If you need to delete the tables, use <tt class="filename">session-drop.sql</tt>)</p><p style="width:90%">The session code by default requires a DIO handle
  	  called <tt class="varname">DIO</tt> (the name of which can be
  	  overridden).  We get it by doing a</p><pre style="background:#bbffbb ; width:90ex ; margin: 2ex ;      padding: 1ex; border: solid black 1px ; white-space: pre;      font-family:monospace ; " class="programlisting">
    RivetServerConf ChildInitScript "package require DIO"
    RivetServerConf ChildInitScript "::DIO::handle Postgresql DIO -user www"
  </pre></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4692641"></a>Example Usage</h3></div></div><div></div></div><p style="width:90%">In your httpd.conf, add:</p><pre style="background:#bbffbb ; width:90ex ; margin: 2ex ;      padding: 1ex; border: solid black 1px ; white-space: pre;      font-family:monospace ; " class="programlisting">RivetServerConf ChildInitScript "package require Session; Session SESSION"</pre><p style="width:90%">
  	  This tells Rivet you want to create a session object named
  	  SESSION in every child process Apache creates.</p><p style="width:90%">
  	  You can configure the session at this point using numerous
  	  key-value pairs (which are defined later in this doc).
  	  Here's a quick example:</p><pre style="background:#bbffbb ; width:90ex ; margin: 2ex ;      padding: 1ex; border: solid black 1px ; white-space: pre;      font-family:monospace ; " class="programlisting">RivetServerConf ChildInitScript "package require Session; Session SESSION \
    -cookieLifetime 120 -debugMode 1"</pre><p style="width:90%">
  	  Turn debugging on -debugMode 1 to figure
  	  out what's going on -- it's really useful, if
  	  verbose.</p><p style="width:90%">
  	  In your .rvt file, when you're generating the &lt;HEAD&gt;
  	  section:
  	</p><pre style="background:#bbffbb ; width:90ex ; margin: 2ex ;      padding: 1ex; border: solid black 1px ; white-space: pre;      font-family:monospace ; " class="programlisting">SESSION activate</pre><p style="width:90%">
  	  Activate handles everything for you with respect to
  	  creating new sessions, and for locating, validating, and
  	  updating existing sessions.  Activate will either locate
  	  an existing session, or create a new one.  Sessions will
  	  automatically be refreshed (their lifetimes extended) as
  	  additional requests are received during the session, all
  	  under the control of the key-value pairs controlling the
  	  session object.
  	</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4692699"></a>Using Sessions From Your Code</h3></div></div><div></div></div><p style="width:90%">The main methods your code will use are:</p><div class="variablelist"><dl><dt></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION</span> <span style="font-weight:bold ; font-family:monospace">id</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		After doing a <span style="font-family:monospace"><span><b class="command">SESSION activate</b></span></span>,
  		this will return a 32-byte ASCII-encoded random
  		hexadecimal string.  Every time this browser comes
  		to us with a request within the timeout period, this
  		same string will be returned (assuming they have
  		cookies enabled).
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION</span> <span style="font-weight:bold ; font-family:monospace">is_new_session</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">returns 1 if it's a new session or 0 if it has
  		previously existed (i.e. it's a zero if this request
  		represents a "return" or subsequent visit to a
  		current session.)</div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION new_session_reason</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		This will return why this request is the first
  		request of a new session, either "no_cookie" saying
  		the browser didn't give us a session cookie,
  		"no_session" indicating we got a cookie but couldn't
  		find it in our session table, or "timeout" where
  		they had a cookie and we found the matching session
  		but the session has timed out.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION store</span>  <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>packageName</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>key</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>data</tt></i></span></div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Given the name of a package, a key, and some data.
  		Stores the data in the rivet session cache table.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION fetch</span>  <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>packageName</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>key</tt></i></span></div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Given a package name and a key, return the data
  		stored by the store method, or an empty string if
  		none was set.  (Status is set to the DIO error that
  		occurred, it can be fetched using the status
  		method.)
  	      </div></div></dd></dl></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693024"></a>Session Configuration Options</h3></div></div><div></div></div><p style="width:90%">The following key-value pairs can be specified when a
  	  session object (like SESSION above) is created:</p><div class="variablelist"><dl><dt><span class="term">sessionLifetime</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">how many seconds the session will live for.
  		7200 == 2 hours
  	      </div></div></dd><dt><span class="term">sessionRefreshInterval</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
  		If a request is processed for a browser that
  		currently has a session and this long has elapsed
  		since the session update time was last updated,
  		update it.  900 == 15 minutes.  so if at least 15
  		minutes has elapsed and we've gotten a new request
  		for a page, update the session update time,
  		extending the session lifetime (sessions that are in
  		use keep getting extended).
  	      </div></div></dd><dt><span class="term">cookieName</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex"></div>
  	      name of the cookie stored on the user's web browser
  	      default rivetSession
  	    </div></dd><dt><span class="term">dioObject</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
  		The name of the DIO object we'll use to access the
  		database (default DIO)
  	      </div></div></dd><dt><span class="term">gcProbability</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
  		The probability that garbage collection will occur
  		in percent.  (default 1%, i.e. 1)</div></div></dd><dt><span class="term">gcMaxLifetime</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">the number of seconds after which
  		data will be seen as "garbage" and cleaned up --
  		defaults to 1 day (86400)</div></div></dd><dt><span class="term">refererCheck</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The substring you want to check each
  		HTTP referer for.  If the referer was sent by the
  		browser and the substring is not found, the session
  		will be deleted. (not coded yet)</div></div></dd><dt><span class="term">entropyFile</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The
  		name of a file that random binary data can be read
  		from.  (<tt class="filename">/dev/urandom</tt>) Data will
  		be used from this file to help generate a
  		super-hard-to-guess session ID.</div></div></dd><dt><span class="term">entropyLength</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The number of bytes which will be
  		read from the entropy file.  If 0, the entropy file
  		will not be read (default 0)</div></div></dd><dt><span class="term">scrambleCode</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">
  		Set the scramble code to something unique for the
  		site or your app or whatever, to slightly increase
  		the unguessability of session ids (default "some
  		random string")</div></div></dd><dt><span class="term">cookieLifetime</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The lifetime of the cookie in
  		minutes.  0 means until the browser is closed (I
  		think). (default 0)</div></div></dd><dt><span class="term">cookiePath</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The
  		webserver subpath that the session cookie applies to
  		(defaults to
  		<tt class="filename">/</tt>)</div></div></dd><dt><span class="term">cookieDomain</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The domain to set in the session cookie
  	  (FIXME - not coded yet)</div></div></dd><dt><span class="term">cookieSecure</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">Specifies whether the cookie should
  		only be sent over secure connections, 0 = any, 1 =
  		secure connections only (default
  		0)</div></div></dd><dt><span class="term">sessionTable</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The name of the table that session
  		info will be stored in (default
  		<tt class="varname">rivet_session</tt>)</div></div></dd><dt><span class="term">sessionCacheTable</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The name of the table that contains
  		cached session data (default
  		<tt class="varname">rivet_session_cache</tt>)</div></div></dd><dt><span class="term">debugMode</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">Set
  		debug mode to 1 to trace through and see the session
  		object do its thing (default 0)</div></div></dd><dt><span class="term">debugFile</span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div style="margin-bottom:1.5ex ; padding .5ex">The
  		file handle that debugging messages will be written
  		to (default
  		<tt class="varname">stdout</tt>)
  	      </div></div></dd></dl></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693508"></a>Session Methods</h3></div></div><div></div></div><p style="width:90%">
  	  The following methods can be invoked to find out
  	  information about the current session, store and fetch
  	  server data identified with this session, etc:
  	</p><div class="variablelist"><dl><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION status</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Return the status of the last operation
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION id</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Get the session ID of the current browser.  Returns
  		an empty string if there's no session (will not
  		happen is SESSION activate has been issued.)
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION new_session_reason</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Returns the reason why there wasn't a previous
  		session, either "no_cookie" saying the browser
  		didn't give us a session cookie, "no_session"
  		indicating we got a cookie but couldn't find it in
  		the session table, or "timeout" when we had a cookie
  		and a session but the session had timed out.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION store</span>  <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>packageName</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>key</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>data</tt></i></span></div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Given a package name, a key string, and a data
  		string, store the data in the rivet session
  		cache.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION fetch</span>  <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>packageName</tt></i></span> <span style="font-family:monospace; font-weight: bold;"><i class="replaceable"><tt>key</tt></i></span></div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Given a package name and a key, return the data
  		stored by the store method, or an empty string if
  		none was set.  Status is set to the DIO error that
  		occurred, it can be fetched using the status
  		method.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION delete</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Given a user ID and looking at their IP address we
  		inherited from the environment (thanks, Apache),
  		remove them from the session table.  (the session
  		table is how the server remembers stuff about
  		sessions). If the session ID was not specified the
  		current session is deleted.
  	      </div></div></dd><dt><span class="term"></span></dt><dd><div style="padding:4 ; margin-top:3 ;  margin-bottom:3 ; width:75%"><div class="cmdsynopsis" style="width:80%"><div style="background:#bbbbff ; margin:1ex ; padding:.4ex ;  word-spacing:1ex "><span style="font-weight:bold ; font-family:monospace">SESSION activate</span> </div></div><div style="margin-bottom:1.5ex ; padding .5ex">
  		Find and validate the session ID if they have one.
  		If they don't have one or it isn't valid (timed out,
  		etc), create a session and drop a cookie on
  		them.
  	      </div></div></dd></dl></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id4693688"></a>Getting Additional Randomness From The Entropy File</h3></div></div><div></div></div><pre style="background:#bbffbb ; width:90ex ; margin: 2ex ;      padding: 1ex; border: solid black 1px ; white-space: pre;      font-family:monospace ; " class="programlisting">RivetServerConf ChildInitScript "Session SESSION -entropyFile /dev/urandom \
    -entropyLength 10 -debugMode 1"</pre><p style="width:90%">
  	  This options say we want to get randomness from an entropy
  	  file (random data pseudo-device) of /dev/urandom, to get ten
  	  bytes of random data from that entropy device, and to turn
  	  on debug mode, which will cause the SESSION object to output
  	  all manner of debugging information as it does stuff.  This
  	  has been tested on FreeBSD and appears to work.
        </p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="tcl_packages.en.html"><img src="images/prev.png" alt="Prev"></a>�</td><td width="20%" align="center"><a accesskey="u" href="index.en.html"><img src="images/up.png" alt="Up"></a></td><td width="40%" align="right">�<a accesskey="n" href="help.en.html"><img src="images/next.png" alt="Next"></a></td></tr><tr><td width="40%" align="left" valign="top">Rivet Tcl Packages�</td><td width="20%" align="center"><a accesskey="h" href="index.en.html"><img src="images/home.png" alt="Home"></a></td><td width="40%" align="right" valign="top">�Resources - How to Get Help</td></tr></table></div></body></html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-cvs-help@tcl.apache.org