plone buildout and Products namespace

Martin Aspeli optilude at
Wed Oct 17 20:02:47 UTC 2007

Leonardo Rochael wrote:
> Not sure this is the right forum to reach those involved with the respective
> code...
> I've been playing with the plone3_buildout paste template and the recipes
> sets up for your buildout. Specifically the plone.recipe.distro buildout,
> which is also used by the plone.recipe.plone one for the non-eggified
> Products.
> Now that Zope officially declares Products to be a namespace, shouldn't we
> be setting up these recipes to put these distributed products in a Products
> namespace as well?

It doesn't do that in 2.10.4, as far as I know; I thought that was 
scheduled for 2.11, but maybe it made it into a point release?

> The change to the recipes is simple enough, just add a Products subdirectory
> to each part and an declaring the namespace before downloading
> and unpacking the products, and in the zope2instance recipe putting
> something like:

Right - we could (should) do this - but the longer term solution is to 
re-package products as eggs and install them like that. :)

> products =
>     ${buildout:directory}/Products <-- notice the capital P
>     ${productdistros:location}/Products
>     ${plone:products}/Products
> The benefit of this is enabling tools that understand python namespace
> packages to understand what is happening with the products in a buildout.

You need to make sure that having multiple parts using 
works still, but that shouldn't be too hard.

> One example of such a tool is the PyDEV extensions static code analysis
> tool, that scans python files to enable proper code completion.
> Would people be interested in such changes to the recipes and to the
> ZopeSkel template?

This sounds like a good idea. The only problem I see is that quite a lot 
of documentation (including, selfishly, my book) assumes the lowercase p 
in ${buildout:directory}/products. It probably isn't a huge deal to 
change it, but it would be a bit annoying.


Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See

More information about the Product-Developers mailing list