Forum OpenACS Q&A: Debugging Tcl
I have setup project-open and making some code changes in Tcl scripts, however they wouldn't get reflected in the page until I restart the nsd webserver
From what I read this scripting should be similar to ASP as in interpreted so changes should be reflecting instantly
Please help me with necessary config to get going
Thanks in advance
They are cached by Naviserver. To apply your amends, and get results instantly, you must put your library, or any other, in the watch list, by clicking in the link "Changed", in the developer's navigation header. Visit: /acs-admin/apm/?reload_links_p=1
A drastic option would be to restart NaviServer. Depending on the hardware, booting up a clean installation would be fast.
So, to write Tcl code and see the results instantly you can use the "Developer watch list", or write you can place your code within /www or /packages/your-pkg/www/
p.s. forget about ASP. not everything! :)
- "web pages" are interpreted on the fly. These are located roughly speaking in the "*/www/*" libraries of the server or the package. Also included parts of a page are (located typically in */lib/*) are loaded this way (see [1,2]).
- API: The definitions of the OpenACS API are reloaded upon request by a site-wide admin, typically via /acs-admin/apm/. It is possible to check for all changed files, or to reload the code package-wise. It is also possible to watch files (i.e. to reload these files automatically, when these are changed).
In rare situations, it is necessary to restart the server including
- version upgrades
- code which a loaded explicitly only once such as content of */tcl/*-init.tcl files
- code in special purpose threads (scheduled procedures) in versions up to OpenACS 5.9.1. This has changed in the forthcoming OpenACS 5.10.* version (see dynamic reloading reform in )