Contenu du fichier de configuration principal
Le fichier buildout.cfg contient les paramètres qui seront utilisés pour installer les modules nécessaires.
Le texte affiché en gras correspond au contenu du fichier.
Les lignes précédées d'un # sont des lignes mises en commentaire.
Ci-dessous une partie du fichier :
[buildout]
extends =
variable.cfg
Le paramètre "extends" permet d'inclure le contenu d'un autre fichier. Le fichier "variable.cfg" contient des informations plus variables comme le port de connexion, le nom de l'administrateur zope, son password, etc.
parts =
# plone
# zope2
productdistros
svnproducts
omelette
instance
zopepy
Le paramètre "parts" décrit les différentes sections qui vont constituer la recette globale.
Les sections "plone" et "zope2" sont désactivées ici car nous choisissons de ne pas les réinstaller dans ce buildout mais plutôt d'utiliser les outils Zope et Plone déjà installés sur le système.
Lors de la récupération des produits mentionnés dans le fichier de configuration, chaque section définie dans "parts" correspondra à un sous-dossier créé dans le dossier parts sur le système de fichier.
eggs =
elementtree
appy.pod
appy.shared
Le paramètre "eggs" permet de définir les produits python disponibles sous forme d'oeufs à partir du site http://pypi.python.org.
[plone]
recipe = plone.recipe.distros
urls = http://launchpad.net/plone/2.5/2.5.5/+download/Plone-2.5.5.tar.gz
nested-packages = Plone-2.5.5.tar.gz
[zope2]
recipe = plone.recipe.zope2install
url = http://www.zope.org/Products/Zope/2.9.8/Zope-2.9.8-final.tgz
Comme les sections zope2 et plone ont été désactivées dans le paramètre "parts", elles ne sont pas utilisées. Sinon la version 2.5.5 de Plone auraient été téléchargée et installée ainsi que la version 2.9.8 de Zope.
[productdistros]
recipe = plone.recipe.distros
urls =
http://plone.org/products/atgooglemaps/releases/0.5.2/ATGoogleMaps-0.5.2.tar.gz
http://plone.org/products/clouseau/releases/0.8.1/clouseau-0-8-1.zip
http://www.zope.org/Members/shh/DocFinderTab/1.0.2/DocFinderTab-1.0.2.tar.gz
http://plone.org/products/ploneformgen/releases/1.2.3/pfg-1-2-3-scriptablefields-1-1-1.tgz
...
nested-packages =
pfg-1-2-3-scriptablefields-1-1-1.tgz
La section "productdistros" contient les produits Plone à télécharger sous forme de fichier distribuable (compressé).
[svnproducts]
recipe = infrae.subversion
urls =
http://svn.plone.org/svn/collective/ATPhoto/trunk ATPhoto
http://svn.plone.org/svn/collective/CMFSin/trunk CMFSin
http://svn.communesplone.org/svn/communesplone/contacts/trunk contacts
http://svn.communesplone.org/svn/communesplone/Container/trunk Container
...
La section "svnproducts" contient les produits Plone à télécharger à partir d'un repository subversion.
[omelette]
recipe = collective.recipe.omelette
eggs = ${instance:eggs}
products = ${instance:products}
La section "omelette" permet de rassembler dans le dossier parts/omelette les différents produits Plone récupérés par différentes méthodes. En fait ce dossier contiendra des liens vers les produits se trouvant dans d'autres dossiers.
[instance]
products =
${buildout:directory}/products
${productdistros:location}
${svnproducts:location}
# ${plone:location}
/srv/Plone-2.5.5
La section "instance" contient des paramètres relatifs à l'instance zope qui sera créée. Le paramètre "products" reprend les différents dossiers qui contiendront les produits. Comme nous n'utilisons pas la section "plone", la ligne ${plone-location} est mise en commentaire. Le dossier contenant Plone est spécifié explicitement.