<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://panoptic.com/mediawiki/aolserver/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Josephbui</id>
	<title>AOLserver Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://panoptic.com/mediawiki/aolserver/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Josephbui"/>
	<link rel="alternate" type="text/html" href="https://panoptic.com/wiki/aolserver/Special:Contributions/Josephbui"/>
	<updated>2026-04-08T07:50:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=8016</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=8016"/>
		<updated>2012-01-23T20:33:22Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joseph Bui used to work as an TCL developer in Washington, DC... unfortunately, the company was purchased by a Java shop. And then that company was purchased by a VB shop. I don't use AOLserver or TCL for work anymore. On the plus side, I guess I'm going to get my personal website running again (using AOLServer of course) in case of layoffs.&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I try to delete irrelevant pages from the site when I see them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Person|Bui, Joseph]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=8015</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=8015"/>
		<updated>2012-01-23T20:32:37Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joseph Bui used to work as an TCL developer in Washington, DC... unfortunately, the company was purchased by a Java shop. And then that company was purchased by a VB shop. I don't use AOLserver or TCL for work anymore. On the plus side, I guess I'm going to get back my personal website running again (using AOLServer of course).&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I try to delete irrelevant pages from the site when I see them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Person|Bui, Joseph]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5968</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5968"/>
		<updated>2011-02-07T20:54:09Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joseph Bui used to work as an TCL developer in Washington, DC... unfortunately, the company I work for was purchased by a Java shop, so I don't use AOLserver or TCL for work anymore.&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I try to delete irrelevant pages from the site when I see them.&lt;br /&gt;
