Upgrading from mod_dtcl or NeoWebScript

Rivet is a break from the past, in that we, the authors, have attempted to take what we like best about our past efforts, and leave out or change things we no longer care for. Backwards compatibility was not a primary goal when creating Rivet, but we do provide this information which may be of use to those wishing to upgrade from mod_dtcl or NWS installations.


Rivet was originally based on the dtcl code, but it has changed (improved!) quite a bit. The concepts remain the same, but many of the commands have changed.


NWS was a server-side scripting environment based on the Apache HTTP server and Safe-Tcl and it's not maintained anymore.

The biggest difference between Rivet and Neowebscript is that Neowebscript was designed for shared hosting while Rivet is more oriented toward a site that owns all of its content. In the words of Karl Lehenbauer, NWS author and Rivet Team member:

Rivet, however, is considerably more efficient, powerful, and evolved, though it still can support multiple independent sites on a single machine through its separate virtual interpreters mechanism.

  • By powerful, the difference is that the full power of Tcl is available to webpage authors, not the restricted version that NWS provides. For instance, you can read or write any file in the system that you have permission to, require any package, open sockets and pipes, etc.
  • By efficient, the difference is that Tcl interpreters survive past the generation of a webpage and are reused again and again, reducing the overhead of generating a page.
  • By evolved, all of our efforts have gone toward Rivet for many years and so, you know, Rivet does more out of the box than Neowebscript did.