<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 28/02/13 18:31, Nicolas Charles
      wrote:<br>
    </div>
    <blockquote cite="mid:512F946C.5000601@normation.com" type="cite">On
      28/02/2013 12:31, Michael Gliwinski wrote:
      <br>
      <blockquote type="cite">Hi all,
        <br>
      </blockquote>
      Hi Michael,
      <br>
      <br>
      <blockquote type="cite">
        <br>
        I read the new Best Practices doc, looks fantastic, really like
        the file
        <br>
        splitting convention :)
        <br>
        <br>
        Also had a look at the sshConfiguration in master and can't wait
        to migrate to
        <br>
        2.5 to use the new common reporting helpers :D
        <br>
      </blockquote>
      \o/
      <br>
      <blockquote type="cite">
        <br>
        Also a couple of questions, just to better understand
        intentions, etc.
        <br>
        <br>
        1. prefixing variables with "rudder_" or
        "rudder_<technique_name>_"; given
        <br>
        that to reference variables from other bundles you have to do
        <br>
        "rudder_<technique_name>_<action>.<variable>"
        anyway, is that necessary?
        <br>
      </blockquote>
      That's a good point, maybe we've been overzealous on this
      convention. I think we could use only rudder_ to prevent overly
      long variable names
      <br>
    </blockquote>
    <br>
    Why use any prefix for variable names? Their scope is local to each
    bundle, so there is no risk of name collision. We can just called
    variables "thing", and since the bundles are all named
    "rudder_<technique_name>_*", the fully qualified variable name
    will contain rudder_, like "rudder_<technique_name>_*.thing".<br>
    <br>
    Dropping the requirement to prefix variable names seems altogether
    more lightweight to me, making code easier to read, and not bringing
    any real risks.<br>
    <br>
    <br>
    <blockquote cite="mid:512F946C.5000601@normation.com" type="cite">
      <blockquote type="cite">
        3. config.st:
        <br>
        <br>
        3a. is the idea to aggregate various variables used within
        different bundles
        <br>
        in a technique in one place?  (sounds neat)
        <br>
      </blockquote>
      Variables defined by Rudder must only go in this file, so yes, the
      idea is to have all variables there
      <br>
    </blockquote>
    <br>
    All *StringTemplate* variables from Rudder that is. However, any
    "pure" CFEngine variables should not be in this bundle, but in the
    main bundle that does stuff.<br>
    <br>
    The intention behind this is to separate files so that some files
    contain *only* CFEngine code, with no Rudder specificities, in order
    that they could one day be reusable by simply calling the bundle via
    a CFEngine methods promises (think one Technique depending on
    another...). So this way, we put all Rudder specific stuff (String
    Template variables and reporting) in separate bundles.<br>
    <br>
    This should also encourage code sharing with pure-CFEngine users.<br>
    <br>
    Thanks for your comments Michael, it's great to see your interest
    and have some feedback on this! By the way, if you like, we can give
    you write access to the wiki page, so you can clarify some of these
    points if you'd like?<br>
    <br>
    Jonathan<br>
    <br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      <style type="text/css">
<!--
   a.redlink:link { color: #962322; }
   a.redlink:visited { color: #962322; }
  .sig { font-family: sans-serif; font-size: small; }
  .sigsmall { font-family: sans-serif; font-size: x-small; }
-->
</style>
      <table border="0" cellpadding="0" cellspacing="2" width="380">
        <tbody>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><b><img alt=""
                  src="cid:part1.03090304.07050008@normation.com"
                  align="left" height="50" hspace="10" width="50">
                <span class="sig">Jonathan CLARKE</span></b><br>
              <span class="sig"><i>CTO - Directeur technique</i></span><br>
              <span class="sig"><a class="redlink"
                  href="http://www.normation.com">Normation</a></span> </td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><span class="sigsmall"><b>87 rue de Turbigo,
                  75003 Paris, France</b></span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Telephone:</span></td>
            <td><span class="sigsmall">+33 (0)1 83 62 41 24</span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Mobile:</span></td>
            <td><span class="sigsmall">+33 (0)6 99 60 03 10</span></td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>