<p>For the record:</p>

<p>To get the examples as described in Chapter 5 to work... </p>

<p>If you attempt to write your own variation, run a context diff between your own version and Mr. Aspeli's version posted on the Packt web site (in hindsight... pretty obvious). Doing so, I discovered:</p>

<ul>
<li>remove src/optilux.policy/optilux/policy/tests.py as generated by the paster plone template. I'm sure tests.py is a valid alternative; but it appears to mask anything contained in src/optilux.policy/optilux/policy/tests/. You will see errors like: "object has no attribute 'test_suite'"</li>

<li>modify src/optilux.policy/optilux/policy/__init__.py to contain:

<pre>
def initialize(context):
    """Intializer called when used as a Zope 2 product."""
</pre>

I don't know python well enough to know what this is for (it does not appear in the book); but clearly it maps to the entry you need to add in src/optilux.polilcy/optilux/policy/configure.zcml (an addition I overlooked):

<pre>
&lt;five:registerPackage package="." initialize=".initialize" /&gt;
</pre>
</li>
</ul>

<p>I apologize if this has been discussed previously, but I couldn't find it. Perhaps another mention will make it easier to search.</p>
<br><hr align="left" width="300">
View this message in context: <a href="http://www.nabble.com/Problem-creating-first-product-tp17310880s20094p17331967.html">Re: [Product-Developers] Problem creating first product</a><br>
Sent from the <a href="http://www.nabble.com/Product-Developers-f20094.html">Product Developers mailing list archive</a> at Nabble.com.<br>