<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>All your points are good and valid. We need to get our config and directory shit together.<BR>
 <BR>
We're trying to move to Nini configuration library for configuration settings.<BR>
 <BR>
Nini is an excellent framework for combining different types of settings, and supports cascading and defaults. I think you will find it gives you what you're asking for.<BR>
 <BR>
This said, it's a bad thing to pass a poorly typed config collection around the system; better to be explicit and specific about what each component needs to know to do its work, one you get down to actually instantiate something.<BR><BR>/Stefan<BR><BR>
<BLOCKQUOTE>
<HR id=EC_stopSpelling>
Date: Fri, 19 Oct 2007 07:18:46 -0700<BR>From: mic.bowman@intel.com<BR>To: opensim-dev@lists.berlios.de<BR>Subject: Re: [Opensim-dev] Globally avaibability of config options (?)<BR><BR>
<META content="Microsoft SafeHTML" name=Generator>
<STYLE>
.ExternalClass .EC_hmmessage P
{padding-right:0px;padding-left:0px;padding-bottom:0px;padding-top:0px;}
.ExternalClass EC_BODY.hmmessage
{font-size:10pt;font-family:Tahoma;}
</STYLE>

<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>what about a common class that reads the same config file that each component can instantiate? similar to the proposal for logging.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>personally, i'd like to see the following objectives for config:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>* single file OR single directory for all configuration information</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007>    <FONT face=Arial color=#0000ff>- single directory assumes consistent file naming conventions and common syntax across the files (to the extent its possible)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>* consistent method for overriding config through command line options</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>* ability to set all paths through the config files (move a bunch of the immediate strings into config vars)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007>    <FONT face=Arial color=#0000ff>- eg location of the asset/library initialization files, region/estate settings file names, default terrain</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff>right now configuration includes multiple formats (xml for regions & estatesettings & asset/library initialization, ini format for high level sim config), multiple directories (off bin including regions, script engines, terrain filters, etc), multiple naming conventions, etc. and most of this is embedded in immediate strings inside the code.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=EC_234320914-19102007><FONT face=Arial color=#0000ff></FONT></SPAN> </DIV>
<DIV><SPAN class=EC_234320914-19102007></SPAN><FONT face=Arial><FONT color=#0000ff>--mic</FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><SPAN class=EC_234320914-19102007></SPAN></FONT></FONT><BR> </DIV>
<DIV class=EC_OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR>
<FONT face=Tahoma><B>From:</B> opensim-dev-bounces@lists.berlios.de [mailto:opensim-dev-bounces@lists.berlios.de] <B>On Behalf Of </B>Stefan Andersson<BR><B>Sent:</B> Friday, October 19, 2007 6:03 AM<BR><B>To:</B> opensim-dev@lists.berlios.de<BR><B>Subject:</B> Re: [Opensim-dev] Globally avaibability of config options (?)<BR></FONT><BR></DIV>
<DIV></DIV>We try to follow a layering approach, and an 'tell don't ask' approach, which would mean that the application pulls out the settings and feed them to your code, typically thru constructor initialization.<BR> <BR>Code acessing global singletons tend to get tangly and difficult to follow.<BR><BR>/Stefan<BR><BR><BR>
<HR id=EC_stopSpelling>
<BR>> Date: Fri, 19 Oct 2007 08:37:38 +0200<BR>> From: Gerhard.Duennebeil@arcs.ac.at<BR>> To: opensim-dev@lists.berlios.de<BR>> Subject: [Opensim-dev] Globally avaibability of config options (?)<BR>> <BR>> Hello everybody,<BR>> <BR>> I'd like to have the ini-File-options (as well as maybe the commandline options) available in my piece of code, the meshing support for nono-trivial prim shapes.<BR>> <BR>> As a lot of its uses is completely local (debug behaviour, special settings, ...) there is no sense in distributing this through all layers between my code and the application.<BR>> <BR>> Hence it would make sense to create a global "Settings" object similar to the MainLog object.<BR>> <BR>> I can do that and create a patch for that but wanted to adress the issue before hand and get second opinions.<BR>> <BR>> Best regards<BR>> Gerhard<BR>> _______________________________________________<BR>> Opensim-dev mailing list<BR>> Opensim-dev@lists.berlios.de<BR>> https://lists.berlios.de/mailman/listinfo/opensim-dev<BR><BR></BLOCKQUOTE></body>
</html>