6. Roll Your Own
• Installer
• ZopeSkel
s ixf eet up. c om/ i mme r se
7. ZopeSkel
$ easy_install ZopeSkel
$ paster create --list-templates
...
plone3_buildout: A buildout for Plone 3 projects
$ paster create -t plone3_buildout mybuildout
s ixf eet up. c om/ i mme r se
9. Syntax
[buildout]
parts = zope2 instance
# copied from dist.plone.org/release
extends = plone-versions.cfg
versions = versions
[zope2]
recipe = plone.recipe.zope2install
url = ${versions:zope2-url}
fake-zope-eggs = True
additional-fake-eggs = ZODB3 ZConfig
[instance]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
user = admin:admin
eggs = Plone
s ixf eet up. c om/ i mme r se
10. Advanced Syntax
Variable Substitution
${part:option}
${zope2:location}
${buildout:directory}
option = ${buildout:directory}/somefolder
Option Addition and Removal
options = foo bar
options += baz
options -= foo
s ixf eet up. c om/ i mme r se
16. mybuildout
|
|-buildout.cfg
|-versions.cfg
[buildout]
...
extends =
http://dist.plone.org/release/3.2.2/versions.cfg
versions.cfg
versions = versions
s ixf eet up. c om/ i mme r se
20. Baby Steps
$ cd path/to/mybuildout
$ python2.4 bootstrap.py
Creating directory 'mybuildout/bin'.
Creating directory 'mybuildout/parts'.
Creating directory 'mybuildout/develop-eggs'.
Generated script 'mybuildout/bin/buildout'.
$ bin/buildout
$ bin/instance start
s ixf eet up. c om/ i mme r se
21. Options
• -v and -q
• increase and decrease verbosity
• -n and -N
• Newest and non-newest modes
• -O and -o
• online and offline mode
• -t
• socket timeout
s ixf eet up. c om/ i mme r se
22. Update your buildout
$ bin/buildout -v
$ bin/buildout -Nvvv
$ bin/buildout -No
$ bin/buildout -t 10
s ixf eet up. c om/ i mme r se
23. Assignments
$ bin/buildout instance:debug-mode=on
$ bin/buildout buildout:log-level=70
$ bin/buildout -N instance:debug-mode=on -v
$ bin/buildout -Nv plonesite:enabled=false
$ bin/buildout plonesite:site-replace=true
s ixf eet up. c om/ i mme r se
24. Commands
$ bin/buildout install
$ bin/buildout -Nv install zope2 instance
$ bin/buildout -nv install instance
s ixf eet up. c om/ i mme r se
25. What did we learn?
• What is buildout?
• How to get one
• Syntax
• Pinning
• Recipes
• Command line usage
s ixf eet up. c om/ i mme r se
26. Links
• http://buildout.org
• http://pypi.python.org/pypi/zc.buildout
• https://svn.sixfeetup.com/svn/public/buildout/debug.cfg
• http://www.sixfeetup.com/swag/buildout-quick-reference-card
• http://plone.org/documentation/tutorial/buildout
• http://pypi.python.org
s ixf eet up. c om/ i mme r se
27. Learn Plone by building a website from A to Z
1 non-profit project • 10 workshops • 14 mentors • 3 days
s ixf eetup.com/im merse
Register by June 30th
and save $255!
28. Photo Credits
• http://flickr.com/photos/monsieurlam/2645956083/
• http://flickr.com/photos/_boris/2796908072/
• http://flickr.com/photos/b-tal/163450213/
• http://flickr.com/photos/bullish1974/2648544508/
• http://flickr.com/photos/haydnseek/87432002/
• http://flickr.com/photos/disowned/1158260369/
• http://flickr.com/photos/7603557@N08/2662531345/
• http://flickr.com/photos/julishannon/2151986631/
• http://flickr.com/photos/julishannon/2152778524/
• http://flickr.com/photos/lollyknit/1155225799/
• http://flickr.com/photos/binary_koala/86227485/
• http://flickr.com/photos/marcoveringa/2951042391
s ixf eet up. c om/ i mme r se