Forum OpenACS Development: Re: ANNOUNCE: NaviServer 4.99.9 available
A question for the sake of my curiosity: What's your use case for the ns_urlspace stuf?
Nice to hear from you! The SQL logging feature could be done as well via pg logging, but it was always some effort to associate the entries of the pg-log with entries in the error log (if there are such entries) or with the causing query. With this change, that is not an issue anymore.
The db pool stats are particularly useful when monitoring multiple installations with varying loads (e.g. via munin). it can happen e.g. that a configuration which is running 90% perfectly might run out of db-handles, or might see a spike in SQL response times (see e.g. below). ...
One other interesting case for logging and db-stats is to get feedback, which queries run in which pool, and whether one has enough handles per pool, etc. The actual version of the nsstats modules reports the db-stats as well.
The actual driving force for ns_urlspace stuff was user tracking on certain pages (with blacklisting). One nice feature of the url-space is to associate some data to certain path ("folder") that can be inherited by all nodes under that "folder". One obvious use-case is access control: it is now possible to implement something like the nsperm module now in Tcl. Another interesting area is templating, where one can assign master templates to nodes in the tree (like "subsites") which are inherited to all the pages below this point.
Since we try to stay close the the released versions of the code, we are just starting to use these features. For obvious reasons, ns_urlspace is not used in OpenACS yet. However, in our own packages, we have several places, where urls are checked with e.g. [string match ...], these are obvious places where ns_urlspace offers a cleaner solution.