Ok Zoran, the important part first:

> I'm thinking about allowing *changes* to/of this repository
> during the runtime. This way one could override a ns_param
> value assigned at startup or create entirely new ns_section
> and stuff it with bunch of ns_param so others may call
> [ns_config] to get it.

I'm all for it if it is possible. It saves us server restarts for dumb issues 
like increasing maximum post sizes etc.

Problems: I can change stacksize to "0". I can tell fastpath to use 1 byte of 
memory instead 5 megs. Is memory freed? I guess it comes down to "You are 
able to change everything - but be sure you now what you are doing".




The other part: It would be nice to have the dictionary of config sections and 
options along with their defaults that is created when you set logmaxlevel 
to "6" (dev) or "5" (debug) in section ns/parameters...

-----------------------------------------------------------------

[...]
Debug: config section: ns/server/default
Debug: config: ns/server/default:realm value="(null)" default="default" 
(string)
Debug: config: ns/server/default:checkmodifiedsince value=(null) default=true 
(bool)
Debug: config: ns/server/default:flushcontent value=false default=false (bool)
Debug: config: ns/server/default:noticedetail value=(null) default=true (bool)
Debug: config: ns/server/default:errorminsize value=(null) min=-2147483648 
max=2147483647 default=514 (int)
Debug: config: ns/server/default:headercase value="(null)" default="preserve" 
(string)
Debug: config: ns/server/default:outputCharset value=(null) (string)
Debug: config: ns/server/default:HackContentType value=(null) (bool)
Debug: config: ns/server/default:urlCharset value=(null) (string)
[...]

-----------------------------------------------------------------

...available as TCL command like ns_configsections.
For the sake of the argument, e.g. "ns_startupconfigsections".

It must be the list created at server startup that DOES NOT CONTAIN entries 
like
    ns_section milly/vanilly
    ns_param fate 1

As far as I can tell this is possible because simply because a value was not 
requested by Ns_Config* (Int/Range whatever) commands means it is irrelevant 
for the server. At least in a sense of "get things right for startup". 
Default values are set by these commands.

I think the listing above does also only list those and would not list 
milly/vanilly section and options. Maybe it's already there.

Only then I am able to utilize TCL to diff and compare and return results 
like "milly/vanilly" section may be bogus or a typo. Or that 
parameter "stacksize" does not belong to section "fastpath". 

And, as a bonus, I can create a table of options, their defaults, types and 
minimum or maximum value.

Bernd.

Reply via email to