<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2176/25/9/_/styles/combined.css?spaceKey=AST&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><s>Configuration File Documentation Idea</s></h2>
     <h4>Page <b>removed</b> by             <a href="https://wiki.asterisk.org/wiki/display/~mjordan">Matt Jordan</a>
    </h4>
     <br/>
     <div class="notificationGreySide">
         <h3><a name="ConfigurationFileDocumentationIdea-Theidea"></a>The idea</h3>

<p>Having the options described in the configuration files is unwieldy. It leads to huge config files that obscure your actual configuration. Why not have a small, sane set of defaults and have man pages which describe the options available. This is very similar to other software packages (nfs, dhcp, ssh, etc.).</p>

<h5><a name="ConfigurationFileDocumentationIdea-Takeittothenextlevel"></a>Take it to the next level</h5>

<p>It was suggested in #asterisk-dev that the code that parses the configuration files could register the options they're looking for. These options could then be verified at run/load/reload time and deprecated or incorrect settings flagged immediately. This could also serve as a means to query/update configuration settings and have the changes trickle back down to the set of config files.</p>

<p>(it's not limited to config-file based configuration either though... if this were abstracted enough we could use db-based backends too.</p>

     </div>
</div>
</div>
</div>
</div>
</body>
</html>