[Zope-dev] Re: ploneout - Or how using zc.buildout for a common Zope2 project might look like

Philipp von Weitershausen philipp at weitershausen.de
Tue Jan 23 10:46:35 EST 2007


Martin Aspeli wrote:
> I've been playing with this a bit over the past couple of days, and it's 
> now in a state where I understand what's going on and I feel that I may 
> well try to use it in a real project. It still needs a bit of work 
> (notably, the testrunner is struggling to run tests for things in the 
> Products/ directory) and lots more testing, but if you're at all 
> interested in this, now would be a great time to get involved.
> 
> I've put up some documentation here:
> 
>    http://dev.plone.org/plone/browser/ploneout/trunk/README.txt
> 
> To use it, you should just have to do this:
> 
>   $ svn co https://svn.plone.org/svn/plone/ploneout/trunk ploneout
>   $ cd ploneout
>   $ python boostrap.py
>   $ ./bin/buildout -v

This is awesome, and by that I don't mean the fact that we have a plone 
buildout, but that we actually have Zope 2 recipes for buildout. I hope 
they can be moved to svn.zope.org for further development to benefit the 
whole Zope 2 community.

I also see that workingenv was abandoned. That's very good to hear 
because buildout has a lot of machinery for installing eggs already, it 
would just've been duplicated with workingenv...

> Depending on how svn.zope.org is feeling, that may take a while and it 
> uses a lot of space (since it does a full Zope 2 checkout). I would like 
> to explore options for using a different/common Zope 2 checkout and for 
> using a tarball instead of svn to get Zope 2.10 in the future.
> 
> In any case, once that's all done, you can do:
> 
>   $ cd parts/instance
>   $ ./bin/zopectl fg

gocept's Zope 3 instance recipe actually installs a script into the 
top-level bin directory, so you can do:

   $ bin/buildout
   ...
   $ bin/instance fg

Where 'instance' is the name of the instance configuration section in 
buildout.cfg. So, if you have multiple instances, you can start them all 
with according scripts from 'bin'.

It'd be really cool if z2c.recipe.zope2instance would do the same. To be 
frank, I think having to mess around in 'parts' sucks. I would even 
argue that app data like logs, databases, etc. shouldn't be in 'parts' 
either. You should be able to delete 'parts' and lose nothing 
(disclaimer: this is my view, not sure how "Buildout Jim" see it ;)).

> This is a bonafide Zope 2 instance, but note that the products directory 
> is actually ploneout/products ($INSTANCE_HOME/Products is not used), 
> Data.fs will be placed in ploneout/parts/filestorage (so that buildout 
> doesn't delete it when it wipes the instance), and various eggs are in 
> play found inside ploneout/eggs (those downloaded automatically by 
> buildout) and ploneout/develop-eggs (those originally found in 
> ploneout/src).
> 
> Thanks to Hanno for doing 99% of the work on all this. :)

Yeah! We all owe beers to Hanno.


-- 
http://worldcookery.com -- Professional Zope documentation and training
2nd edition of Web Component Development with Zope 3 is now shipping!



More information about the Zope-Dev mailing list