Document Actions
Send this page to somebody Print this page
Parte 1: Configuración de Python, Zope y Plone

1. Instalar Plone

  • Unified Installer
  • Buildout
  • Instalador p/windows
  • Paquetes de Distribuciones

Buildout

Buidlout automatiza el mantenimiento y configuración de entornos de desarrollo. Con buildout se crean entornos autocontenidos totalmente independientes entre si o replicar una aplicación completa junto con sus dependencias.

En algún sentido es similar a los mecanismos de paquetes de distribuciones como debian (deb) o redhat-like (rpm) pero tiene algunas diferencias sutiles:

  • Buidlout es independiente de plataforma. Solo requiere svn, python y un compilador C. Gracias a este punto se puede automatizar la creación de instancias zope/plone entre distintos sistemas operativos o distribuciones.
  • Buildout permite hacer tus propias "recetas". Una receta define que software y dependencias tiene, mientras que en una distro la tabla de dependencias está atada a la distribución.

Si se compara buildout con otros mecanismos, como por ejemplo usar unfied installer/codigo fuente, instalador para windows o paquetes de distribución:

caracteristicas
buildout unified installer
codigo fuente
instalador
windows
paquetes de distros
(debian, redhat, etc)
facilidad p/replicar instancias
++
--
--
-
automatización
de creación de instancias
++
-
-
+
manejo de actualizaciones
+
-- --
+
automatizacion de busqueda de dependencias por producto
++
--
--
-
flexibilidad para crear nuevas
configuraciones
+
-
-
--
soporte de la comunidad / productos de tercero
+
+
-
--

Referencias:

++ mucho

+ medio

- poco

-- nada



1.1. Dependencias

  • Python Image Library (en ubuntu python2.4-imaging)
  • Python Dev (en ubuntu python2.4-dev)
  • Libc (en ubuntu libc6-dev)

1.2. Instalando entorno local de Python

Virtualenv es una herramienta para crear entornos de Python aislados.

Para configurar virtualenv se debe seguir:
$ cd $HOME
$ mkdir proyecto ; cd proyecto
$ wget http://svn.colorstudy.com/virtualenv/trunk/virtualenv.py

$ python2.4 virtualenv.py python

$ ls python/bin/
activate easy_install easy_install-2.4 python2.4
$ source python/bin/activate

ZopeSkel

ZopeSkel es una collección de esqueletos para crear automáticamente paquetes e instancias en Zope.

Instalación:
$ cd python
$ bin/easy_install ZopeSkel
$ ls bin/
cheetah cheetah-compile easy_install easy_install-2.4 paster python

Uso:

$ bin/paster create --list-templates
Available templates:
archetype: A Plone project that uses Archetypes
basic_namespace: A project with a namespace package
basic_package: A basic setuptools-enabled package
basic_zope: A Zope project
nested_namespace: A project with two nested namespaces.
paste_deploy: A web application deployed through paste.deploy
plone: A Plone project
plone2.5_buildout: A buildout for Plone 2.5 projects
plone2.5_theme: A Theme for Plone 2.5
plone2_theme: A Theme Product for Plone 2.1 & Plone 2.5
plone3_buildout: A buildout for Plone 3 projects
plone3_portlet: A Plone 3 portlet
plone3_theme: A Theme for Plone 3.0
plone_app: A Plone App project

1.3. Creando una instancia de Zope con Plone 3

$ paster create -t  plone3_buildout plone3.buildout

$ cd plone3.buildout
$ python bootstrap.py

$ bin/buildout -v

$ bin/instance fg

$ bin/instance test -s plone.portlets

1.4 Terminología

  • Instalación Zope
  • Software home (variable de entorno $SOFTWARE_HOME)
  • Instancia Zope
  • Instance home (variable de entorno $INSTANCEHOME)
  • Python path (entorno de variable $PYTHONPATH, aka sys.path)
  • Paquete Python / Python package
  • Producto Zope
  • Python egg
  • Cheese Shop (aka PyPI, the Python Package Index)
  • easy_install
  • Namespace package

1.5 Buildout en detalle

  • bin
  • eggs
  • downloads
  • var
  • src
  • products
  • parts
Son almacenables en SVN.

La parte mas importante de buildout es buildout.cfg. Esta compuesto por secciones:
  • sección buildout

  • sección plone

  • sección zope2
  • sección productdistros
  • sección instance
  • sección zopepy

Opciones por defecto de buildout

  • executable
  • eggs-directory
  • download-directory
ejemplo: ~/.buildout/default.cfg
[buildout]
executable = /opt/python24/bin/python
eggs-directory = /home/username/.buildout/eggs
download-cache = /home/username/.buildout/downloads

1.6. Instalando productos Zope 2

[productdistros]
recipe = plone.recipe.distros
urls =
http://www.zope.org/Members/shh/DocFinderTab/1.0.2/DocFinderTab-1.0.2.tar.gz
http://plone.org/products/cachefu/releases/1.1/CacheFu-1.1.tgz
http://plone.org/products/clouseau/releases/0.8.1/clouseau-0-8-1.zip
http://plone.org/products/collage/releases/1.1/collage-1.1.tar.gz
http://weblion.psu.edu/static/products/cssmanager/cssmanager-0.9.1.tar.gz

nested-packages =
CacheFu-1.1.tgz

version-suffix-packages =
$ ./bin/buildout

1.7. Instalando paquetes eggs

eggs =
elementtree
collective.portletpage
plone.app.gloworm>=0.1a4,<0.1a5
webcouturier.dropdownmenu

...

zcml =
collective.portletpage
plone.app.gloworm
webcouturier.dropdownmenu


Mas Lectura:



Copyright (C) 2004-2007 Menttes - All Rights Reserved