Lain and Sakura

Icono

”One byte to rule them all’ – dtmf – old school

Development Environment en Plone

Para redactar este articulo use como guia el libro de Martin Aspeli ‘Professional Plone Development’. Puedes adquirirlo Aqui

Antes de comenzar a construir nuestra aplicacion, debemos armar nuestro entorno de desarrollo ( development environment)

Prerequisitos:

Paquetes precompilados de Zope y Plone estan disponibles para varios sistemas operativos. Estos mismos pueden ser de gran ayuda, pero como developers usualmente es mejor tener dominio de toda la configuracion de nuestro entorno de desarrollo.

Sera necesario lo siguiente para poder trabajar:

Python 2.4: Se asume que al escribir el comando python, la version del interprete sera la 2.4. Desafortunadamente, zope, en la version 2.10 no tiene soporte aun para Python 2.5. Notese que varias distribuciones de linux proveen dos paquetes para python, una conteniendo el binario y otra los headers files, llamados generalmente como python-dev o similar. Se precisaran ambos, el binario de Python2.4 y los header files para compilar Zope.

PIL: the Python Imaging Library deberia ser instalado con nuestro interprete. Cuando vimos como crear un virtual python environment al final del articulo logramos tener un interprete de python:

bash-3.1$ ~/.pyenv/bin/python
Python 2.4.4 (#1, Jun 15 2008, 17:41:52)
[GCC 4.2.3] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

Pues para instalar nuestras dependencias / requisitos como en este caso PIL, deberiamos proceder como se detalla a continuacion:

bash-3.1$ ~/.pyenv/bin/python /home/lain/.temp/PIL/setup.py install

Con esto, la libreria de PIL quedara instalada en el site-packages de nuestro pyenv.

Editor de texto: Se recomienda un editor de texto con soporte para python y highlighting para XML/HTML. Personalmente para maquinas con modestos recursos recomiendo vim y para aquellas maquinas mas poderosas recomiendo Eclipse (el IDE de java) con el plugin de PyDev.

elementtree: es una libreria que procesa XML, requerida por Plone al momento de iniciar. La mayoria de las distribuciones vienen con esta libreria. Tambien puede ser descargada de Aqui

Un Shell: Bash … zsh … lo que quieran siempre y cuando la sepan usar 🙂
Un cliente de Subversion: El clasico Subversion. Quiza hallan mejores opciones, comenten! 😀
Un compilador de C: Se necesita un compilador de C para compilar Zope. El venerable Gcc va de lleno en sistemas tipo UNIX.

Comienzo Veloz: (the quick way)

Si tienes los requisitos mencionados anteriormente y necesitas tener tu entorno de desarrollo en poco tiempo, aqui va la receta. Notese que el comando easy_install fue obtenido en el articulo virtual python environment

lain@lain:~$ ~/.pyenv/bin/easy_install-2.4 ZopeSkel

ZopeSkel son esqueletos / premoldes que nos ahorraran mucho trabajo, errores y lineas de codigo como veremos mas adelante.
Luego utilizamos paster, que fue instalado como dependencia de ZopeSkel para crear un nuevo buildout. Este directorio (el del buildout) contendra el codigo fuente y las dependencias, incluyendo el servidor de aplicaciones Zope.

lain@lain:~/.tmp$ ~/.pyenv/bin/paster create -t plone3_buildout ~/.mybuildout

Aqui utilizamos el comando paster al cual le pedimos que cree algo de tipo plone3_buildout en mi home, directorio .mybuilldout. La construccion y lo que debe hacer lo sabe a partir de ZopeSkel que lo instalamos anteriormente ;).
Al correr este comando, paster nos hara algunas preguntas las cuales podemos dejar por default, excepto cuando nos pida el password, el cual es escogido por nosotros para luego ingresar como administradores como veremos mas adelante. En mi caso:

Enter zope_password (Zope root admin password) [”]: changeme

Escojo el puerto 9999. Tener en cuenta que si ingresamos un puerto dentro del rango privilegiado (0 – 1024), la instancia debera correr como root (innecesariamente), el por ello que elijo como puerto el 9999.

Enter http_port (HTTP port) [8080]: 9999

Dejamos en off el modo de debug, luego podremos manualmente indicarle al iniciar la instancia de que deseamos que se encuentre en modo debug:

Enter debug_mode (Should debug mode be “on” or “off”?) [‘off’]: off

Finalizado el proceso nos encontraremos con el siguiente texto:

———————————————————–
Generation finished
You probably want to run python bootstrap.py and then edit
buildout.cfg before running bin/buildout -v

See README.txt for details
———————————————————–

En hora buena! tenemos nuestro buildout … ahora solo falta hacerlo funcionar!

Ingresamos a nuestro nuevo buildout

lain@lain:~/.tmp/home/lain$ cd ~/.mybuildout/

Corremos el bootstrap el cual nos creara unos scripts para luego armar nuestro buildout

lain@lain:~/.mybuildout$ ~/.pyenv/bin/python ./bootstrap.py
Creating directory ‘/home/lain/.mybuildout/bin’.
Creating directory ‘/home/lain/.mybuildout/parts’.
Creating directory ‘/home/lain/.mybuildout/eggs’.
Creating directory ‘/home/lain/.mybuildout/develop-eggs’.
Generated script ‘/home/lain/.mybuildout/bin/buildout’.

Tiempo de comenzar a armar nuestro buildout! 😀

lain@lain:~/.mybuildout$ ~/.pyenv/bin/python ./bin/buildout -v

En este momento comenzara a bajar e instalar y acomodar todo para dejarnos una instancia lista de nuestro plone3 :).
Terminado el proceso podremos arrancar nuestra instancia. Poniendo fg como parametro arrancara nuestra instancia en debug mode.

lain@lain:~/.mybuildout$ ./bin/instance fg

Una vez arrancado nuestro buildout ingresamos con un web browser a . En mi caso:

lain@lain: links http://190.17.108.37:9999/manage

Nos pedira un usuario y password. El usuario si no lo cambiaron en la construccion del buildout, es admin y el password es el que escogimos, en este articulo fue changeme.

Nos encontraremos con lo siguiente, la zmi! 😀  (zope manager interface)

Welcome to the Zmi

Desde ella, en el drop-down box donde dice AtContentTypes tool, escogemos Plone Site y luego click en Add. A lo que recibiremos la siguiente imagen:

Adding a New Plone Site

En el campo ID he puesto miplone. Como dice el field name, este sera el id de nuestro sitio, cual utilizaremos para luego acceder a nuestro sitio plone siendo la url en mi caso http://190.17.108.37:9999/miplone

En el campo Title he puesto Mi sitio Plone Personal, este sera el titulo de mi sitio. Luego podra ser cambiado :).

Finalizado esto damos click en el boton Add Plone Site … y … ingresamos la esperada url, en mi caso: http://190.17.108.37:9999/miplone teniendo como resultado … lo siguiente! 😀

Plone Site recently created

Esto es todo amigos … hemos creado desde cero nuestro buildout y tenemos nuestro sitio plone, quien quedara sujeto a todo tipo de pruebas mas adelante!.

Nos vemos en la proxima entrega 😛

Anuncios

Archivado en: Plone, Python

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: