TclHttpd Applications

WJR My team at work successfully released a TclHttpd application a few weeks ago for a commercial truck manufacturer. The application is a truck configurator, i.e. a tool that allows sales people and body builders (the folks who actually assemble the trucks) to assemble a properly configured truck. Properly configured means that all the chosen components (exhaust, fuel tanks, batteries, etc.) can be put on the truck.

The major components of the application are the configurator itself, a tool that allows experienced users to assemble and save a truck configuration, and the truck wizard that allows new users to create and view a configuration step by step. Other application components handle things like configuration management, application preferences, etc.

Truck illustrations are Scalable Vector Graphics (SVGs) - this format gives us the capability to composite the truck chassis with the chosen truck components. The SVGs are served using an application direct URL - a very useful capability of TclHttpd.

User truck configurations are maintained and manipulated in XML using xmlgen and tDOM. This XML and all other app data is maintained in a MS SQL Server database.

One of the requirements was that this application needed to be distributed on CD-ROM for sales people who are on the road. TclHttpd made this pretty easy - the code between the web server version and the client version (which uses MSDE as the database) is 95% the same. The templates are almost identical and there are minor changes to the custom libraries which handle the database and configurations. Actually, more up front planning would've allowed us to abstract the web/client differences into config files and use exactly the same code base, but there just wasn't time - maybe version 2!

All in all we're quite proud of the product. It's a testament to the power and flexibility of TclHttpd that we were able to deliver a solid product under tight time contraints.

Some Components Used:


TV I've got a tclhttpd with some additions and changes running now for half a year, with probably easily more then 95% or 24/7 uptime on a standard consumer connection, which works fine, as it has before, except not all is clear or asit probably is most desirable. Uninterupted uptime seems bounded by windows (XP) to a few weeks or so, depending on what I do, of course (want to run linux for instance..), but not because of leak or stack problems it seems, everything is fine, with say 10000 hits/week or so.

[ DG -- I'm doing some tests using iocpsock and have seen one of our XP servers do 72K hits per day. In theory, 8.6M hits per day are possible if it ran flat-out. ]

!!You'll need to be very aware that certain functions, like the cgi examples, expecially combined with the upload feature can be quite a potential security hazard for hackers who know the server.

Basically, remove all parts of the standard distribution with the errors and cgi's and dangerous scripts, and if you think it important, the reset button on the traffic page.

I'll make a page with a straightforward enough server application script based on the tclhttpd 3.4.1 standard distribution, I'll need to go through my files a bit to get that together for those who want a running server easily.

Anyone know why the file filter box on the document hits page doesn't seem to work right?


SC I ran a Web Programming course [L1 ] (Broken Link) for high school teachers recently using a carefully customised tclhttpd wrapped as a StarPack to run on windows. This allowed the teachers to install the software trivially (copy from the CDROM/website) and then begin writing web pages with SSI and cgi scripts with ease. The link above includes the notes for the day and the practical exercises which culminated in a simple web based chat script in 65 lines of tcl


SDW I've been using the Tclhttpd for several Intranet projects for work and leasure since 1998. My new ODIE package has a set of extensions for TCLHTTPD that include database wrappers and tools to automate the process of generating web-based UI's: http://www.etoyoc.com/odie


PHM I'm attempting to run Kiwi as a CGI script on TclHttpd as a experiment. Since my knowledge of Tcl is scant, and I've only just got TclHttpd running, I'd be grateful for any hints about how to do this properly -- 2002-03-06