&lt;br /&gt;
[[Category:Person|Bui, Joseph]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_writecontent&amp;diff=5967</id>
		<title>Ns writecontent</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_writecontent&amp;diff=5967"/>
		<updated>2011-02-07T20:24:40Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Reverted edits by Guru (Talk) to last revision by Rcobb&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;manpage&amp;gt;ns_writecontent&amp;lt;/manpage&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_writecontent - write content of request to Tcl channel&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_writecontent''' ''?conn?'' ''channel''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: ns_writecontent is identical to [[ns_conncptofp]]. It reads the content body of the conn (HTTP request) and copies it to the given Tcl I/O channel.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    @@COMMAND_EXAMPLES@@&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: ns_conncptofp&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
:* Throws the error &amp;quot;could not copy content (likely client disconnect)&amp;quot; if sufficient (based on content-length) content can not be read.&lt;br /&gt;
&lt;br /&gt;
[[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Dqd_utils&amp;diff=5966</id>
		<title>Dqd utils</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Dqd_utils&amp;diff=5966"/>
		<updated>2011-02-07T20:24:31Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Reverted edits by Guru (Talk) to last revision by WikiSysop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;By [[Rob Mayoff]].&lt;br /&gt;
* dqd_internalredirect - a wrapper around the C API function Ns_ConnRedirect. This lets you send back the contents of a different URL (from the same server) without letting the client know.&lt;br /&gt;
* dqd_md5 - computes MD5 hashes (cryptographic checksums).&lt;br /&gt;
* dqd_nssetToList - extracts an ns_set's values into a Tcl list.&lt;br /&gt;
* unlist - assigns the elements of a Tcl list to individual Tcl variables, efficiently. Yes, I left off the dqd_ prefix on this one.&lt;br /&gt;
* dqd_detachfile and dqd_attachfile - share a Tcl channel across requests/threads/interpreters.&lt;br /&gt;
* dqd_register_proxy - register a proc to handle proxy requests from browsers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://dqd.com/~mayoff/aolserver/#dqd_utils&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5709</id>
		<title>ProjectOpen</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5709"/>
		<updated>2010-04-16T20:46:19Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;]project-open[ is a Web-based project management system for companies with 2-200 employees in the consulting, engineering, advertising, and translation sectors. ]po[ helps you to run your business by covering the entire project life cycle from sales (CRM-light), staffing, execution (timesheet, controlling, incidents, discussions, and file storage) to invoicing and payment. &lt;br /&gt;
&lt;br /&gt;
The ]po[ architecture is designed for mission-critical applications with a rock-solid infrastructure based on [[AOLserver]] and [[OpenACS]].&lt;br /&gt;
&lt;br /&gt;
== Use of AOLserver ==&lt;br /&gt;
&lt;br /&gt;
There are about 1000 companies today (March 2007) running ]project-open[:&lt;br /&gt;
&lt;br /&gt;
* About half of the companies use AOLServer 4.0.beta10 on Windows&lt;br /&gt;
* The other half uses AOLServer 3.3oacs on Linux&lt;br /&gt;
* There are a dozen or so installations on Solaris and BSD (Mac OS)&lt;br /&gt;
&lt;br /&gt;
== ]project-open[ Modules ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/pm Projects Management]: Project, Subprojects, Project Planning, Resource Planning, Project Tracking, integration with [http://sourceforge.net/projects/ganttproject/ GanttProject], Project Templates, ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/finance Project Finance]: Timesheet, Exenses and Travel Costs, Invoicing (fixed &amp;amp; variable cost projects), Project Controlling, Financial Reporting, Profit &amp;amp; Loss, Accounting Export&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/ Project Collaboration]: Wiki, Forum, Filestorage, Bug Tracker, Incident Management&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* SourceForge: http://sourceforge.net/projects/project-open/&lt;br /&gt;
* Developers: http://www.project-open.org/&lt;br /&gt;
* Commercial: http://www.project-open.com/&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5708</id>
		<title>ProjectOpen</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5708"/>
		<updated>2010-04-16T20:44:52Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Reverted edits by HarryLeC (Talk) to last revision by Josephbui&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;]project-open[ is a Web-based project management system for companies with 2-200 employees in the consulting, engineering, advertising, and translation sectors. ]po[ helps you to run your business by covering the entire project life cycle from sales (CRM-light), staffing, execution (timesheet, controlling, incidents, discussions, and file storage) to invoicing and payment. &lt;br /&gt;
&lt;br /&gt;
The ]po[ architecture is designed for mission-critical applications with a rock-solid infrastructure based on [[AOLserver]] and [[OpenACS]].&lt;br /&gt;
&lt;br /&gt;
== Use of AOLserver ==&lt;br /&gt;
&lt;br /&gt;
There are about 1000 companies today (March 2007) running ]project-open[:&lt;br /&gt;
&lt;br /&gt;
* About half of the companies use AOLServer 4.0.beta10 on Windows&lt;br /&gt;
* The other half uses AOLServer 3.3oacs on Linux&lt;br /&gt;
* There are a dozen or so installations on Solaris and BSD (Mac OS)&lt;br /&gt;
&lt;br /&gt;
== ]project-open[ Modules ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/pm Projects Management]: Project, Subprojects, Project Planning, Resource Planning, Project Tracking, integration with [http://sourceforge.net/projects/ganttproject/ GanttProject], Project Templates, ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/finance Project Finance]: Timesheet, Exenses and Travel Costs, Invoicing (fixed &amp;amp; variable cost projects), Project Controlling, Financial Reporting, Profit &amp;amp; Loss, Accounting Export&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/ Project Collaboration]: Wiki, Forum, Filestorage, Bug Tracker, Incident Management&lt;br /&gt;
* [http://www.mustuniversity.com/Schools-Majors/Business-and-Management-Masters-Degree.html MBA degree]&lt;br /&gt;
* [http://www.mustuniversity.com/Programs/Diploma/Graduate-Diploma.html graduate diploma]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* SourceForge: http://sourceforge.net/projects/project-open/&lt;br /&gt;
* Developers: http://www.project-open.org/&lt;br /&gt;
* Commercial: http://www.project-open.com/&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User_talk:Josephbui&amp;diff=5699</id>
		<title>User talk:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User_talk:Josephbui&amp;diff=5699"/>
		<updated>2010-03-15T16:25:41Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joseph: Thanks for your help cleaning up the wiki vandalism.  Would you like Admin privileges to take care of deletes and blocks? -- [[User:Dossy|Dossy]] 14:30, 15 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Dossy: Sure, thanks! [[User:Josephbui|Josephbui]] 16:25, 15 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_sendmail&amp;diff=5692</id>
		<title>Ns sendmail</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_sendmail&amp;diff=5692"/>
		<updated>2010-03-05T14:34:54Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5691 by Esper (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{manpage|ns_sendmail}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_sendmail - Deliver a mail message using SMTP&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_sendmail''' ''to from subject body ?extraheaders? ?bcc?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command delivers a mail message using a simple SMTP client implementation.&lt;br /&gt;
&lt;br /&gt;
: ''to'' and ''bcc'' are strings containing comma-separated lists of email addresses and will be supplied as the &amp;quot;RCPT TO&amp;quot; portion of the SMTP transaction.  ''from'' will be used as the &amp;quot;MAIL FROM&amp;quot; portion of the SMTP transaction.  By default, the following mail message's headers are constructed by '''ns_sendmail''': To, From, Subject, Date.  ''subject'' is used for the Subject header, and the system's current time is used for the Date: header.  Additional headers can be supplied using the ''extraheaders'' [[ns_set]], where the key is used as the header name and the value is used as the header value.&lt;br /&gt;
&lt;br /&gt;
: '''Note:''' This implementation of an SMTP client is very primitive, not very flexible, does very little error checking, is not very robust as it does not handle SMTP failures by retrying, etc.  A better choice would be to use the [http://tcllib.sourceforge.net/doc/smtp.html Tcllib smtp] package. &lt;br /&gt;
&lt;br /&gt;
'''CONFIGURATION'''&lt;br /&gt;
&lt;br /&gt;
: The SMTP server used for mail delivery is controlled through the server's configuration in the '''ns/parameters''' section.  The following parameters are currently recognized:&lt;br /&gt;
&lt;br /&gt;
* '''smtphost''' - the FQDN name or IP address of the server to connect to.  Default is &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''mailhost''' - if '''smtphost''' is not defined or is an empty string, then the '''mailhost''' parameter is used.&lt;br /&gt;
&lt;br /&gt;
* '''smtptimeout''' - timeout in seconds when interacting with the SMTP server.  Default is 60 seconds.&lt;br /&gt;
&lt;br /&gt;
* '''smtpport''' - TCP port used for connecting to the SMTP server.  Default is 25.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    # Send a simple message from somebody@aolserver.com to nobody@aolserver.com.&lt;br /&gt;
     &lt;br /&gt;
    ns_sendmail nobody@aolserver.com somebody@aolserver.com \&lt;br /&gt;
        &amp;quot;Hello, world.&amp;quot; &amp;quot;Hi, how are you?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_param]], [[ns_section]], [[ns_set]], [[ns_sockopen]], [http://tcllib.sourceforge.net/doc/smtp.html Tcllib smtp]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Keylkeys&amp;diff=5689</id>
		<title>Keylkeys</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Keylkeys&amp;diff=5689"/>
		<updated>2010-03-04T18:35:53Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5686 by Jenika (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/keylkeys.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: keylkeys - Return the keys for a keyed list&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''keylkeys''' ''listvar ?key?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command returns a list of keys for the keyed list ''listvar''.  If ''key'' is specified, the values for that key are returned instead.&lt;br /&gt;
&lt;br /&gt;
: Keyed lists are an extension of Tcl provided by the TclX package.  They are an alternative to using [[ns_set]], but we highly recommend using [[ns_set]] instead of keyed lists where possible.  The commands provided by AOLserver were taken directly from a 1995 version of the TclX package.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    % keylset mylist a 1 {b c} 2&lt;br /&gt;
&lt;br /&gt;
    % keylkeys mylist&lt;br /&gt;
    a {b c}&lt;br /&gt;
&lt;br /&gt;
    % keylkeys mylist a&lt;br /&gt;
    1&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: TclX [http://wiki.tcl.tk/TclX], [[keyldel]], [[keylget]], [[keylset]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category Documentation]] - [[Category Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5688</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5688"/>
		<updated>2010-03-04T18:35:48Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5687 by PatriciaCarr (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_getform&amp;diff=5684</id>
		<title>Ns getform</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_getform&amp;diff=5684"/>
		<updated>2010-03-03T16:11:57Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5683 by Adrianjackson21 (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_getform.html&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_getform - Return the connection formdata ns_set, copying multipart form data into temp files if necessary.&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_getform''' ''?charset?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This is a Tcl wrapper to '''[[ns_conn]] form''' that first calls [[ns_urlcharset]] if ''charset'' is specified.  In addition, if the request contains multipart form submission, it copies each uploaded file content into a temp file and sets up data to allow access to these temp files using [[ns_getformfile]].  Otherwise, it generally behaves the same as ns_conn form, so see its documentation for more details.&lt;br /&gt;
&lt;br /&gt;
: Use this for multipart/form-data POST requests.  It will append the ns_conn form ns_set with additional keys - two for each uploaded file. These are ''fileUploadFormFieldName''.'''content-type''', which is the content type as specified by the client, followed by ''fileUploadFormFieldName''.'''tmpfile''', which is the location of a temporary file containing the transmitted file content. The temporary file name is generated by [[ns_tmpnam]] and a script registered by [[ns_atclose]] deletes the temporary file when the connection is closed.&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
: Here is one way to prevent the processing of large files:&lt;br /&gt;
&lt;br /&gt;
  set content_length [ns_set iget [ns_conn headers] content-length]&lt;br /&gt;
  if {$content_length eq &amp;quot;&amp;quot; || $content_length &amp;gt; 1000000} {&lt;br /&gt;
    # return some error message about file too big&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
''What happens if the client sends a false Content-Length: header?''&lt;br /&gt;
&lt;br /&gt;
''Is there a way to limit the size of an incoming POST before the files are saved to the file system?''&lt;br /&gt;
&lt;br /&gt;
See [[Annotated AOLserver Configuration Reference]]&lt;br /&gt;
&lt;br /&gt;
  ns_param   maxinput        [expr 5 * 1024 * 1024]  ;# Maximum file size for uploads in bytes, default is 1MB, new in AOLserver 4.01&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_getformfile]], [[ns_queryget]], [[ns_set]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] - [[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5679</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5679"/>
		<updated>2010-02-24T22:21:04Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5677 by HelenArchibald (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5662</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5662"/>
		<updated>2010-01-19T17:28:28Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5660 by Shacywayne (Talk) link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_schedule_daily&amp;diff=5650</id>
		<title>Ns schedule daily</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_schedule_daily&amp;diff=5650"/>
		<updated>2009-12-18T14:57:59Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Corrected spelling of Daylight Saving Time&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_schedule_daily.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_schedule_daily - Schedule a script to run daily at a certain time&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_schedule_daily''' ''?-once? ?-thread? hour minute script''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command schedules a ''script'' to be run at a certain ''hour'' and ''minute'' of the day.  Returns the ID of the newly scheduled script.  If ''-once'' is specified, then the script is run once and then unscheduled, otherwise it will continue to run every day at that time.  If ''-thread'' is specified, then the script will be run in its own thread, otherwise it will run in the scheduler's thread.  If the script is long-running, this may interfere with the running of other scheduled scripts, so long-running scripts should be run in their own threads.&lt;br /&gt;
&lt;br /&gt;
: '''NOTE:''' ''hour'' and ''minute'' are specified in local time.  Beware of Daylight Saving Time shifts affecting the time of day when the script will execute.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    % set id [[ns_schedule_daily -once 5 35 { ns_log notice &amp;quot;It is now 5:35 AM.&amp;quot; }]]&lt;br /&gt;
    123&lt;br /&gt;
&lt;br /&gt;
    % ns_unschedule_proc $id&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_after]], [[ns_info]] scheduled, [[ns_pause]], [[ns_schedule_proc]], [[ns_schedule_weekly]], [[ns_unschedule_proc]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] - [[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_schedule_daily&amp;diff=5649</id>
		<title>Ns schedule daily</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_schedule_daily&amp;diff=5649"/>
		<updated>2009-12-18T14:56:47Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_schedule_daily.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_schedule_daily - Schedule a script to run daily at a certain time&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_schedule_daily''' ''?-once? ?-thread? hour minute script''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command schedules a ''script'' to be run at a certain ''hour'' and ''minute'' of the day.  Returns the ID of the newly scheduled script.  If ''-once'' is specified, then the script is run once and then unscheduled, otherwise it will continue to run every day at that time.  If ''-thread'' is specified, then the script will be run in its own thread, otherwise it will run in the scheduler's thread.  If the script is long-running, this may interfere with the running of other scheduled scripts, so long-running scripts should be run in their own threads.&lt;br /&gt;
&lt;br /&gt;
: '''NOTE:''' ''hour'' and ''minute'' are specified in local time.  Beware of Daylight Savings Time shifts affecting the time of day when the script will execute.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    % set id [[ns_schedule_daily -once 5 35 { ns_log notice &amp;quot;It is now 5:35 AM.&amp;quot; }]]&lt;br /&gt;
    123&lt;br /&gt;
&lt;br /&gt;
    % ns_unschedule_proc $id&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_after]], [[ns_info]] scheduled, [[ns_pause]], [[ns_schedule_proc]], [[ns_schedule_weekly]], [[ns_unschedule_proc]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] - [[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_sendmail&amp;diff=5647</id>
		<title>Ns sendmail</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_sendmail&amp;diff=5647"/>
		<updated>2009-12-18T14:50:40Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{manpage|ns_sendmail}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_sendmail - Deliver a mail message using SMTP&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_sendmail''' ''to from subject body ?extraheaders? ?bcc?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command delivers a mail message using a simple SMTP client implementation.&lt;br /&gt;
&lt;br /&gt;
: ''to'' and ''bcc'' are strings containing comma-separated lists of email addresses and will be supplied as the &amp;quot;RCPT TO&amp;quot; portion of the SMTP transaction.  ''from'' will be used as the &amp;quot;MAIL FROM&amp;quot; portion of the SMTP transaction.  By default, the following mail message's headers are constructed by '''ns_sendmail''': To, From, Subject, Date.  ''subject'' is used for the Subject header, and the system's current time is used for the Date: header.  Additional headers can be supplied using the ''extraheaders'' [[ns_set]], where the key is used as the header name and the value is used as the header value.&lt;br /&gt;
&lt;br /&gt;
: '''Note:''' This implementation of an SMTP client is very primitive, not very flexible, does very little error checking, is not very robust as it does not handle SMTP failures by retrying, etc.  A better choice would be to use the [http://tcllib.sourceforge.net/doc/smtp.html Tcllib smtp] package. &lt;br /&gt;
&lt;br /&gt;
'''CONFIGURATION'''&lt;br /&gt;
&lt;br /&gt;
: The SMTP server used for mail delivery is controlled through the server's configuration in the '''ns/parameters''' section.  The following parameters are currently recognized:&lt;br /&gt;
&lt;br /&gt;
* '''smtphost''' - the FQDN name or IP address of the server to connect to.  Default is &amp;quot;localhost&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''mailhost''' - if '''smtphost''' is not defined or is an empty string, then the '''mailhost''' parameter is used.&lt;br /&gt;
&lt;br /&gt;
* '''smtptimeout''' - timeout in seconds when interacting with the SMTP server.  Default is 60 seconds.&lt;br /&gt;
&lt;br /&gt;
* '''smtpport''' - TCP port used for connecting to the SMTP server.  Default is 25.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    # Send a simple message from somebody@aolserver.com to nobody@aolserver.com.&lt;br /&gt;
     &lt;br /&gt;
    ns_sendmail nobody@aolserver.com somebody@aolserver.com \&lt;br /&gt;
        &amp;quot;Hello, world.&amp;quot; &amp;quot;Hi, how are you?&amp;quot;&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_param]], [[ns_section]], [[ns_set]], [[ns_sockopen]], [http://tcllib.sourceforge.net/doc/smtp.html Tcllib smtp]&lt;br /&gt;
&lt;br /&gt;
[[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5646</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5646"/>
		<updated>2009-12-18T14:48:50Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Category_User_Group&amp;diff=5632</id>
		<title>Category User Group</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Category_User_Group&amp;diff=5632"/>
		<updated>2009-11-30T16:33:23Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Redirecting to Category:User Group&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Category:User Group]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Category:User_Group&amp;diff=5631</id>
		<title>Category:User Group</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Category:User_Group&amp;diff=5631"/>
		<updated>2009-11-30T16:32:38Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Purpose: To provide an index to AOLserver User Groups on this Wiki.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To see a list of all AOLserver User Groups on this Wiki, click on the above title.&lt;br /&gt;
&lt;br /&gt;
To add a page to this category, add a link to this page, e.g., &amp;lt;nowiki&amp;gt;[[Category:User Group]]&amp;lt;/nowiki&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Category:User_Group&amp;diff=5630</id>
		<title>Category:User Group</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Category:User_Group&amp;diff=5630"/>
		<updated>2009-11-30T16:31:44Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: New page: Purpose: To provide an index to AOLserver User Groups on this Wiki.  ----  To see a list of all AOLserver User Groups on this Wiki, click on the above title.  To add a page to this categor...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Purpose: To provide an index to AOLserver User Groups on this Wiki.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
To see a list of all AOLserver User Groups on this Wiki, click on the above title.&lt;br /&gt;
&lt;br /&gt;
To add a page to this category, add a link to this page, e.g., [Category User Group]. &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Category]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Northern_Virginia_AOLSUG&amp;diff=5629</id>
		<title>Northern Virginia AOLSUG</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Northern_Virginia_AOLSUG&amp;diff=5629"/>
		<updated>2009-11-30T16:30:13Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Initially AOL has volunteered their facilities to hold the sessions.&lt;br /&gt;
&lt;br /&gt;
If anyone is still interested in a users' group, contact [[User:Josephbui]]. The training room at my office can be reserved (near DuPont Circle in DC). It can also be reserved for an AOLserver [http://aolserver.meetup.com/cities/us/dc/washington/ meetup].&lt;br /&gt;
&lt;br /&gt;
While eventually we hope the community will participate to the extent where it&lt;br /&gt;
doesn't rely on any individual, Initially the session talks will be led by&lt;br /&gt;
[[Carl Garland]].&lt;br /&gt;
&lt;br /&gt;
'''Format for AOLSLUG typical Meeting'''&lt;br /&gt;
* First Hour : Basics/Core&lt;br /&gt;
&lt;br /&gt;
This portion of the meeting will be for beginners/people that are interested&lt;br /&gt;
in basic topics and should allow some time for question/answer about &lt;br /&gt;
general AOLserver concepts.&lt;br /&gt;
* Second Hour : Main Meeting&lt;br /&gt;
** Current Events in AOLserver&lt;br /&gt;
** 1-2 talks given by AOLserver community members&lt;br /&gt;
   &lt;br /&gt;
These could be either discussion of topics or possibly a demonstration&lt;br /&gt;
of an AOLserver project that members have created.&lt;br /&gt;
** Wrap-up, general questions&lt;br /&gt;
* Followup festivities (beer optional)&lt;br /&gt;
&lt;br /&gt;
'''Proposed 1st Meeting Date/Time'''&lt;br /&gt;
&lt;br /&gt;
Please respond to when would be the best date/time for the first NOVA AOLSLUG&lt;br /&gt;
meeting. Future meetings will hopefully be held at every month or two depending&lt;br /&gt;
on community feedback.&lt;br /&gt;
&lt;br /&gt;
Votes for particular day/night of week:&lt;br /&gt;
* Monday night&lt;br /&gt;
* Tuesday night&lt;br /&gt;
* Wednesday night - Carl Garland, Patrick O'Leary, Joseph Bui&lt;br /&gt;
* Thursday night&lt;br /&gt;
* Friday night&lt;br /&gt;
* Saturday&lt;br /&gt;
* Sunday&lt;br /&gt;
&lt;br /&gt;
Anticipate the meeting will be held once/monthly or bimonthly.&lt;br /&gt;
&lt;br /&gt;
'''Proposed 1st Meeting Agenda'''&lt;br /&gt;
&lt;br /&gt;
Until we get feedback and volunteers for leading future session the initial &lt;br /&gt;
first session will consist of the following agenda unless feedback desires&lt;br /&gt;
different topics:&lt;br /&gt;
* Basics/Core: Installing and Building AOLserver&lt;br /&gt;
* Main Meeting: AOLserver and HTTPS, OpenSSL&lt;br /&gt;
&lt;br /&gt;
Hopefully the AOLserver meetings can meet the needs of beginners in addition&lt;br /&gt;
to providing an outlet for users to discuss advanced issues and share &lt;br /&gt;
current undergoing endeavors.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Topics for Basics/Core'''&lt;br /&gt;
* Installing and Building AOLserver&lt;br /&gt;
* AOLserver configuration file&lt;br /&gt;
* Scheduled Procs&lt;br /&gt;
* Control Port&lt;br /&gt;
* Logging&lt;br /&gt;
&lt;br /&gt;
'''Proposed Topics for Main Meeting'''&lt;br /&gt;
* AOLserver and HTTPS, OpenSSL&lt;br /&gt;
* AOLserver and Java Options&lt;br /&gt;
* Building your own Module&lt;br /&gt;
* Running nsd process through debuggers&lt;br /&gt;
* Web Services&lt;br /&gt;
&lt;br /&gt;
'''AOLserver Projects in the Wild'''&lt;br /&gt;
* AOLserver dashboard (Jay Rohr)&lt;br /&gt;
* PGDiff ([[Carl Garland]])&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:User Group]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Northern_Virginia_AOLSUG&amp;diff=5628</id>
		<title>Northern Virginia AOLSUG</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Northern_Virginia_AOLSUG&amp;diff=5628"/>
		<updated>2009-11-30T16:29:12Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Initially AOL has volunteered their facilities to hold the sessions.&lt;br /&gt;
&lt;br /&gt;
If anyone is still interested in a users' group, contact [[User:Josephbui]]. The training room at my office can be reserved (near DuPont Circle in DC). It can also be reserved for an AOLserver [http://aolserver.meetup.com/cities/us/dc/washington/ meetup].&lt;br /&gt;
&lt;br /&gt;
While eventually we hope the community will participate to the extent where it&lt;br /&gt;
doesn't rely on any individual, Initially the session talks will be led by&lt;br /&gt;
[[Carl Garland]].&lt;br /&gt;
&lt;br /&gt;
'''Format for AOLSLUG typical Meeting'''&lt;br /&gt;
* First Hour : Basics/Core&lt;br /&gt;
&lt;br /&gt;
This portion of the meeting will be for beginners/people that are interested&lt;br /&gt;
in basic topics and should allow some time for question/answer about &lt;br /&gt;
general AOLserver concepts.&lt;br /&gt;
* Second Hour : Main Meeting&lt;br /&gt;
** Current Events in AOLserver&lt;br /&gt;
** 1-2 talks given by AOLserver community members&lt;br /&gt;
   &lt;br /&gt;
These could be either discussion of topics or possibly a demonstration&lt;br /&gt;
of an AOLserver project that members have created.&lt;br /&gt;
** Wrap-up, general questions&lt;br /&gt;
* Followup festivities (beer optional)&lt;br /&gt;
&lt;br /&gt;
'''Proposed 1st Meeting Date/Time'''&lt;br /&gt;
&lt;br /&gt;
Please respond to when would be the best date/time for the first NOVA AOLSLUG&lt;br /&gt;
meeting. Future meetings will hopefully be held at every month or two depending&lt;br /&gt;
on community feedback.&lt;br /&gt;
&lt;br /&gt;
Votes for particular day/night of week:&lt;br /&gt;
* Monday night&lt;br /&gt;
* Tuesday night&lt;br /&gt;
* Wednesday night - Carl Garland, Patrick O'Leary, Joseph Bui&lt;br /&gt;
* Thursday night&lt;br /&gt;
* Friday night&lt;br /&gt;
* Saturday&lt;br /&gt;
* Sunday&lt;br /&gt;
&lt;br /&gt;
Anticipate the meeting will be held once/monthly or bimonthly.&lt;br /&gt;
&lt;br /&gt;
'''Proposed 1st Meeting Agenda'''&lt;br /&gt;
&lt;br /&gt;
Until we get feedback and volunteers for leading future session the initial &lt;br /&gt;
first session will consist of the following agenda unless feedback desires&lt;br /&gt;
different topics:&lt;br /&gt;
* Basics/Core: Installing and Building AOLserver&lt;br /&gt;
* Main Meeting: AOLserver and HTTPS, OpenSSL&lt;br /&gt;
&lt;br /&gt;
Hopefully the AOLserver meetings can meet the needs of beginners in addition&lt;br /&gt;
to providing an outlet for users to discuss advanced issues and share &lt;br /&gt;
current undergoing endeavors.&lt;br /&gt;
&lt;br /&gt;
'''Proposed Topics for Basics/Core'''&lt;br /&gt;
* Installing and Building AOLserver&lt;br /&gt;
* AOLserver configuration file&lt;br /&gt;
* Scheduled Procs&lt;br /&gt;
* Control Port&lt;br /&gt;
* Logging&lt;br /&gt;
&lt;br /&gt;
'''Proposed Topics for Main Meeting'''&lt;br /&gt;
* AOLserver and HTTPS, OpenSSL&lt;br /&gt;
* AOLserver and Java Options&lt;br /&gt;
* Building your own Module&lt;br /&gt;
* Running nsd process through debuggers&lt;br /&gt;
* Web Services&lt;br /&gt;
&lt;br /&gt;
'''AOLserver Projects in the Wild'''&lt;br /&gt;
* AOLserver dashboard (Jay Rohr)&lt;br /&gt;
* PGDiff ([[Carl Garland]])&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category User Group]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5627</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5627"/>
		<updated>2009-11-30T15:57:20Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Joseph Bui used to work as an TCL developer in Washington, DC... unfortunately, the company I work for was purchased by a Java shop, so I don't use AOLserver or TCL for work anymore.&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I'm changing the content of all pages that I find that are spam or clearly non-AOLserver related content to redirect to [[Delete this page]]. Thus, you should be able to find them as broken redirects [[Special:BrokenRedirects]] or by looking for back links [[Special:Whatlinkshere/Delete_this_page]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Person|Bui, Joseph]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Joseph_Bui&amp;diff=5626</id>
		<title>Joseph Bui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Joseph_Bui&amp;diff=5626"/>
		<updated>2009-11-30T15:55:20Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Redirecting to User:Josephbui&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[User:Josephbui]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5625</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5625"/>
		<updated>2009-11-30T15:53:23Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Former AOLserver user... unfortunately, the company I work for was purchased by a Java shop.&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I'm changing the content of all pages that I find that are spam or clearly non-AOLserver related content to redirect to [[Delete this page]]. Thus, you should be able to find them as broken redirects [[Special:BrokenRedirects]] or by looking for back links [[Special:Whatlinkshere/Delete_this_page]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Person]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Category:Modules&amp;diff=5624</id>
		<title>Category:Modules</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Category:Modules&amp;diff=5624"/>
		<updated>2009-11-30T15:52:01Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: New page: Purpose: To provide an index of pages describing AOLserver and TCL modules.  To get a list of pages describing AOLserver and TCL modules, see the list below.  To add a page to this categor...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Purpose: To provide an index of pages describing AOLserver and TCL modules.&lt;br /&gt;
&lt;br /&gt;
To get a list of pages describing AOLserver and TCL modules, see the list below.&lt;br /&gt;
&lt;br /&gt;
To add a page to this category, add a link to this page, e.g., &amp;lt;nowiki&amp;gt;[[Category:Modules]]&amp;lt;/nowiki&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Category:Documentation&amp;diff=5623</id>
		<title>Category:Documentation</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Category:Documentation&amp;diff=5623"/>
		<updated>2009-11-30T15:50:45Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: New page: Purpose: To provide an index of pages documenting AOLserver.  To get a list of pages documenting AOLserver, see the list below.  To add a page to this category, add a link to this page, e....&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Purpose: To provide an index of pages documenting AOLserver.&lt;br /&gt;
&lt;br /&gt;
To get a list of pages documenting AOLserver, see the list below.&lt;br /&gt;
&lt;br /&gt;
To add a page to this category, add a link to this page, e.g., &amp;lt;nowiki&amp;gt;[[Category:Documentation]]&amp;lt;/nowiki&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5622</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5622"/>
		<updated>2009-11-30T15:47:33Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Former AOLserver user... unfortunately, the company I work for was purchased by a Java shop.&lt;br /&gt;
&lt;br /&gt;
== Pages To Delete ==&lt;br /&gt;
&lt;br /&gt;
I'm changing the content of all pages that I find that are spam or clearly non-AOLserver related content to redirect to [[Delete this page]]. Thus, you should be able to find them as broken redirects [[Special:BrokenRedirects]] or by looking for back links [[Special:Whatlinkshere/Delete_this_page]].&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5606</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5606"/>
		<updated>2009-11-30T15:17:16Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I'm changing the content of all pages that I find that are spam or clearly non-AOLserver related content to redirect to [[Delete this page]]. Thus, you should be able to find them as broken redirects [[Special:BrokenRedirects]] or by looking for back links from that currently deleted page.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5605</id>
		<title>User:Josephbui</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=User:Josephbui&amp;diff=5605"/>
		<updated>2009-11-30T15:14:49Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: New page: The following pages were entirely spam or non-AOLserver related content. They need to be deleted. I already deleted all the content.     * Aren¡¯t_these_UGGS_you_EVER_did_see?    * [...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following pages were entirely spam or non-AOLserver related content. They need to be deleted. I already deleted all the content.&lt;br /&gt;
&lt;br /&gt;
   * [[Aren¡¯t_these_UGGS_you_EVER_did_see?]]&lt;br /&gt;
   * [[The_Do¡¯s_Don¡¯ts_of_Ugg_Boots]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5603</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5603"/>
		<updated>2009-11-30T14:56:23Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: more link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://www.aolserver.com AOLserver] is a high performance web server with a powerful customization API.  The AOLserver Wiki is a comprehensive resource for all things AOLserver.'''&lt;br /&gt;
&lt;br /&gt;
If you're new to [[wiki]]'s, then [[Welcome, New Visitors]]!  Before you start editing, you may want to read over the [[Formatting Rules]].  To find pages grouped by category, [[Special:Categories|start here]].&lt;br /&gt;
&lt;br /&gt;
== Topics of Conversation ==&lt;br /&gt;
&lt;br /&gt;
* [[What is AOLserver]]?&lt;br /&gt;
* What [[Web Applications for AOLserver]] would you like to see? &lt;br /&gt;
* What [[AOLserver Bugs and Problems]] are you experiencing? &lt;br /&gt;
* What features does AOLserver need? Add them to the [[AOLserver Wishlist]]. &lt;br /&gt;
&lt;br /&gt;
* [[What's new in 4.5]] -- New features in version 4.5 of AOLserver.  This is the current major release of AOLserver.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Resources: ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]] -- Access to various AOLserver files and resources.&lt;br /&gt;
* [[Modules]] -- Complete list of '''over 70''' AOLserver extension modules and other [[AOLserver Contributed Software]].&lt;br /&gt;
* [[Toolkits]] -- Everything you need to build a complete website, fast.&lt;br /&gt;
* [[Languages]] -- Build websites in a varierty of different programming languages.&lt;br /&gt;
* [[Documentation]] -- Tcl and C API references, tutorials and guides.&lt;br /&gt;
* [[FAQ]] -- Frequently Asked Questions about AOLserver.&lt;br /&gt;
* [[AOLserver Improvement Proposals]]&lt;br /&gt;
* The [[AOLserver Cookbook]] -- A collection of questions, and code examples to answer them.&lt;br /&gt;
* [[AOLserver Packages]] -- Binary distributions of AOLserver in popular package management formats.&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
* [http://panoptic.com/wiki/aolserver/Special:Recentchanges?feed=rss RSS 2.0 syndication] of this wiki's recent changes.&lt;br /&gt;
&lt;br /&gt;
== Developers' Guide (A Work In Progress) ==&lt;br /&gt;
&lt;br /&gt;
* [[AOLserver Developer's Guide]] -- A growing, community generated guide on how to develop, deploy and maintain applications using AOLserver including discussions of internals, troubleshooting, debugging, testing and tuning.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Community ==&lt;br /&gt;
&lt;br /&gt;
* The AOLserver project [[Roadmap]], as well as the planned [[Features]] and changes.&lt;br /&gt;
* The [[People]] who work on and contribute to AOLserver, organized into [[Project Teams]].&lt;br /&gt;
* Come join us in our [http://www.aolserver.com/chat/ online chat], or just read the [http://panoptic.com/aolserver/chat/ chat logs].  You can participate on the chat either via IRC (irc.freenode.net:6667 #aolserver) or via AIM.&lt;br /&gt;
* There's also an [http://www.livejournal.com/community/aolserver/ AOLserver LiveJournal community].&lt;br /&gt;
* [[Sites That Run On AOLserver]]&lt;br /&gt;
* The [[OpenACS]] Project.&lt;br /&gt;
* The [[ProjectOpen]] Project (project management based on [[OpenACS]])&lt;br /&gt;
* [[AOLserver User Groups]]&lt;br /&gt;
* [[AOLserver Jobs]]&lt;br /&gt;
&lt;br /&gt;
== AOLserver Core Developers ==&lt;br /&gt;
&lt;br /&gt;
* [[Vision Statement]]&lt;br /&gt;
* [[CVS Commit Guidelines]]&lt;br /&gt;
* [http://www.aolserver.com/docs/devel/tech/standards.html AOLserver Engineering Standards Manual]&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_unschedule_proc&amp;diff=5602</id>
		<title>Ns unschedule proc</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_unschedule_proc&amp;diff=5602"/>
		<updated>2009-11-30T14:50:15Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5596 by VervoidsTerror (Talk) link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_unschedule_proc.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_unschedule_proc - Unschedule a previously scheduled script&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_unschedule_proc''' ''id''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command unschedules a previous scheduled script.  '''NOTE:''' Current behavior is to silently return without error if the ''id'' doesn't represent a currently scheduled ID.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    % set id [[ns_schedule_proc -once 60 { test }]]&lt;br /&gt;
    123&lt;br /&gt;
&lt;br /&gt;
    % ns_unschedule_proc $id&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_after]], [[ns_info]] scheduled, [[ns_pause]], [[ns_resume]], [[ns_schedule_proc]], [[ns_schedule_daily]], [[ns_schedule_weekly]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] - [[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5601</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5601"/>
		<updated>2009-11-30T14:47:37Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: link spam&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://www.aolserver.com AOLserver] is a high performance web server with a powerful customization API.  The AOLserver Wiki is a comprehensive resource for all things AOLserver.'''&lt;br /&gt;
&lt;br /&gt;
If you're new to [[wiki]]'s, then [[Welcome, New Visitors]]!  Before you start editing, you may want to read over the [[Formatting Rules]].  To find pages grouped by category, [[Special:Categories|start here]].&lt;br /&gt;
&lt;br /&gt;
== Topics of Conversation ==&lt;br /&gt;
&lt;br /&gt;
* [[What is AOLserver]]?&lt;br /&gt;
* What [[Web Applications for AOLserver]] would you like to see? &lt;br /&gt;
* What [[AOLserver Bugs and Problems]] are you experiencing? &lt;br /&gt;
* What features does AOLserver need? Add them to the [[AOLserver Wishlist]]. &lt;br /&gt;
&lt;br /&gt;
* [[What's new in 4.5]] -- New features in version 4.5 of AOLserver.  This is the current major release of AOLserver.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Resources: ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]] -- Access to various AOLserver files and resources.&lt;br /&gt;
* [[Modules]] -- Complete list of '''over 70''' AOLserver extension modules and other [[AOLserver Contributed Software]].&lt;br /&gt;
* [[Toolkits]] -- Everything you need to build a complete website, fast.&lt;br /&gt;
* [[Languages]] -- Build websites in a varierty of different programming languages.&lt;br /&gt;
* [[Documentation]] -- Tcl and C API references, tutorials and guides.&lt;br /&gt;
* [[FAQ]] -- Frequently Asked Questions about AOLserver.&lt;br /&gt;
* [[AOLserver Improvement Proposals]]&lt;br /&gt;
* The [[AOLserver Cookbook]] -- A collection of questions, and code examples to answer them.&lt;br /&gt;
* [[AOLserver Packages]] -- Binary distributions of AOLserver in popular package management formats.&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
* [http://panoptic.com/wiki/aolserver/Special:Recentchanges?feed=rss RSS 2.0 syndication] of this wiki's recent changes.&lt;br /&gt;
&lt;br /&gt;
== Developers' Guide (A Work In Progress) ==&lt;br /&gt;
&lt;br /&gt;
* [[AOLserver Developer's Guide]] -- A growing, community generated guide on how to develop, deploy and maintain applications using AOLserver including discussions of internals, troubleshooting, debugging, testing and tuning.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Community ==&lt;br /&gt;
&lt;br /&gt;
* The AOLserver project [[Roadmap]], as well as the planned [[Features]] and changes.&lt;br /&gt;
* The [[People]] who work on and contribute to AOLserver, organized into [[Project Teams]].&lt;br /&gt;
* Come join us in our [http://www.aolserver.com/chat/ online chat], or just read the [http://panoptic.com/aolserver/chat/ chat logs].  You can participate on the chat either via IRC (irc.freenode.net:6667 #aolserver) or via AIM.&lt;br /&gt;
* There's also an [http://www.livejournal.com/community/aolserver/ AOLserver LiveJournal community].&lt;br /&gt;
* [[Sites That Run On AOLserver]]&lt;br /&gt;
* The [[OpenACS]] Project.&lt;br /&gt;
* The [[ProjectOpen]] Project (project management based on [[OpenACS]])&lt;br /&gt;
* [[AOLserver User Groups]]&lt;br /&gt;
* [[AOLserver Jobs]]&lt;br /&gt;
&lt;br /&gt;
== AOLserver Core Developers ==&lt;br /&gt;
&lt;br /&gt;
* [[Vision Statement]]&lt;br /&gt;
* [[CVS Commit Guidelines]]&lt;br /&gt;
* [http://www.aolserver.com/docs/devel/tech/standards.html AOLserver Engineering Standards Manual]&lt;br /&gt;
* [http://www.superiorpapers.com/ custom term papers]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5598</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5598"/>
		<updated>2009-11-27T14:52:27Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5597 by Akshay blizz (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://www.aolserver.com AOLserver] is a high performance web server with a powerful customization API.  The AOLserver Wiki is a comprehensive resource for all things AOLserver.'''&lt;br /&gt;
&lt;br /&gt;
If you're new to [[wiki]]'s, then [[Welcome, New Visitors]]!  Before you start editing, you may want to read over the [[Formatting Rules]].  To find pages grouped by category, [[Special:Categories|start here]].&lt;br /&gt;
&lt;br /&gt;
== Topics of Conversation ==&lt;br /&gt;
&lt;br /&gt;
* [[What is AOLserver]]?&lt;br /&gt;
* What [[Web Applications for AOLserver]] would you like to see? &lt;br /&gt;
* What [[AOLserver Bugs and Problems]] are you experiencing? &lt;br /&gt;
* What features does AOLserver need? Add them to the [[AOLserver Wishlist]]. &lt;br /&gt;
&lt;br /&gt;
* [[What's new in 4.5]] -- New features in version 4.5 of AOLserver.  This is the current major release of AOLserver.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Resources: ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]] -- Access to various AOLserver files and resources.&lt;br /&gt;
* [[Modules]] -- Complete list of '''over 70''' AOLserver extension modules and other [[AOLserver Contributed Software]].&lt;br /&gt;
* [[Toolkits]] -- Everything you need to build a complete website, fast.&lt;br /&gt;
* [[Languages]] -- Build websites in a varierty of different programming languages.&lt;br /&gt;
* [[Documentation]] -- Tcl and C API references, tutorials and guides.&lt;br /&gt;
* [[FAQ]] -- Frequently Asked Questions about AOLserver.&lt;br /&gt;
* [[AOLserver Improvement Proposals]]&lt;br /&gt;
* The [[AOLserver Cookbook]] -- A collection of questions, and code examples to answer them.&lt;br /&gt;
* [[AOLserver Packages]] -- Binary distributions of AOLserver in popular package management formats.&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
* [http://panoptic.com/wiki/aolserver/Special:Recentchanges?feed=rss RSS 2.0 syndication] of this wiki's recent changes.&lt;br /&gt;
&lt;br /&gt;
== Developers' Guide (A Work In Progress) ==&lt;br /&gt;
&lt;br /&gt;
* [[AOLserver Developer's Guide]] -- A growing, community generated guide on how to develop, deploy and maintain applications using AOLserver including discussions of internals, troubleshooting, debugging, testing and tuning.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Community ==&lt;br /&gt;
&lt;br /&gt;
* The AOLserver project [[Roadmap]], as well as the planned [[Features]] and changes.&lt;br /&gt;
* The [[People]] who work on and contribute to AOLserver, organized into [[Project Teams]].&lt;br /&gt;
* Come join us in our [http://www.aolserver.com/chat/ online chat], or just read the [http://panoptic.com/aolserver/chat/ chat logs].  You can participate on the chat either via IRC (irc.freenode.net:6667 #aolserver) or via AIM.&lt;br /&gt;
* There's also an [http://www.livejournal.com/community/aolserver/ AOLserver LiveJournal community].&lt;br /&gt;
* [[Sites That Run On AOLserver]]&lt;br /&gt;
* The [[OpenACS]] Project.&lt;br /&gt;
* The [[ProjectOpen]] Project (project management based on [[OpenACS]])&lt;br /&gt;
* [[AOLserver User Groups]]&lt;br /&gt;
* [[AOLserver Jobs]]&lt;br /&gt;
&lt;br /&gt;
== AOLserver Core Developers ==&lt;br /&gt;
&lt;br /&gt;
* [[Vision Statement]]&lt;br /&gt;
* [[CVS Commit Guidelines]]&lt;br /&gt;
* [http://www.aolserver.com/docs/devel/tech/standards.html AOLserver Engineering Standards Manual]&lt;br /&gt;
* [http://www.superiorpapers.com/ custom term papers]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=What_is_AOLserver&amp;diff=5593</id>
		<title>What is AOLserver</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=What_is_AOLserver&amp;diff=5593"/>
		<updated>2009-11-23T15:06:37Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5564 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;From the [[AOLserver Wiki]] home page:&lt;br /&gt;
&lt;br /&gt;
: '''AOLserver''' is a high performance web server with a powerful customization API.&lt;br /&gt;
&lt;br /&gt;
From the [[FAQ]]:&lt;br /&gt;
&lt;br /&gt;
: '''AOLserver''' is [http://www.corp.aol.com/ America Online]'s Open Source web server. '''AOLserver''' is the backbone of the largest and busiest production environments in the world.&lt;br /&gt;
&lt;br /&gt;
: '''AOLserver''' is a multithreaded, Tcl-enabled, massively-scalable and extensible web server tuned for large scale, dynamic web sites. '''AOLserver''' also includes complete database integration and a dynamic page scripting language.&lt;br /&gt;
&lt;br /&gt;
It has been ported to many Unix-derived platforms, as well as to Windows.  A list is in the [[FAQ]] under &amp;quot;''What platforms does AOLserver support?''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Interestingly, some people (like [http://www.panoptic.com/technologies.html Panoptic] - the hosts of this wiki) classify AOLserver not as a &amp;quot;web server&amp;quot; but as an &amp;quot;application server.&amp;quot;  YMMV.&lt;br /&gt;
Maybe it's best to classify it as a programming environment for generating dynamic web content under heavy load conditions?&lt;br /&gt;
&lt;br /&gt;
In any case, AOLserver serves HTTP -- web pages -- containing the usual static files as well as ''ADP'' (''A''OLserver ''D''ynamic ''P''ages) containing TCL intermixed with HTML.  The parsing and execution of the TCL code occurs &amp;quot;within&amp;quot; the server, rather than being transferred out through a CGI interface to another programming environment.  The [http://www.apache.org/ Apache] web server running the [http://perl.apache.org/ mod_perl] interface module for Perl scripting is about the closest comparison.  The reduced overhead makes for better performance and allows for a higher maximum transaction volume (number of &amp;quot;hits&amp;quot;) with the same hardware system.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Eliyahu]] adds:&lt;br /&gt;
&lt;br /&gt;
All of those fancy words sound very fine and impressive, but what do they really mean? :-)&lt;br /&gt;
&lt;br /&gt;
: ''customization API'': an ''A''pplication ''P''rogramming ''I''nterface allows different software modules  (&amp;quot;applications&amp;quot;) to exchange data with each other -- '''AOLserver''' can be customized&lt;br /&gt;
&lt;br /&gt;
: ''Open Source'': the source code of the program is &amp;quot;open&amp;quot; -- freely available to be studied, installed, or modified -- and specifically licensed (by the [[AOLserver Public License]]) to prevent it from being converted into &amp;quot;proprietary&amp;quot; software; the [http://www.opensource.org/ Open Source Institute] advocates and tries to standardize this licensing approach&lt;br /&gt;
&lt;br /&gt;
: ''multithreaded'': different parts (&amp;quot;threads&amp;quot;) of the program can be run simultaneously and/or in different orders without getting &amp;quot;''tangled''&amp;quot; -- important when there are multiple processors in a server cluster and/or long-running pages that need to be repeatedly served&lt;br /&gt;
&lt;br /&gt;
: ''Tcl-enabled'': the &amp;quot;native&amp;quot; programming language for dynamic page content is '''Tcl''' [http://www.tcl.tk/] [[User:64.236.208.25|64.236.208.25]]&lt;br /&gt;
: [[[Note that modules for other web programming [Languages]] such as [[PHP]], [[Java]], and [[Perl]] are also available, or under development]]&lt;br /&gt;
&lt;br /&gt;
: ''massively-scalable'': pages which run / are served on a small computer will act the same way when run / served on &amp;quot;large scale&amp;quot; hardware -- if you need to serve ''LOTS'' of pages at one time, or with lots of database action talking to multiple servers in a cluster, then '''AOLserver''' is good for you&lt;br /&gt;
&lt;br /&gt;
: ''extensible'': a well-defined set of interfaces (API's) lets you add new modules to implement new features, and thereby &amp;quot;extend&amp;quot; the server's operation&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category Tutorial]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_time&amp;diff=5592</id>
		<title>Ns time</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_time&amp;diff=5592"/>
		<updated>2009-11-23T15:06:34Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5569 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;manpage&amp;gt;ns_time&amp;lt;/manpage&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_time - Perform various time-related functions&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_time''' ''?option? ?arg arg ...?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command provides various time-related functions.  The legal ''option''s (which may be abbreviated) are:&lt;br /&gt;
&lt;br /&gt;
* '''ns_time adjust''' ''time''&lt;br /&gt;
&lt;br /&gt;
: Adjusts ''time'' so that it is within the valid range of values for a time.  ''(TODO:  Figure out how this is actually useful.)''&lt;br /&gt;
&lt;br /&gt;
* '''ns_time diff''' ''time1 time2''&lt;br /&gt;
&lt;br /&gt;
: Computes the time difference between ''time1'' and ''time2''.  It does this by subtracting ''time2'' from ''time1'' and returns a string in &amp;quot;sec:usec&amp;quot; format.  Put the later time first to get the proper result.&lt;br /&gt;
&lt;br /&gt;
* '''ns_time get'''&lt;br /&gt;
&lt;br /&gt;
: Returns the current time in &amp;quot;sec:usec&amp;quot; format.&lt;br /&gt;
&lt;br /&gt;
* '''ns_time incr''' ''time sec ?usec?''&lt;br /&gt;
&lt;br /&gt;
: Increments ''time'' by ''sec'' seconds and optionally ''usec'' microseconds.  Returns a string in &amp;quot;sec:usec&amp;quot; format.&lt;br /&gt;
&lt;br /&gt;
* '''ns_time make''' ''sec ?usec?''&lt;br /&gt;
&lt;br /&gt;
: Returns a string in the form &amp;quot;sec:usec&amp;quot;.  ''usec'' defaults to zero.  If ''usec'' is zero, the colon and ''usec'' are not returned.  If ''sec'' is zero, however, it is returned as part of the time string.&lt;br /&gt;
&lt;br /&gt;
* '''ns_time seconds''' ''time''&lt;br /&gt;
&lt;br /&gt;
: Parses a time in &amp;quot;sec:usec&amp;quot; format and returns the seconds portion.&lt;br /&gt;
&lt;br /&gt;
* '''ns_time microseconds''' ''time''&lt;br /&gt;
&lt;br /&gt;
: Parses a time in &amp;quot;sec:usec&amp;quot; format and returns the microseconds portion.  It assumes zero microseconds if ''time'' only contains seconds.&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
&lt;br /&gt;
: All times are relative to 00:00:00 UTC, January 1, 1970 aka the Unix epoch.  '''ns_time''' called with no option returns the current time in seconds.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLES'''&lt;br /&gt;
&lt;br /&gt;
    % ns_time&lt;br /&gt;
    1087006685&lt;br /&gt;
&lt;br /&gt;
    % set time [ns_time get]&lt;br /&gt;
    1087013247:598897&lt;br /&gt;
&lt;br /&gt;
    % ns_time seconds $time&lt;br /&gt;
    1087013247&lt;br /&gt;
&lt;br /&gt;
    % ns_time microseconds $time&lt;br /&gt;
    598897&lt;br /&gt;
&lt;br /&gt;
    % set time2 [ns_time incr $time 5 30]&lt;br /&gt;
    1087013252:598927&lt;br /&gt;
&lt;br /&gt;
    % ns_set diff $time2 $time&lt;br /&gt;
    5:30&lt;br /&gt;
&lt;br /&gt;
    % set time3 [ns_time make 1087013240 598890]&lt;br /&gt;
    1087013240:598890&lt;br /&gt;
&lt;br /&gt;
    % ns_time diff $time $time3&lt;br /&gt;
    7:7&lt;br /&gt;
&lt;br /&gt;
    % ns_time diff $time3 $time&lt;br /&gt;
    -8:999993&lt;br /&gt;
&lt;br /&gt;
    % set time3 [ns_time incr $time3 7 7]&lt;br /&gt;
    1087013247:598897&lt;br /&gt;
&lt;br /&gt;
    % ns_time diff $time $time3&lt;br /&gt;
    0&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_fmttime]], [[ns_gmtime]], [[ns_httptime]], [[ns_localtime]], [[ns_parsehttptime]], [[ns_parsetime]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=OpenACS&amp;diff=5591</id>
		<title>OpenACS</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=OpenACS&amp;diff=5591"/>
		<updated>2009-11-23T15:06:25Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5573 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://openacs.org/&lt;br /&gt;
&lt;br /&gt;
OpenACS is an advanced toolkit for building scalable, community-oriented web applications. If you're thinking of building an enterprise-level web application, OpenACS is a solid, proven foundation that will give you a 3-6 month headstart.&lt;br /&gt;
&lt;br /&gt;
Browse the code from a running system: http://openacs.org/api-doc/&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Contributed_Software&amp;diff=5590</id>
		<title>AOLserver Contributed Software</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Contributed_Software&amp;diff=5590"/>
		<updated>2009-11-23T15:06:15Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5574 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The AOLserver webserver can be extended in a couple of ways:  [[Modules]] can be written using&lt;br /&gt;
the builtin [[C API]] or [[Tcl API]], or single pages can be written using either [[Tcl pages]] or [[ADP]]&lt;br /&gt;
pages.  If you load one of the language modules, you will also be able to use your favourite&lt;br /&gt;
programming language to extend the AOLserver.&lt;br /&gt;
&lt;br /&gt;
A complete list of the modules available, including database drivers, wrappers for popular C&lt;br /&gt;
libraries, utilities, and other extension [[languages]] is available on the [[Modules]] page.&lt;br /&gt;
&lt;br /&gt;
''Provide links to ADP page creation etc.''&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=CVS_Commit_Guidelines&amp;diff=5589</id>
		<title>CVS Commit Guidelines</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=CVS_Commit_Guidelines&amp;diff=5589"/>
		<updated>2009-11-23T15:06:07Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5563 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In order to achieve our [[Vision Statement]], the AOLserver Project solicits contributions from any interested party.  There are a limited number of [http://sourceforge.net/project/memberlist.php?group_id=3152 AOLserver Project Members] for the AOLserver Project hosted at SourceForge who have access to accept and commit these contributions, and this document outlines the general policies governing this activity.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''1.  Everyone who has CVS commit access, has CVS commit access.'''&lt;br /&gt;
&lt;br /&gt;
Obviously true, but what does this really mean?  It means that if you were given CVS commit access, most likely it was intentional and the interpretation of that action should be obvious: it has been acknowledged that the project wishes you to commit changes to the project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''2.  Who grants CVS commit access?'''&lt;br /&gt;
&lt;br /&gt;
While there are currently a number of Project Administrators, any of whom technically can grant others CVS commit access, the current Project Owner should be the only person to grant new members CVS commit access.  There is no guidelines for deciding who to grant and not grant such access; the decision is solely left to the discretion of the current Project Owner.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3.  I have CVS commit access and someone has contributed a patch which fixes a bug.  Should I just go and merge it in and commit?'''&lt;br /&gt;
&lt;br /&gt;
This is probably the hardest question to answer.  Use the answer here as only a limited guideline to help you decide, and not as the authoritative rules governing this decision.&lt;br /&gt;
&lt;br /&gt;
In the case of a patch which fixes a bug, ensure that the bug is documented by being filed in the [http://sourceforge.net/tracker/?group_id=3152&amp;amp;atid=103152 SourceForge Bug Tracker] first.  This gives others a chance to investigate the bug and comment on it.  The contributed patch may fix the bug, but there may be other solutions that are better and should be considered.  Sometimes, the fix is trivial: it's still useful to have the bug documented for future review of past changes and bug fixes.&lt;br /&gt;
&lt;br /&gt;
It's important that changes do not simply get merged in and committed without testing.  If you wish to commit a change, do not do so unless you're also willing to commit the necessary time and resources necessary to test it.  Sometimes, this just isn't feasible: use your best judgement, but it should generally be an exception and not the rule that changes get committed untested.&lt;br /&gt;
&lt;br /&gt;
Finally, if you are a Project Admin., assign the bug to yourself to indicate that you're taking ownership of it.  Otherwise, append a comment indicating that you wish to do so and request the bug be assigned to you.  Once you are owner of the bug, proceed with merging in the change and testing to ensure the bug has been fixed.  (Once a regression test suite has been developed, ensure all regression tests pass as well.)  After committing the change, append a note to the bug indicating that you did apply the change and that you committed it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4.  What about feature enhancement patches?  I think the feature is desirable, can I commit the change?'''&lt;br /&gt;
&lt;br /&gt;
Like #3 above, this is only a suggestion and ultimately the decision should be made using your best judgement.  However, here are some guidelines you may want to consider:&lt;br /&gt;
* Every line of code added increases the overall maintenance burden of AOLserver.  While perceived to be small in some cases, there is a non-zero cost, however small it might be.  Just because a feature has value does not mean it's valuable enough to be added to AOLserver.&lt;br /&gt;
* A feature that seems easy to implement today may make adding other new features or changing existing features more difficult tomorrow.&lt;br /&gt;
* Once a feature is implemented a particular way and people begin to use it, especially once they've deployed it into a production environment, it is very important to carefully maintain backwards compatibility.  An inadequately thought out implementation may result in the need to break backwards compatibility.  It is worth deferring adding such a feature until the design has clear signs of longevity rather than adding it in an incomplete state and then having people rely on it.&lt;br /&gt;
* Every new feature is an opportunity to add new bugs.  Is this feature worth the risk?&lt;br /&gt;
* Does this feature help bring AOLserver closer to meeting its intended goals from the [[Vision Statement]]?&lt;br /&gt;
* Am I ready to be responsible for defending my decision to commit this change with my peers?  If the feature turns out indeed have negative impact, do I feel comfortable with the responsibility for causing it?  Do I have the time to make the necessary corrections to make things right and support my decision?&lt;br /&gt;
* Do I feel this feature has been adequately discussed with my peers?  Have I given adequate consideration to all the reasons why the change request shouldn't be accepted?  If people are voicing strong opinions against the change, do I really understand why?&lt;br /&gt;
&lt;br /&gt;
If you still feel the feature should be added, then remember #1.  Generally, follow a similar procedure as outlined in #3: ensure an RFE has been filed in the [http://sourceforge.net/tracker/?group_id=3152&amp;amp;atid=353152 SourceForge Feature Request Tracker] for people to discuss the request; assign the RFE to yourself or append a comment requesting a Project Admin. do so; merge the change in and test as much as you can; (once an automated test framework is in place, ensure you implement adequate tests to cover the new feature); commit your change and append a note to the RFE indicating you did so.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''5.  I hate to admit it, but I don't want CVS access anymore.  What do I do?'''&lt;br /&gt;
&lt;br /&gt;
Inform the current Project Owner and the access will be removed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''6.  Someone committed a change and I feel it should be backed out.  Can I do it?'''&lt;br /&gt;
&lt;br /&gt;
See #1 above.  It applies in the forward direction as well as backward.  Everyone who has CVS commit access, has CVS commit access -- everyone can back out anyone else's change.  However, before you do back out someone else's change, you should consider the list of questions in #4 above before doing so, especially:&lt;br /&gt;
* Am I ready to be responsible for defending my decision to commit this change with my peers? If the feature turns out indeed have negative impact, do I feel comfortable with the responsibility for causing it?  Do I have the time to make the necessary corrections to make things right and support my decision?&lt;br /&gt;
&lt;br /&gt;
If you still feel it's appropriate to back out someone's change, try and discuss the reasons why you feel this way and see if others agree.  Perhaps you can persuade the original committer to either back out the change, or find alternate solutions.  However, if backing out the change is the correct way to proceed, then do it.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_uuencode&amp;diff=5588</id>
		<title>Ns uuencode</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_uuencode&amp;diff=5588"/>
		<updated>2009-11-23T15:06:02Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5572 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_uuencode.html&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_uuencode - Binary-to-text encoding using &amp;quot;htuu&amp;quot; encoding&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSYS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_uuencode''' ''string''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This command performs a binary-to-text encoding on ''string''.  There is an arbitrary limit of 48 bytes for the input ''string''.  The encoded string will be approximately 33% longer than the original.&lt;br /&gt;
&lt;br /&gt;
: '''NOTE:''' This is HTTP-style uuencoding/uudecoding which is sometimes called &amp;quot;htuu&amp;quot; (see [http://www.faqs.org/rfcs/rfc1113.html RFC 1113, 4.3.2.4 Step 4 Printable Encoding]).  It is not  compatible with the format used by the Unix uuencode/uudecode commands, nor is it base-64 encoding.&lt;br /&gt;
&lt;br /&gt;
: For base-64 encoding, consider using the base64 Tcl package in tcllib.&lt;br /&gt;
&lt;br /&gt;
'''EXAMPLE'''&lt;br /&gt;
&lt;br /&gt;
    % ns_uuencode &amp;quot;Test string&amp;quot;&lt;br /&gt;
    VGVzdCBzdHJpbmc=&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_uudecode]], tcllib base64 [http://tcllib.sourceforge.net/]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category Documentation]] - [[Category Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Project_Teams&amp;diff=5587</id>
		<title>Project Teams</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Project_Teams&amp;diff=5587"/>
		<updated>2009-11-23T15:05:55Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5571 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The AOLserver Project is made up of several teams.  Each team is responsible for carrying out their part of the overall project's activities.&lt;br /&gt;
&lt;br /&gt;
If you wish to contribute to the AOLserver Project, contact the appropriate team leader(s) in the areas in which you wish to contribute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Core Development Team'''&lt;br /&gt;
&lt;br /&gt;
This team is responsible for maintaining the core code that makes up AOLserver.&lt;br /&gt;
&lt;br /&gt;
''Team Leader:'' [[Dossy Shiobara]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Quality Assurance Team'''&lt;br /&gt;
&lt;br /&gt;
This team is responsible for ensuring that AOLserver continues to be a high quality software product.&lt;br /&gt;
&lt;br /&gt;
''Team Leader:'' TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Documentation Team'''&lt;br /&gt;
&lt;br /&gt;
This team is responsible for maintaining all relevant documentation for all supported releases of AOLserver.&lt;br /&gt;
&lt;br /&gt;
''Team Leader:'' TBA&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Evangelism Team'''&lt;br /&gt;
&lt;br /&gt;
This team is responsible for bringing AOLserver to new audiences, doing competitive and comparative analysis of AOLserver with other solutions, identifying appropriate ways of spreading the word about AOLserver to increase its adoption, etc.&lt;br /&gt;
&lt;br /&gt;
''Team Leader:'' TBA&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Vision_Statement&amp;diff=5586</id>
		<title>Vision Statement</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Vision_Statement&amp;diff=5586"/>
		<updated>2009-11-23T15:05:52Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5570 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;: ''&amp;quot;I believe that the server can now do a great job at a reasonable number of tasks rather than an OK job at a huge number of tasks,&amp;quot; Nachman said.'' [http://news.com.com/2100-1023-228252.html]&lt;br /&gt;
&lt;br /&gt;
[[Dossy]] 28aug2004: There's many interpretations of what a &amp;quot;mission statement&amp;quot; and a &amp;quot;vision statement&amp;quot; should be.  I define them thusly: a mission statement is a short, concise and recitable expression of purpose; a vision statement is a description or vision of what the end result might look like once the mission has been completed.  Keep these definitions in mind when reading the mission statement and vision statement below.&lt;br /&gt;
&lt;br /&gt;
'''Mission Statement'''&lt;br /&gt;
&lt;br /&gt;
Our mission is to provide the best platform for rapidly developing web applications and infrastructure where high performance, scalability and availability are must-have requirements.&lt;br /&gt;
&lt;br /&gt;
'''Vision Statement'''&lt;br /&gt;
&lt;br /&gt;
(these are an unrefined collection of thoughts at the moment)&lt;br /&gt;
* rapid development by using Tcl, a high-level scripting language&lt;br /&gt;
* flexibility of using low level C or high-level Tcl&lt;br /&gt;
* available as open source software&lt;br /&gt;
* modularized component architecture of supporting infrastructure services for building applications&lt;br /&gt;
* enable simple solutions to common problems, especially for difficult problems&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''Comments:'''&lt;br /&gt;
&lt;br /&gt;
I think AOLServer should be a high-speed ADP processing engine. There's already a swiss-army knife webserver, it's called Apache. There are static webservers that are faster than AOLServer and Apache (think thttpd). There are even other high-performance general purpose webservers, like Zeus. AOLServer is particularly good at generating dynamic pages fast. I would move more towards making AOLServer a dynamic component in web environments - like as a FastCGI server, and/or as a set of Tcl helpers and executables and such that could be tied in to mod_dtcl on Apache, or other ways of being integrated into other enterprise web environments. - [[Brady]]&lt;br /&gt;
&lt;br /&gt;
[[Dossy]] 27aug2004: This page should probably be titled &amp;quot;Project Charter&amp;quot; and contain a mission statement, a vision statement, goals, etc.&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Cookbook&amp;diff=5585</id>
		<title>AOLserver Cookbook</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Cookbook&amp;diff=5585"/>
		<updated>2009-11-23T15:05:47Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5568 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A collection of questions, and code examples to answer them.&lt;br /&gt;
&lt;br /&gt;
Add your questions here.  Answers should be placed below the question.  Place a horizontal line (&amp;quot;----&amp;quot;) between questions.  Please keep this text before the first question.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Limiting bandwidth ==&lt;br /&gt;
&lt;br /&gt;
Is there a simple way to limit bandwidth per connection/ip???&lt;br /&gt;
&lt;br /&gt;
: There's no simple way of doing it, i.e., no configuration option you can set.  If I had to implement this, I'd use NSV's and [[ns_register_filter]] to keep track of bandwidth consumed by each client IP which can act as an all-or-nothing mechanism.  However, what might be interesting to implement in the socket driver is a setting to control the rate at which bytes are written back to the socket, perhaps configurable per request, so that large HTTP responses don't soak up your upstream bandwidth.  We should keep this in mind for a future version of AOLserver. ''-- [[User:Dossy|Dossy]] 20:06, 4 November 2005 (EST)''&lt;br /&gt;
&lt;br /&gt;
One more question... How can I read output buffer inside function registered as postauth filter?&lt;br /&gt;
And how can I stream it? ns_adp_puts cannot be used inside filters... ns_return would return all data at once. I assume that per connection limit would look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc ..... {&lt;br /&gt;
ns_adp_stream&lt;br /&gt;
set data [get output content buffer]&lt;br /&gt;
set data_length [output buffer size]&lt;br /&gt;
set block_size 4096&lt;br /&gt;
for {set i 0} {$i &amp;lt; $data_length} {incr i $block_size} {&lt;br /&gt;
   send_to_client [string range $data [expr $block_size*$i] [expr $block_size*[expr$i+1]]]&lt;br /&gt;
   sleep 1&lt;br /&gt;
}&lt;br /&gt;
ns_returnok&lt;br /&gt;
return filter_return&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I want to limit only one vhost so nssock limit would be too much;)&lt;br /&gt;
&lt;br /&gt;
: First, you don't want to turn [[ns_adp_stream]]'ing on.  Getting the size of the ADP output buffer can be done using [[ns_adp_tell]] and getting the contents with [[ns_adp_dump]].  I guess you could [[ns_adp_trunc]] the output buffer to clear it, then slowly write the contents back using [[ns_write]].  You'd also then need to look at [[ns_conn]] '''outputheaders''' to make sure that you wrote the proper HTTP response ... ah, but I don't know if you can get the HTTP response status code somehow.  I still think doing it in nssock is probably the best place, even with vhosts -- I'd make it a preauth or postauth filter that sets the configuration for the response and then have nssock be responsible for ensuring the response is written at that rate. ''-- [[User:Dossy|Dossy]] 07:24, 8 November 2005 (EST)''&lt;br /&gt;
&lt;br /&gt;
ns_adp_tell inside postauth filter:&lt;br /&gt;
   Error: This function cannot be used outside of an ADP&lt;br /&gt;
what's more, i use ns_returnfile inside some adp code and if i use ns_adp_tell after it, it returns 0 (this adp only returns file, no adp_puts or write).&lt;br /&gt;
Unfortunetly i think there is no other solution then implement it inside nssock or implement some tcl code to manipulate all output buffer.&lt;br /&gt;
&lt;br /&gt;
I use this code for big files... some time I'll add per ip limit, now it's for connection.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc returnfile { file } {                                                      &lt;br /&gt;
    set filefp [open $file r]                                                   &lt;br /&gt;
    fconfigure $filefp -translation binary                                      &lt;br /&gt;
    set data_length [file size $file]                                           &lt;br /&gt;
    set block_size 4096                                                         &lt;br /&gt;
                                                                                &lt;br /&gt;
    ns_write &amp;quot;HTTP/1.0 200 OK                                                   &lt;br /&gt;
MIME-Version: 1.0                                                               &lt;br /&gt;
Content-Type: [ns_guesstype $file]                                              &lt;br /&gt;
Content-Length: $data_length                                                    &lt;br /&gt;
                                                                                &lt;br /&gt;
&amp;quot;                                                                               &lt;br /&gt;
    while { ! [eof $filefp] } {                                                 &lt;br /&gt;
        ns_writefp $filefp $block_size                                          &lt;br /&gt;
        ns_sleep 1                                                              &lt;br /&gt;
    }                                                                           &lt;br /&gt;
                                                                                &lt;br /&gt;
    ns_conn close                                                               &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Paul Bukowski&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Virtual server configuration ==&lt;br /&gt;
&lt;br /&gt;
Is it possible to use wildcard '*' in domain name inside &amp;quot;ns/module/nssock/servers&amp;quot; section of aolserver4 config file? I would like to map all requests to *.somedomain.org to one virtual host...&lt;br /&gt;
Something like this doesn't work:&lt;br /&gt;
&lt;br /&gt;
 ns_section &amp;quot;ns/module/nssock/servers&amp;quot;&lt;br /&gt;
 ns_param   forum           somedomain.org                                           &lt;br /&gt;
 ns_param   forum           somedomain.org:80                                        &lt;br /&gt;
 ns_param   forum           *.somedomain.org                                       &lt;br /&gt;
 ns_param   forum           *.somedomain.org:80&lt;br /&gt;
 ns_param   forum           &amp;quot;*.somedomain.org&amp;quot;                                       &lt;br /&gt;
 ns_param   forum           &amp;quot;*.somedomain.org:80&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-Paul Bukowski&lt;br /&gt;
&lt;br /&gt;
: ''2005aug15 [[Dossy]]: Unfortunately, no -- you currently can't use wildcards the way you want.  Not yet, at least.''&lt;br /&gt;
&lt;br /&gt;
Why won't you get some code for mass virtual hosts from http://naviserver.sourceforge.net/ ??&lt;br /&gt;
-PB&lt;br /&gt;
&lt;br /&gt;
: Right now, to map a request to its (virtual) server, there's an O(n) search being done, but it's a &amp;quot;cheap&amp;quot; exact string comparison.  To implement glob-style wildcard support, it'll become a more expensive (but possibly still &amp;quot;cheap&amp;quot; by most people's standards) glob-match comparison.  When you're serving &amp;quot;n&amp;quot; requests per second (where &amp;quot;n&amp;quot; is small) the difference in cost is probably immeasurable, but when &amp;quot;n&amp;quot; is large, the cost is additive and possibly significant.  It might be good if someone could benchmark the two and see what the real cost is. ''-- [[User:Dossy|Dossy]] 20:12, 4 November 2005 (EST)''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Server-side Includes ==&lt;br /&gt;
&lt;br /&gt;
Does anyone have some code to implement apache-compatible SSI (Server-side includes)?  I have some old pages that use SSI that I'd like to move to my aolserver install but I don't have the time to rewrite them as ADPs.&lt;br /&gt;
&lt;br /&gt;
: ''[[User:Dossy|Dossy]] 20:20, 4 November 2005 (EST)'': I make no representations or warranties about the safety (!) or correctness of the code I'm about to share, but it might get folks started on a proper implementation in the future.  In particular, I didn't implement any commands other than &amp;quot;include&amp;quot; and I even implemented it &amp;quot;wrong&amp;quot; (not according to [http://hoohoo.ncsa.uiuc.edu/docs/tutorials/includes.html the specification]).  If there's real interest in having a complete SSI implementation for AOLserver, I'd be willing to improve this code.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns_log Notice &amp;quot;ssi: registering SSI ADP tags&amp;quot;&lt;br /&gt;
&lt;br /&gt;
proc ssi_include_tag {params} {&lt;br /&gt;
        set param_count [ns_set size $params]&lt;br /&gt;
        for {set i 0} {$i &amp;lt; $param_count} {incr i} {&lt;br /&gt;
                set ssi_var_[ns_set key $params $i] [ns_set value $params $i]&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        if [info exists ssi_var_file] {&lt;br /&gt;
                if {[ns_adp_argc] &amp;gt; 1} {&lt;br /&gt;
                        set basedir [lindex [ns_adp_argv] 1]&lt;br /&gt;
                } else {&lt;br /&gt;
                        set basedir [ns_adp_dir]&lt;br /&gt;
                }&lt;br /&gt;
                if [regexp {^/} $ssi_var_file] {&lt;br /&gt;
                        set filename $ssi_var_file&lt;br /&gt;
                } else {&lt;br /&gt;
                        set filename $basedir/$ssi_var_file&lt;br /&gt;
                }&lt;br /&gt;
                return [ns_adp_parse -file $filename $basedir]&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ns_register_adptag {!--#include} ssi_include_tag&lt;br /&gt;
&lt;br /&gt;
ns_log Notice &amp;quot;ssi: registering SSI ADP tags done&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
   &lt;br /&gt;
Is there a way to see only the errors (for example - 'variable' xxx not found? I seem to remember 2 logs - servername.log and servername-error.log?  The version I have now - aolserver 3.2/ad1.2 only seems to give us servername.log - and all the error messages are mixed with the normal msgs - its very hard to debug!&lt;br /&gt;
[[dannyl50]]&lt;br /&gt;
&lt;br /&gt;
The default/example config file did not have entries for both logs. The two sections you need look like (in old style notation): &lt;br /&gt;
&lt;br /&gt;
 [ns/parameters]&lt;br /&gt;
 User=nsadmin &lt;br /&gt;
 Group=nsadmin &lt;br /&gt;
 ServerLog=/var/log/aolserver/servername-error.log &lt;br /&gt;
 PidFile=/var/log/aolserver/nspid.servername&lt;br /&gt;
 Home=/usr/bin/aolserver-3.3ad13 &lt;br /&gt;
&lt;br /&gt;
and &lt;br /&gt;
&lt;br /&gt;
 [ns/server/servername/module/nslog]&lt;br /&gt;
 File=/var/log/aolserver/emp.log &lt;br /&gt;
 LogCombined=On &lt;br /&gt;
 MaxBackup=3 &lt;br /&gt;
 RollFmt=%Y-%m-%d-%H:%M &lt;br /&gt;
 RollHour=0 &lt;br /&gt;
 RollOnSignal=On &lt;br /&gt;
 RollLog=On&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Howdy!  Can someone tell me, in general terms, how they have implemented [[nsperm]]?  It looks cool, but I am using a plain old database with names and passwords, and it is very easy.  I would like the allow/deny functionality, can I have that without the username/password part? -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
''I've implemented [[nsperm]] to restrict access to specific URLs using HTTP authentication (the username/password dialog) and cookie-based (if they have the correct cookie, otherwise URL redirect them to a login page that may set the cookie).''&lt;br /&gt;
''The latter is done using a registered preauth filter.  I chose to use [[nsperm]] over a database since [[nsperm]] (presumably) manages the authentication information in memory better than repeatedly hitting the database with authentication requests, but there's no reason''&lt;br /&gt;
''I couldn't have used a database to store username/password information.  Does this answer your question?'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pretty much, although I started writing my app before I understood AOLServer, so I have a rather strange design that is good in some ways, bad in others.  Keep in mind that this is a low activity app, no more than 20 concurrent users right now.  &lt;br /&gt;
&lt;br /&gt;
What I did was to create an [[ADP]] that has a big case statement.  It calls functions to generate pages based on the 'task' value it is passed through POST.  I have created a pretty complex app this way, not using [[ns_register_proc]] at all.  I know now I should have.  As I understand it, ns_register_proc lets you create a 'virtual' directory structure that actually just calls certain procedures based on the GET or POST requested URL.  This is far more graceful than hitting my main adp which opens up the form data, looks at the 'task' value, and decides which procedures to call.  &lt;br /&gt;
&lt;br /&gt;
Given this lame structure, each time someone requests the main adp, I just check for a valid cookie and generate a login page if it's not there.  After that, I have to set another cookie that is their 'access rights' which is then checked from within the procs that generate the pages.  If I was doing it right, I could have registered a proc that would fire for all URLs in my virtual tree, checking your rights to the particular URL you reqested, and redirecting you if you are not allowed, right?  &lt;br /&gt;
&lt;br /&gt;
Thanks!!! -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
''I probably would've created an ADP per task, and then registered a preauth filter that checked for the cookie and redirected the user to the login page (outside the directory that the preauth filter covers''&lt;br /&gt;
''-- avoid funny redirection loops) if the cookie wasn't set properly.''&lt;br /&gt;
''If you don't want to create a separate ADP per task, you could have used ns_register_proc to create what you describe as &amp;quot;virtual pages&amp;quot; and still have the preauth filter kind of &amp;quot;sit in front&amp;quot; and handle the autehntication, keeping that logic seperate from your actual page generation code.'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
I started with a separate adp for each task, but I thought it would get out of hand quickly.  I do think I will re-work the thing to use ns_register_proc and even do away with the few adp I do have.  It seems far easier to maintain.  In the meantime, I have to re-write all my SQL Server procedures in PostgreSQL PL/Tcl.  That's why I want the [[nsfreetds]] module so badly, it buys me a little time!&lt;br /&gt;
&lt;br /&gt;
Thanks for all your work! -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
''Speaking of [[nsfreetds]], did you try nsfreetds-0.1pre?  Any luck?  Any problems?'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
I just now tried it.  I installed freetds with no trouble, compiled nsfreetds, modified my nsd.tcl [[config file]], added the datasource to interfaces, and all seems fine, except for that I always get &amp;quot;no access to pool &amp;quot;mypool&amp;quot; while executing &amp;quot;ns_db gethandle mypool&amp;quot; ...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I must have missed something.  I saw something in the README about setting $env(SYBASE) before starting nsd.  Is this the same as the SYBASE=/usr/pkg/freetds I had to do even before the build of nsfreetds?&lt;br /&gt;
&lt;br /&gt;
Thanks again... I feel like I am close.. -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
''Yes, the $env(SYBASE) means setting the SYBASE environment variable.  To be safe, you can try this:''&lt;br /&gt;
&lt;br /&gt;
   $ cd /path/to/aolserver/install&lt;br /&gt;
   $ SYBASE=/usr/pkg/freetds; export SYBASE&lt;br /&gt;
   $ bin/nsd ...args...&lt;br /&gt;
&lt;br /&gt;
''Check log/server.log to make sure that the nsfreetds driver is actually loading.  You should see a lines like this at start-up:''&lt;br /&gt;
&lt;br /&gt;
   [30/May/2001:13:42:37][11838.1024][-main-] Notice: modload: loading '/home/aolserver-dev/bin/nsfreetds.so'&lt;br /&gt;
   [30/May/2001:13:42:37][11838.1024][-main-] Notice: Ns_FreeTDS_DriverInit(freetds):  Loaded Panoptic FreeTDS Driver v0.1-pre, built on May 21 2001 at 22:23:01.&lt;br /&gt;
&lt;br /&gt;
''Are you getting an error in the [[server log]] instead?'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
I don't get an error, it seems to load nicely.  I can post or give you access to whatever files or output you would like to see, or an ssh login... -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Another question:  Global variables ([[nsv]]*).  I am re-writing my app to use the [[ns_register_proc]] functionality versus my kludge where everything goes through an [[ADP]] that acts as a filter and traffic cop.  I have figured out register filter and register proc, but seem not to be able to use [[ns_puts]] from within the procs.  Is this right?  Anyway, I had been using [[ns_adp_include]] in my filter/traffic cop page to put consistent headers/footers on my pages.  I gather the more correct way (and only possible way with registered procs?) is to use global variables.  &lt;br /&gt;
&lt;br /&gt;
When do I initialize them?  How do I use them?  What are the caveats? W&lt;br /&gt;
&lt;br /&gt;
Thanks, -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
''Have you started by reading the NSV documentation?'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
Of course not 8^0  That would be too easy!  I will... -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
OK, I read it.  It's too easy.  I use it for header, footer, and client side script html, which I stuff into html variable before returning it.  I would like the filter option we talked about in the chat which would prepend or append html automatically, but this will do. -- [[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
How hard would it be to add an HTTPS equivalent of Ns_FetchURL?&lt;br /&gt;
&lt;br /&gt;
''If you can build shared libraries on your target platform with OpenSSL, it probably wouldn't be too hard.  The trick would be writing enough stub code that can be loaded via the Tcl &amp;quot;load&amp;quot; proc so that you could access the OpenSSL-based https client from your Tcl code.  Is there a lot of demand for this?  I could probably bang something out as an initial attempt.'' -- [[Dossy]]&lt;br /&gt;
&lt;br /&gt;
[[Scott Goodwin]]'s [[nsopenssl]] now contains client side https functionality.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Am I a brick, or does ns_register_proc just plain not work with more than one argument for the proc?  I have tried the following code on both aolserver 3.2 running on NT4 and aolserver 3.4 on NetBSD 1.5.  It fails to register the proc even once, if I try to register it with more than one argument anywhere else.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ns_register_proc GET /foo1 foo 1&lt;br /&gt;
 ns_register_proc GET /foo2 foo 1 2&lt;br /&gt;
 ns_register_proc GET /foo3 foo 1 2 3&lt;br /&gt;
&lt;br /&gt;
 proc foo { conn one {two 22} {three 333}} {&lt;br /&gt;
 ns_return 200 text/html &amp;quot;one is $one, two is $two, three is $three&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
This must be something simple.  I have already posted to the aolserver list but the listserv seems to have gone mad.&lt;br /&gt;
&lt;br /&gt;
[[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
''What are you trying to do?  It appears you want to pass constant parameters to your procedures.  If they are constants, why pass them?  Since ns_register_proc calls are generally in the global scope (and sourced when nsd starts) even a parameter that appears to be a variable probably can/will not vary.''&lt;br /&gt;
&lt;br /&gt;
''Presumably you need to get information from one page to another.  That means formvalues unless your page is stateful (usually a bad idea).  Check out the '''[[ns_conn]] form''' command to get yourself started.''  -- [[Jason Kane]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
OK, I'm using Windows 2000 SP2 and 3.4.1, and trying in vain to get Perl CGIs (legacy) to work.  The scripts work outside of Aolserver, and work on AOLserver on Linux, but when I try inside the script to GET from myself (eg, GET http://localhost:8000/foo?bar=bas), I'm told &amp;quot;unknown protocol TCP&amp;quot;, which is quite aggravating.&lt;br /&gt;
&lt;br /&gt;
Does anyone have any experience administering AOLServer on Windows?&lt;br /&gt;
&lt;br /&gt;
Thanks in advance!&lt;br /&gt;
&lt;br /&gt;
-Bill&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This is interesting, wy do you let me change your page?&lt;br /&gt;
I'm trying to find an example of how to get my data using:&lt;br /&gt;
 set formdata [ns_conn form $conn]&lt;br /&gt;
&lt;br /&gt;
-Jason&lt;br /&gt;
&lt;br /&gt;
Because it's a wiki!  A proc that gets posted variables includes the line you wrote there... then when you want to actually get the values, you can use something like &lt;br /&gt;
&lt;br /&gt;
 set myvar [ns_set get $formdata myvar]&lt;br /&gt;
&lt;br /&gt;
where myvar is the name of the variable.  There is also ns_queryget which looks like&lt;br /&gt;
&lt;br /&gt;
 set myvar [ns_queryget myvar defaultval]&lt;br /&gt;
&lt;br /&gt;
This is handy because if there is no value, it will assign a default value.  &lt;br /&gt;
&lt;br /&gt;
Check out aolserver.com, they have extensive (although sometimes misleading) docs.  If something the docs says should work doesn't, ask.  It may be out of date.&lt;br /&gt;
&lt;br /&gt;
[[Ian Harding]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I don't know where else to share my code fragments, so here seems like as good a place as any.  This one implements user public_html directories. It's based on someone else's stuff (I forget whose tho).  It should really do something with unknown mime types, and should do a better job with errors like unknown users.  It does honor directoryFile and adp maps in the config file.&lt;br /&gt;
&lt;br /&gt;
It works by registering a procedure to /users that interprets the username and finds their directory.  ns_register_proc doesn't allow wildcards other than in the last path element, so /~*  wouldn't work.  However that's not a problem for a filter, so there's a filter to take your /~user url and redirect it to /users/user&lt;br /&gt;
&lt;br /&gt;
-JR&lt;br /&gt;
&lt;br /&gt;
 proc homedir { conn ctx } {&lt;br /&gt;
   set url [ns_conn url $conn]&lt;br /&gt;
   set user {}&lt;br /&gt;
   set file {}&lt;br /&gt;
   regexp {^/users/([^/]*)(/.*)?$} $url dummy user file&lt;br /&gt;
   # ns_returnnotice 200 &amp;quot;url is $url user is $user, file is $file&amp;quot;&lt;br /&gt;
   set userfile [getUserFile $user $file]&lt;br /&gt;
   set type [ns_guesstype $userfile]&lt;br /&gt;
   if {[string match &amp;quot;*[ns_config ns/server/[ns_info server]]/adp map]&amp;quot; $userfile]} {&lt;br /&gt;
     # ns_log notice &amp;quot;adp parsing $userfile&amp;quot;&lt;br /&gt;
     set cwd [pwd]&lt;br /&gt;
     cd [file dirname $userfile]&lt;br /&gt;
     # ns_return 200 text/html [ns_adp_parse -file $userfile]&lt;br /&gt;
     set result [catch {ns_adp_parse -file $userfile} error]&lt;br /&gt;
     if {$result} {&lt;br /&gt;
       ns_return 200 text/html $error&lt;br /&gt;
     } else {&lt;br /&gt;
       ns_return 200 text/html $error&lt;br /&gt;
     }&lt;br /&gt;
     cd $cwd&lt;br /&gt;
   } else {&lt;br /&gt;
     switch $type {&lt;br /&gt;
       &amp;quot;*/*&amp;quot; {&lt;br /&gt;
       }&lt;br /&gt;
       default {&lt;br /&gt;
        ns_returnfile 200 $type $userfile&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
       &lt;br /&gt;
   if {[catch {set fp [open $userfile]}]} {&lt;br /&gt;
     ns_returnnotfound&lt;br /&gt;
     return&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 proc getUserFile {user path} {&lt;br /&gt;
   foreach tail [split ,[ns_config ns/server/[ns_info server] directoryfile] ,] {&lt;br /&gt;
     set userfile &amp;quot;[glob ~$user]/public_html$path$tail&amp;quot;&lt;br /&gt;
     if {[file exists $userfile] &amp;amp;&amp;amp; ![file isdirectory $userfile]} {&lt;br /&gt;
       return $userfile&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
   ns_returnnotfound&lt;br /&gt;
   # break&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ns_register_proc GET /users/ homedir&lt;br /&gt;
 ns_register_proc POST /users/ homedir&lt;br /&gt;
 ns_register_proc HEAD /users/ homedir&lt;br /&gt;
 &lt;br /&gt;
 proc userRedir {conn arg why} {&lt;br /&gt;
   set url [ns_conn url]&lt;br /&gt;
   regsub {^/~(.*)} $url {/users/\1} redir&lt;br /&gt;
   ns_log notice &amp;quot;url is $url, redir is $redir&amp;quot;&lt;br /&gt;
   ns_returnredirect $redir&lt;br /&gt;
   return filter_break&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ns_register_filter preauth GET /~* userRedir&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Hi!&lt;br /&gt;
&lt;br /&gt;
Does anybody know a graphing module for Aolserver/TCL, with e.g. bargraphs, linegraphs,... ?&lt;br /&gt;
&lt;br /&gt;
-[[wiwo]]&lt;br /&gt;
&lt;br /&gt;
''Yes: [[nsgds]], [[nschartdir]].''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Can I detect if the user pushes the Stop button in their browser in my TCL/ADP page?&lt;br /&gt;
&lt;br /&gt;
Yes, although it's a kludge. ns_write will return zero if it cannot write because the connection has been lost. However, ns_write is not stupid enough to try writing when you give it nothing to write, and so you must send something to the client. To prevent this being rendered use HTML comments, e.g.&lt;br /&gt;
&lt;br /&gt;
 if {[ns_write &amp;quot;&amp;lt;nowiki&amp;gt;&amp;lt;!-- STOP DETECTOR --&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;quot;] == 0} {&lt;br /&gt;
     # user hit the stop button, browser page was closed, or connection to client was lost.&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Ximon Eighteen]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Generating random passwords ==&lt;br /&gt;
&lt;br /&gt;
The following method can be useful to generate random passwords and/or password salts.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 # desired length of random string&lt;br /&gt;
  set iStringLength 8&lt;br /&gt;
&lt;br /&gt;
 # characters allowed to appear in the string&lt;br /&gt;
  set sAllowableCharacters &amp;quot;0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # get length one time&lt;br /&gt;
  set iAllowableCharacters [string length $sAllowableCharacters]&lt;br /&gt;
&lt;br /&gt;
 # begin random string as empty&lt;br /&gt;
  set sRandomString &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 # loop until desired length is achieved&lt;br /&gt;
  for {set ii 0} {$ii &amp;lt; $iStringLength} {incr ii} {&lt;br /&gt;
&lt;br /&gt;
   # get next random between 0 and length of allowed characters&lt;br /&gt;
    set iRandomInt [ns_rand $iAllowableCharacters]&lt;br /&gt;
&lt;br /&gt;
   # retrieve this random character&lt;br /&gt;
    set sRandomCharacter [string index $sAllowableCharacters $iRandomInt]&lt;br /&gt;
&lt;br /&gt;
   # append the character to our random string&lt;br /&gt;
    append sRandomString $sRandomCharacter&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  ns_adp_puts &amp;quot;sRandomString: $sRandomString&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Customizing error pages ==&lt;br /&gt;
&lt;br /&gt;
Edit your AOLServer's config file, and add the paths to the error pages as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# Internal redirects&lt;br /&gt;
#&lt;br /&gt;
ns_section &amp;quot;ns/server/${servername}/redirects&amp;quot;&lt;br /&gt;
ns_param   404 &amp;quot;/notfound.html&amp;quot;      ;# Not Found error page&lt;br /&gt;
ns_param   500 &amp;quot;/servererror.html&amp;quot;   ;# Server Error page&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== Fast caching of generated pages ==&lt;br /&gt;
&lt;br /&gt;
You can use an adp page to handle a 404 (not found) error that generated exactly the page it was looking for.  Conceptually this is similar to how tcl's autoloading using unknown works.  From Bas Sheffers, via John Buckman.&lt;br /&gt;
&lt;br /&gt;
from config.tcl:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns_section &amp;quot;ns/server/$server1/redirects&amp;quot;&lt;br /&gt;
ns_param   404           /404.adp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
404.adp:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;% handle_404 %&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support procs:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
proc handle_404 {} {&lt;br /&gt;
    set myurl [myurl]&lt;br /&gt;
    set parts [split $myurl /]&lt;br /&gt;
    set root [lindex $parts 1]&lt;br /&gt;
&lt;br /&gt;
    if {$root == &amp;quot;photo&amp;quot;} {&lt;br /&gt;
        return [404_photo $parts]&lt;br /&gt;
    } else {&lt;br /&gt;
        ns_returnredirect &amp;quot;[myhost]/&amp;quot;&lt;br /&gt;
        return&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
proc 404_photo {parts} {&lt;br /&gt;
    &lt;br /&gt;
    set userid [file rootname [lindex $parts 2]]&lt;br /&gt;
    set d [user_photo_data $userid]&lt;br /&gt;
    if {$d == &amp;quot;&amp;quot;} {&lt;br /&gt;
        set fn &amp;quot;/b/photo/unknown.jpg&amp;quot;&lt;br /&gt;
    } else {&lt;br /&gt;
        set fn &amp;quot;/b/photo/${userid}.jpg&amp;quot;&lt;br /&gt;
        write_binary_file $fn $d&lt;br /&gt;
    }&lt;br /&gt;
    ns_returnfile 200 &amp;quot;image/jpeg&amp;quot; $fn&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
proc myurl {} {&lt;br /&gt;
    return [lindex [split [ns_conn request]] 1]   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
proc photo_cache_dirty {userid} {&lt;br /&gt;
    set fn &amp;quot;/b/photo/${userid}.jpg&amp;quot;&lt;br /&gt;
    file delete $fn&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Changing maximum upload file size ==&lt;br /&gt;
&lt;br /&gt;
For aolserver 4.5 and higher, to change the maximum upload file size from the default value to a custom one, add a line like this to the server configuration file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns_limits set default -maxupload [expr 25 * 1024 * 1024]  ;# Maximum file size set to 25Mb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Return a file generated live ==&lt;br /&gt;
&lt;br /&gt;
Example using the db_foreach function from OpenACS, for the sake of code readability:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
db_foreach get_mailing_addrs &amp;quot;&lt;br /&gt;
&lt;br /&gt;
   select company_name,&lt;br /&gt;
          address,&lt;br /&gt;
          city,&lt;br /&gt;
          province_abbrev,&lt;br /&gt;
          postal_code&lt;br /&gt;
     from ce_members&lt;br /&gt;
    order by company_name&amp;quot; {&lt;br /&gt;
&lt;br /&gt;
         append csv_text &amp;quot;\&amp;quot;$company_name\&amp;quot;,\&amp;quot;$address\&amp;quot;,\&amp;quot;$city\&amp;quot;,\&amp;quot;$province_abbrev\&amp;quot;,\&amp;quot;$postal_code\&amp;quot;\r\n&amp;quot;&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
ns_set update [ns_conn outputheaders] content-disposition &amp;quot;attachment; filename=\&amp;quot;member-addresses.csv\&amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
ns_return 200 application/octet-stream $csv_text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Bugs_and_Problems&amp;diff=5584</id>
		<title>AOLserver Bugs and Problems</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Bugs_and_Problems&amp;diff=5584"/>
		<updated>2009-11-23T15:05:39Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5565 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Bugs should be reported using the [http://sourceforge.net/tracker/?atid=103152&amp;amp;group_id=3152 SourceForge Bug Tracker] for the AOLserver project.'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
12 Jul, 2006&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I'm having a compilation error when trying to build AOLserver-4.5.0. It's the first time I use AOLserver, so its probably a silly problem. Can anyone help me? &lt;br /&gt;
&lt;br /&gt;
    cl /EHsc /W3 /nologo /c /MD /O2  /D &amp;quot;_WINDOWS&amp;quot; /D &amp;quot;TCL_THREADS=1&amp;quot; /D &amp;quot;WIN32&amp;quot;&lt;br /&gt;
        /D &amp;quot;FD_SETSIZE=128&amp;quot; /D &amp;quot;NO_CONST=1&amp;quot; /D &amp;quot;_MBCS&amp;quot; /D &amp;quot;NDEBUG&amp;quot; &lt;br /&gt;
        /I &amp;quot;C:\Pruebas\src\aolserver-4.5.0-src\include&amp;quot; &lt;br /&gt;
        /I &amp;quot;C:\Pruebas\Tcl8.4.13\include&amp;quot; /c /Fodns.o &lt;br /&gt;
    dns.c&lt;br /&gt;
    dns.c&lt;br /&gt;
    dns.c(258) : error C2065: 'NI_MAXHOST' : undeclared identifier&lt;br /&gt;
    dns.c(258) : error C2057: expected constant expression&lt;br /&gt;
    dns.c(258) : error C2466: cannot allocate an array of constant size 0&lt;br /&gt;
    dns.c(258) : error C2133: 'buf' : unknown size&lt;br /&gt;
    dns.c(278) : warning C4013: 'getnameinfo' undefined; assuming extern returning &lt;br /&gt;
                 int&lt;br /&gt;
    dns.c(279) : warning C4034: sizeof returns 0&lt;br /&gt;
    dns.c(280) : error C2065: 'NI_NAMEREQD' : undeclared identifier&lt;br /&gt;
    dns.c(282) : warning C4013: 'gai_strerror' undefined; assuming extern                                                    &lt;br /&gt;
                 returning int&lt;br /&gt;
    dns.c(325) : error C2079: 'hints' uses undefined struct 'addrinfo'&lt;br /&gt;
    dns.c(331) : error C2224: left of '.ai_family' must have struct/union type&lt;br /&gt;
    dns.c(332) : error C2224: left of '.ai_socktype' must have struct/union type&lt;br /&gt;
    dns.c(333) : warning C4013: 'getaddrinfo' undefined; assuming extern returning &lt;br /&gt;
                 int&lt;br /&gt;
    dns.c(340) : error C2037: left of 'ai_addr' specifies undefined struct/union &lt;br /&gt;
                 'addrinfo'&lt;br /&gt;
    dns.c(340) : error C2198: 'ns_inet_ntoa' : too few actual parameters&lt;br /&gt;
    dns.c(341) : error C2037: left of 'ai_next' specifies undefined struct/union &lt;br /&gt;
                 'addrinfo'&lt;br /&gt;
    dns.c(343) : warning C4013: 'freeaddrinfo' undefined; assuming extern &lt;br /&gt;
                 returning int&lt;br /&gt;
    NMAKE : fatal error U1077: 'cl' : return code '0x2'&lt;br /&gt;
    Stop.&lt;br /&gt;
    NMAKE : fatal error U1077: 'C:\Pruebas\Tcl8.4.13\bin\tclsh84t.exe' : return &lt;br /&gt;
            code '0x1'&lt;br /&gt;
    Stop.&lt;br /&gt;
    &lt;br /&gt;
I'm using aolserver-4.5.0 with Tcl8.4.13 in Windows XP. I compiled Tcl with the options threads and thrdalloc.&lt;br /&gt;
&lt;br /&gt;
Thanks,&lt;br /&gt;
&lt;br /&gt;
Miguel&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Has anyone succesfully run 4.0.7 (or any other version) on SuSE 8 for AMD64? It appears to build OK (built against 64 bit build of Tcl 8.4.5) but when run throws a &lt;br /&gt;
    NsTclInitObjs: sizeof(int) &amp;lt; sizeof(long)&lt;br /&gt;
    Aborted&lt;br /&gt;
error&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
&lt;br /&gt;
Damien&lt;br /&gt;
&lt;br /&gt;
[[Dossy]] 27jul2004 - ''Damien, [http://article.gmane.org/gmane.comp.web.aolserver/10802 Tomasz Kosiak] asked the same question on the AOLserver mailing list and [http://article.gmane.org/gmane.comp.web.aolserver/10804 Jim Davidson] responded that commenting out the failing check you experienced may be safe.  Tomasz then [http://article.gmane.org/gmane.comp.web.aolserver/10809 replied] that he'd followed Jim's advice, and it seems to be working just fine.  Once I get some time on a AMD64 system, I'll do some testing and commit the change.  For now, you can either make the same change Tomasz did, or wait.''&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I am having problems with [[ns_sha1]] returning sha1 hashes that differ from all other library implementations. -Caveman&lt;br /&gt;
&lt;br /&gt;
* Can you provide a short snippet of sample code (incl. sample data, and what you get as output) from ns_sha1 as well as one other library implementation, so we might be able to identify where the difference is coming from? ''-- [[User:Dossy|Dossy]] 07:10, 3 December 2005 (EST)''&lt;br /&gt;
&lt;br /&gt;
** Such information is on the linked [[ns_sha1]] page. --[[User:Caveman|Caveman]] 09:27, 3 December 2005 (EST)&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5583</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5583"/>
		<updated>2009-11-23T15:05:37Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5557 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://www.aolserver.com AOLserver] is a high performance web server with a powerful customization API.  The AOLserver Wiki is a comprehensive resource for all things AOLserver.'''&lt;br /&gt;
&lt;br /&gt;
If you're new to [[wiki]]'s, then [[Welcome, New Visitors]]!  Before you start editing, you may want to read over the [[Formatting Rules]].  To find pages grouped by category, [[Special:Categories|start here]].&lt;br /&gt;
&lt;br /&gt;
== Topics of Conversation ==&lt;br /&gt;
&lt;br /&gt;
* [[What is AOLserver]]?&lt;br /&gt;
* What [[Web Applications for AOLserver]] would you like to see? &lt;br /&gt;
* What [[AOLserver Bugs and Problems]] are you experiencing? &lt;br /&gt;
* What features does AOLserver need? Add them to the [[AOLserver Wishlist]]. &lt;br /&gt;
&lt;br /&gt;
* [[What's new in 4.5]] -- New features in version 4.5 of AOLserver.  This is the current major release of AOLserver.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Resources: ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]] -- Access to various AOLserver files and resources.&lt;br /&gt;
* [[Modules]] -- Complete list of '''over 70''' AOLserver extension modules and other [[AOLserver Contributed Software]].&lt;br /&gt;
* [[Toolkits]] -- Everything you need to build a complete website, fast.&lt;br /&gt;
* [[Languages]] -- Build websites in a varierty of different programming languages.&lt;br /&gt;
* [[Documentation]] -- Tcl and C API references, tutorials and guides.&lt;br /&gt;
* [[FAQ]] -- Frequently Asked Questions about AOLserver.&lt;br /&gt;
* [[AOLserver Improvement Proposals]]&lt;br /&gt;
* The [[AOLserver Cookbook]] -- A collection of questions, and code examples to answer them.&lt;br /&gt;
* [[AOLserver Packages]] -- Binary distributions of AOLserver in popular package management formats.&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
* [http://panoptic.com/wiki/aolserver/Special:Recentchanges?feed=rss RSS 2.0 syndication] of this wiki's recent changes.&lt;br /&gt;
&lt;br /&gt;
== Developers' Guide (A Work In Progress) ==&lt;br /&gt;
&lt;br /&gt;
* [[AOLserver Developer's Guide]] -- A growing, community generated guide on how to develop, deploy and maintain applications using AOLserver including discussions of internals, troubleshooting, debugging, testing and tuning.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Community ==&lt;br /&gt;
&lt;br /&gt;
* The AOLserver project [[Roadmap]], as well as the planned [[Features]] and changes.&lt;br /&gt;
* The [[People]] who work on and contribute to AOLserver, organized into [[Project Teams]].&lt;br /&gt;
* Come join us in our [http://www.aolserver.com/chat/ online chat], or just read the [http://panoptic.com/aolserver/chat/ chat logs].  You can participate on the chat either via IRC (irc.freenode.net:6667 #aolserver) or via AIM.&lt;br /&gt;
* There's also an [http://www.livejournal.com/community/aolserver/ AOLserver LiveJournal community].&lt;br /&gt;
* [[Sites That Run On AOLserver]]&lt;br /&gt;
* The [[OpenACS]] Project.&lt;br /&gt;
* The [[ProjectOpen]] Project (project management based on [[OpenACS]])&lt;br /&gt;
* [[AOLserver User Groups]]&lt;br /&gt;
* [[AOLserver Jobs]]&lt;br /&gt;
&lt;br /&gt;
== AOLserver Core Developers ==&lt;br /&gt;
&lt;br /&gt;
* [[Vision Statement]]&lt;br /&gt;
* [[CVS Commit Guidelines]]&lt;br /&gt;
* [http://www.aolserver.com/docs/devel/tech/standards.html AOLserver Engineering Standards Manual]&lt;br /&gt;
* [http://www.superiorpapers.com/ custom term papers]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_getform&amp;diff=5582</id>
		<title>Ns getform</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=Ns_getform&amp;diff=5582"/>
		<updated>2009-11-23T15:05:31Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5560 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Man page: http://aolserver.com/docs/tcl/ns_getform.html&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''NAME'''&lt;br /&gt;
&lt;br /&gt;
: ns_getform - Return the connection formdata ns_set, copying multipart form data into temp files if necessary.&lt;br /&gt;
&lt;br /&gt;
'''SYNOPSIS'''&lt;br /&gt;
&lt;br /&gt;
: '''ns_getform''' ''?charset?''&lt;br /&gt;
&lt;br /&gt;
'''DESCRIPTION'''&lt;br /&gt;
&lt;br /&gt;
: This is a Tcl wrapper to '''[[ns_conn]] form''' that first calls [[ns_urlcharset]] if ''charset'' is specified.  In addition, if the request contains multipart form submission, it copies each uploaded file content into a temp file and sets up data to allow access to these temp files using [[ns_getformfile]].  Otherwise, it generally behaves the same as ns_conn form, so see its documentation for more details.&lt;br /&gt;
&lt;br /&gt;
: Use this for multipart/form-data POST requests.  It will append the ns_conn form ns_set with additional keys - two for each uploaded file. These are ''fileUploadFormFieldName''.'''content-type''', which is the content type as specified by the client, followed by ''fileUploadFormFieldName''.'''tmpfile''', which is the location of a temporary file containing the transmitted file content. The temporary file name is generated by [[ns_tmpnam]] and a script registered by [[ns_atclose]] deletes the temporary file when the connection is closed.&lt;br /&gt;
&lt;br /&gt;
'''NOTES'''&lt;br /&gt;
: Here is one way to prevent the processing of large files:&lt;br /&gt;
&lt;br /&gt;
  set content_length [ns_set iget [ns_conn headers] content-length]&lt;br /&gt;
  if {$content_length eq &amp;quot;&amp;quot; || $content_length &amp;gt; 1000000} {&lt;br /&gt;
    # return some error message about file too big&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
''What happens if the client sends a false Content-Length: header?''&lt;br /&gt;
&lt;br /&gt;
''Is there a way to limit the size of an incoming POST before the files are saved to the file system?''&lt;br /&gt;
&lt;br /&gt;
See [[Annotated AOLserver Configuration Reference]]&lt;br /&gt;
&lt;br /&gt;
  ns_param   maxinput        [expr 5 * 1024 * 1024]  ;# Maximum file size for uploads in bytes, default is 1MB, new in AOLserver 4.01&lt;br /&gt;
&lt;br /&gt;
'''SEE ALSO'''&lt;br /&gt;
&lt;br /&gt;
: [[ns_getformfile]], [[ns_queryget]], [http://www.besttermpaper.com paper writing], [[ns_set]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]] - [[Category:Core Tcl API]]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5581</id>
		<title>ProjectOpen</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5581"/>
		<updated>2009-11-23T15:05:22Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5559 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;]project-open[ is a Web-based project management system for companies with 2-200 employees in the consulting, engineering, advertising, and translation sectors. ]po[ helps you to run your business by covering the entire project life cycle from sales (CRM-light), staffing, execution (timesheet, controlling, incidents, discussions, and file storage) to invoicing and payment. &lt;br /&gt;
&lt;br /&gt;
The ]po[ architecture is designed for mission-critical applications with a rock-solid infrastructure based on [[AOLserver]] and [[OpenACS]].&lt;br /&gt;
&lt;br /&gt;
== Use of AOLserver ==&lt;br /&gt;
&lt;br /&gt;
There are about 1000 companies today (March 2007) running ]project-open[:&lt;br /&gt;
&lt;br /&gt;
* About half of the companies use AOLServer 4.0.beta10 on Windows&lt;br /&gt;
* The other half uses AOLServer 3.3oacs on Linux&lt;br /&gt;
* There are a dozen or so installations on Solaris and BSD (Mac OS)&lt;br /&gt;
&lt;br /&gt;
== ]project-open[ Modules ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/pm Projects Management]: Project, Subprojects, Project Planning, Resource Planning, Project Tracking, integration with [http://sourceforge.net/projects/ganttproject/ GanttProject], Project Templates, ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/finance Project Finance]: Timesheet, Exenses and Travel Costs, Invoicing (fixed &amp;amp; variable cost projects), Project Controlling, Financial Reporting, Profit &amp;amp; Loss, Accounting Export&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/ Project Collaboration]: Wiki, Forum, Filestorage, Bug Tracker, Incident Management&lt;br /&gt;
* [http://www.mustuniversity.com/Schools-Majors/Business-and-Management-Masters-Degree.html MBA degree]&lt;br /&gt;
* [http://www.mustuniversity.com/Programs/Diploma/Graduate-Diploma.html graduate diploma]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* SourceForge: http://sourceforge.net/projects/project-open/&lt;br /&gt;
* Developers: http://www.project-open.org/&lt;br /&gt;
* Commercial: http://www.project-open.com/&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5580</id>
		<title>ProjectOpen</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=ProjectOpen&amp;diff=5580"/>
		<updated>2009-11-23T15:05:19Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5558 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;]project-open[ is a Web-based project management system for companies with 2-200 employees in the consulting, engineering, advertising, and translation sectors. ]po[ helps you to run your business by covering the entire project life cycle from sales (CRM-light), staffing, execution (timesheet, controlling, incidents, discussions, and file storage) to invoicing and payment. &lt;br /&gt;
&lt;br /&gt;
The ]po[ architecture is designed for mission-critical applications with a rock-solid infrastructure based on [[AOLserver]] and [[OpenACS]].&lt;br /&gt;
&lt;br /&gt;
== Use of AOLserver ==&lt;br /&gt;
&lt;br /&gt;
There are about 1000 companies today (March 2007) running ]project-open[:&lt;br /&gt;
&lt;br /&gt;
* About half of the companies use AOLServer 4.0.beta10 on Windows&lt;br /&gt;
* The other half uses AOLServer 3.3oacs on Linux&lt;br /&gt;
* There are a dozen or so installations on Solaris and BSD (Mac OS)&lt;br /&gt;
&lt;br /&gt;
== ]project-open[ Modules ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/pm Projects Management]: Project, Subprojects, Project Planning, Resource Planning, Project Tracking, integration with [http://sourceforge.net/projects/ganttproject/ GanttProject], Project Templates, ...&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/finance Project Finance]: Timesheet, Exenses and Travel Costs, Invoicing (fixed &amp;amp; variable cost projects), Project Controlling, Financial Reporting, Profit &amp;amp; Loss, Accounting Export&lt;br /&gt;
&lt;br /&gt;
* [http://www.project-open.org/product/modules/ Project Collaboration]: Wiki, Forum, Filestorage, Bug Tracker, Incident Management&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* SourceForge: http://sourceforge.net/projects/project-open/&lt;br /&gt;
* Developers: http://www.project-open.org/&lt;br /&gt;
* Commercial: http://www.project-open.com/&lt;br /&gt;
* [http://www.mustuniversity.com/Schools-Majors/Engineering/Mechanical-Engineering.html mechanical engineering degree]&lt;br /&gt;
* [http://www.mustuniversity.com/Programs/Degree/degree.asp Online degree]&lt;br /&gt;
* [http://www.myspace.com/mustuniversity Must University]&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
	<entry>
		<id>https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5579</id>
		<title>AOLserver Wiki</title>
		<link rel="alternate" type="text/html" href="https://panoptic.com/mediawiki/aolserver/index.php?title=AOLserver_Wiki&amp;diff=5579"/>
		<updated>2009-11-23T15:04:07Z</updated>

		<summary type="html">&lt;p&gt;Josephbui: Undo revision 5556 by Daniel (Talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''[http://www.aolserver.com AOLserver] is a high performance web server with a powerful customization API.  The AOLserver Wiki is a comprehensive resource for all things AOLserver.'''&lt;br /&gt;
&lt;br /&gt;
If you're new to [[wiki]]'s, then [[Welcome, New Visitors]]!  Before you start editing, you may want to read over the [[Formatting Rules]].  To find pages grouped by category, [[Special:Categories|start here]].&lt;br /&gt;
&lt;br /&gt;
== Topics of Conversation ==&lt;br /&gt;
&lt;br /&gt;
* [[What is AOLserver]]?&lt;br /&gt;
* What [[Web Applications for AOLserver]] would you like to see? &lt;br /&gt;
* What [[AOLserver Bugs and Problems]] are you experiencing? &lt;br /&gt;
* What features does AOLserver need? Add them to the [[AOLserver Wishlist]]. &lt;br /&gt;
&lt;br /&gt;
* [[What's new in 4.5]] -- New features in version 4.5 of AOLserver.  This is the current major release of AOLserver.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Resources: ==&lt;br /&gt;
&lt;br /&gt;
* [[Downloads]] -- Access to various AOLserver files and resources.&lt;br /&gt;
* [[Modules]] -- Complete list of '''over 70''' AOLserver extension modules and other [[AOLserver Contributed Software]].&lt;br /&gt;
* [[Toolkits]] -- Everything you need to build a complete website, fast.&lt;br /&gt;
* [[Languages]] -- Build websites in a varierty of different programming languages.&lt;br /&gt;
* [[Documentation]] -- Tcl and C API references, tutorials and guides.&lt;br /&gt;
* [[FAQ]] -- Frequently Asked Questions about AOLserver.&lt;br /&gt;
* [[AOLserver Improvement Proposals]]&lt;br /&gt;
* The [[AOLserver Cookbook]] -- A collection of questions, and code examples to answer them.&lt;br /&gt;
* [[AOLserver Packages]] -- Binary distributions of AOLserver in popular package management formats.&lt;br /&gt;
* [[Useful Links]]&lt;br /&gt;
* [http://panoptic.com/wiki/aolserver/Special:Recentchanges?feed=rss RSS 2.0 syndication] of this wiki's recent changes.&lt;br /&gt;
&lt;br /&gt;
== Developers' Guide (A Work In Progress) ==&lt;br /&gt;
&lt;br /&gt;
* [[AOLserver Developer's Guide]] -- A growing, community generated guide on how to develop, deploy and maintain applications using AOLserver including discussions of internals, troubleshooting, debugging, testing and tuning.&lt;br /&gt;
&lt;br /&gt;
== AOLserver Community ==&lt;br /&gt;
&lt;br /&gt;
* The AOLserver project [[Roadmap]], as well as the planned [[Features]] and changes.&lt;br /&gt;
* The [[People]] who work on and contribute to AOLserver, organized into [[Project Teams]].&lt;br /&gt;
* Come join us in our [http://www.aolserver.com/chat/ online chat], or just read the [http://panoptic.com/aolserver/chat/ chat logs][http://www.mustuniversity.com/Programs/Degree/PhD-Degree.html phd degree].  You can participate on the chat either via IRC (irc.freenode.net:6667 #aolserver) or via AIM.&lt;br /&gt;
* There's also an [http://www.livejournal.com/community/aolserver/ AOLserver LiveJournal community].&lt;br /&gt;
* [[Sites That Run On AOLserver]]&lt;br /&gt;
* The [[OpenACS]] Project.&lt;br /&gt;
* The [[ProjectOpen]] Project (project management based on [[OpenACS]])&lt;br /&gt;
* [[AOLserver User Groups]]&lt;br /&gt;
* [[AOLserver Jobs]]&lt;br /&gt;
* [http://www.mustuniversity.com/Programs/index.asp Online degree program ]&lt;br /&gt;
&lt;br /&gt;
== AOLserver Core Developers ==&lt;br /&gt;
&lt;br /&gt;
* [[Vision Statement]]&lt;br /&gt;
* [[CVS Commit Guidelines]]&lt;br /&gt;
* [http://www.aolserver.com/docs/devel/tech/standards.html AOLserver Engineering Standards Manual]&lt;br /&gt;
* [http://www.superiorpapers.com/ custom term papers]&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Josephbui</name></author>
		
	</entry>
</feed>