<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2166/18/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><a href="https://wiki.asterisk.org/wiki/display/AST/Configuration+File+Documentation+Idea">Configuration File Documentation Idea</a></h2>
    <h4>Page  <b>added</b> by             <a href="https://wiki.asterisk.org/wiki/display/~akohlsmith">Andrew Kohlsmith</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 id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;" class="grey">
                        <a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST">Stop watching space</a>
            <span style="padding: 0px 5px;">|</span>
                <a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
       <a href="https://wiki.asterisk.org/wiki/display/AST/Configuration+File+Documentation+Idea">View Online</a>
              |
       <a href="https://wiki.asterisk.org/wiki/display/AST/Configuration+File+Documentation+Idea?showComments=true&amp;showCommentArea=true#addcomment">Add Comment</a>
           </div>
</div>
</div>
</div>
</div>
</body>
</html>