Forum OpenACS Q&A: Refactoring AOLserver into libraries

Posted by Andrew Piskorski on
FYI, I happened to be looking through the AOLserver cvs sources for an unrelated reason, and noticed this in the ChangeLog:

2002-06-19  Jim Davidson <> 
  * include/ns.h: 
  * nsd/tclinit.c:  Added new Ns_TclCreateInterp() which 
  creates and initializes interps for server and non-server 
  interps (e.g., the config interp).  Interps are now 
  initialized with a call to Tcl_Init() which enables the 
  standard Tcl library procedures (e.g., unknown, http::, 
  * nsd/tclthread.c: 
  * nsd/tclcmds.c:  Thread and cache related commands no 
  longer require a server, exposing them in any interp created 
  with Ns_TclCreateInterp. 
  * nsd/server.c:  NsGetServer handles NULL server. 
  In general, the changes above are steps towards making the 
  AOLserver API's more useful outside the context of a server. 
  The idea is to enable use of libnsd for other applications, 
  e.g., shells interps. 
2002-05-15  Jim Davidson <> 
  * include/nsdb.h (new):  Moved the NsDb interface from core 
  to new nsdb module.  Simply loading should work as 
  before.  Goal is to enable full replacement of NsDb in the 

Now, I've no idea how far Jim and Kriston plan to take that, or how soon, but clearly the AOL team has at least some interest and has made at least some progress in refactoring the AOLserver code into libraries that can be used anywhere. And once that's done, it should be very cool indeed...