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"><<a href="mailto:rivet-list-subscribe@tcl.apache.org">rivet-<i class="replaceable"><tt>list</tt></i>-subscribe@tcl.apache.org</a>></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"><<a href="mailto:rivet-dev@tcl.apache.org">rivet-dev@tcl.apache.org</a>></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 <? ?>
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 <HEAD>
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