This is the README to cgi.tcl, a library of Tcl procedures to assist in writing CGI scripts. Review the HISTORY file for significant changes. The cgi.tcl home page is http://expect.nist.gov/cgi.tcl -------------------- Introduction -------------------- This is the README file for cgi.tcl, a set of procedures for writing CGI scripts in Tcl. The procedures implement the code described in the paper "Writing CGI scripts in Tcl" which was published in the Proceedings of the Fourth Tcl Workshop (Tcl '96). -------------------- Getting Started -------------------- First, read the paper "Writing CGI Scripts in Tcl", from Tcl '96. If you can't find the paper in this archive, it can also be found at: http://www.nist.gov/msidlibrary/doc/libes96c.ps That paper will give you a lot of good ideas for using Tcl, not only with CGI but plain everyday HTML as well. Next, try some of the examples in the example directory. Please read the "Instructions" section in example/README first. A rough draft of complete documentation of the individual functions can be found in ref.txt in the doc directory. Note that you are expected to understand Tcl. I'm not going to explain how to write Tcl scripts here. (If you're looking for a Tcl tutorial, please consider my Expect book which includes a very nice tutorial on Tcl.) Similarly, you are expected to understand HTML. There are plenty of web tutorials and books on it. Go read one. You don't have to become an expert on HTML, but it is important to get a feel for it. (The cgi.tcl package will take care of the details.) If you plan to do CGI, you should know a couple more basic things. Here's a simple CGI intro: http://hoohoo.ncsa.uiuc.edu/cgi/intro.html -------------------- Status -------------------- The library is reasonably complete. It supports forms, tables, cookies, Netscape extensions, file upload, plug-ins, etc, etc. On the other hand, there are some things missing - such as certain deprecated things in HTML, things I can't believe anyone would use, things that are special extensions to a browser I'm not familiar with, etc. This library should run on any system (UNIX, Win, or Mac) which supports Tcl 8.1 or later. ---------------------- Examples ---------------------- This distribution contains example scripts. They can be found in the example directory of this distribution. Please read the "Instructions" section in example/README first. -------------------- Installation -------------------- If you are on UNIX, read the INSTALL file. If you are on W95/NT, read the install.win file. If you are on Mac, read the install.mac file. -------------------- How to get the latest version of this code -------------------- The latest version of this code may be received from: http://expect.nist.gov/cgi.tcl/cgi.tcl.tar.gz or ftp://ftp.nist.gov/mel/div826/subject/expect/cgi.tcl/cgi.tcl.tar.gz -------------------- Support from Don Libes or NIST -------------------- Although I can't promise anything in the way of support, I'd be interested to hear about your experiences using it (good or bad). I'm also interested in hearing bug reports and suggestions for improvement even though I can't promise to implement them. If you send me a bug, fix, or question, include the version of cgi.tcl, version of Tcl, and name and version of the OS that you are using. Before sending mail, it may be helpful to verify that your problem still exists in the latest version. You can check on the current release and whether it addresses your problems by retrieving the latest HISTORY file (see "History" above). Awards, love letters, and bug reports may be sent to: Don Libes National Institute of Standards and Technology Bldg 220, Rm A-127 Gaithersburg, MD 20899 (301) 975-3535 libes@nist.gov I hereby place this software in the public domain. NIST and I would appreciate credit if this program or parts of it are used. Design and implementation of this program was funded primarily by myself. Funding contributors include the NIST Automated Manufacturing Research Facility (funded by the Navy Manufacturing Technology Program), the NIST Scientific and Technical Research Services, the ARPA Persistent Object Bases project and the Computer-aided Acquisition and the Logistic Support (CALS) program of the Office of the Secretary of Defense. -------------------- Support for Don Libes or NIST -------------------- NIST accepts external funding and other resources (hardware, software, and personnel). This can be a fine way to work more closely with NIST and encourage particular areas of research. Funding can be earmarked for specific purposes or for less-specific purposes. For example, if you simply like the work I do, you can contribute directly to my funding which will reduce the amount of time I have to spend writing proposals and submitting them to other people for funding on my own. I can also participate in the NIST Fellows program allowing me to spend several months to a year working directly with your company and potentially even at your location.