Tuesday, August 5, 2008

Desarrollo y Despliegue en zope2+Plone3

A continuación sigue como desarrollar y desplegar un sitio basado en zope 2 y Plone 3 usando egg.

Instalar el entorno virtual

Como siempre comenzamos instalando un entorno virtual para trabajar con comodidad

# con una version previa de easy_install, instalar virtualenv
$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python2.4 ez_setup
$ sudo easy_install-2.4 virtualenv

# crear el entorno virtual de python

# y comenzar a trabajar en el
$ virtualenv ~/entorno
$ cd ~/entorno
$ source bin/activate

Instalación del Zope 2 y Plone 3

Luego instalamos ZopeSkel, que nos generará un buildout.cfg que se adaptará al tipo de proyecto de zope2 que querramos:
$ easy_install ZopeSkel

Podemos ver que clase de proyectos podemos crear con ZopeSkel del siguiente modo:
$ paster create --list-templates

Luego creamos el proyecto zope2+plone3 propiamente, hacemos el bootstrap y el buildout:
$ paster create -t plone3_buildout myPlone
$ cd myPlone
$ python bootstrap
$ bin/buildout
Posteriormente podremos usar la opción -No en el buildout para que no chequee que cada egg bajado tenga la última versión.

Para arrancar el zope:
$ bin/instance fg

Despliegue

Como ya es costumbre, los productos que deseemos agregar a nuestra instancia se agregan a la variable egg de buildout.cfg y se vuelve a reconstruir el proyecto. Si el producto tiene algún archivo de configuración zcml, este debe ser agregado en la sección zcml.

Los eggs de desarrollo deben ser registrados tanto en eggs, como en la variable develop.

Desarrollo

Para desarrollar un egg, se usa de nuevo paster en el directorio src de la instancia en cuestion:
$ paster create -t plone mi.producto

Como siempre las dependencias de este producto van en su setup.cfg.

No comments: