<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>