Notas de Plone

How-to, tutorial y formacion en español

Diazo standalone server: crear theme Plone 2 y 3

with one comment

Caso de uso: el cliente quiere una nueva skin para su portal Plone 3 sin tocar nada y sin hacer una actualización de la versión Plone.
¿Cómo hacer cosas si Diazo (el manipulador XSLT que nació de la comunidad Plone) fuciona también gracias a plone.app.theming, un paquete disponible solo para Plone 4.1?

Hasta Plone 3 se podía utilizar XDV pero es una tecnología que ya no está soportada y desarrollada por la comunidad plone.

Tengo tres opciones:

  • utilizar XDV y collective.xdv:
      • pro: compatibildad maxima entre Plone y XDV por collective.xdv
      • contro: xdv no esta mas suportado y ofrece menos flexibilidad respecto a Diazo
  • utilizar y “forzar” Diazo para Plone3:
      • pro: se podría hacer un “fork” del paquete collective.xdv y ofrecer una integración de Diazo con Plone por este fork
      • contra: collective.xdv esta escrito para XDV por la comunidad plone: existirá una razón por la cual ya no está soportado… ¿no crees? O.o
  • migración del portal a Plone 4:
      • pro: ¡sí que se puede utilizar Diazo y plone.app.theming! ¡Yuuu! 🙂
      • contra: ¡¿Una migración gratis?! ¡¿¿Eh??! -.-

Existe una cuarta manera: ¡Diazo como standalone server! Así puedo utilizar el poderoso Diazo y su flexibilidad pero sin una integración plena con las variables de Plone.
¡Si el portal de mi cliente no utiliza cosas complejas y addons, entonces sí que se puede trabajar con Diazo standalone!

Prácticamente Diazo se pondrá como un servicio autónomo (con puerta propia 5000 por ej.) mientras que Plone seguirá con su propia puerta (8080). Entonces la cadena será:
Apache > Cache > DIAZO > ZeoCluster > Plone

¡Vamos!

Primera cosa: crear un nuevo buildout solo para Diazo y editar el fichero buildout.cfg asì:

[buildout]
 extensions = buildout.bootstrap
 parts = diazo
[diazo]
 recipe = zc.recipe.egg
 eggs =
 Diazo
 PasteScript
 PasteDeploy
 WebOb
 repoze.xmliter

Y después vamos a crear el fichero diazo.ini (fichero de configuración):

[server:main]
use = egg:Paste#http
host = 127.0.0.1
port = 5000
[composite:main]
use = egg:Paste#urlmap
/static = static
/ = default
[app:static]
use = egg:Paste#static
document_root = %(here)s/static
[pipeline:default]
pipeline = theme
           content
[filter:theme]
use = egg:diazo
absolute_prefix = http://localhost:5000
rules = %(here)s/static/rules.xml
notheme =
 /emptypage
debug = true
live= true
[app:content]
use = egg:Paste#proxy
address = http://localhost:8080/VirtualHostBase/http/localhost:5000/istanzaplone/VirtualHostRoot/
suppress_http_headers = accept-encoding

Notas:

  1. La sección server:main está puesta para la configuración del proceso Diazo
  2. La carpeta “static” se utiliza para los ficheros “binarios” como: css, imágenes, etc. Y también los ficheros de template y reglas xml
  3. La pipeline define la cadena que se utilizará para mostrar el output a l’usuario
  4. Filter:theme tiene parámetros útil al tema. “Absolute prefix” es útil para hacer rewrite rule on-the-fly de los urls
  5. app:content define el proceso de “temizar”

Y entonces ponemos en marcha el servidor:

bin/paster serve --reload diazo.ini

Written by vito80ba

enero 2, 2012 at 8:47 am

Publicado en plone

Tagged with ,

Plone: primeras preguntas y respuestas

leave a comment »

Muchas veces tengo que contestar a preguntas “clásicas” como: ¿qué es Plone? ¿Puedo instalarlo sobre mi servidor php+mysql? etc.

Como ya hice para el portal italiano de plone, aquí pongo un listado de las primeras preguntas sobre plone.

¿Qué es Plone?

Plone es un CMS creado por el framework Zope y escrito en Python.

Ok pero, ¿qué es un CMS?

CMS significa Content Management System. Es un sistema de gestión de contenidos, ya sean simples páginas, imágenes, archivos PDF o cualquier cosa que se puede entender como “documento digital”.

¿Y Zope?

Zope es un framework para el desarollo de aplicaciones web. Una plataforma sobre la cual poner sistemas web complejos como, por ejemplo, los CMS.

Lee el resto de esta entrada »

Written by vito80ba

noviembre 16, 2010 at 7:41 am

Publicado en plone

Tagged with , , ,

Plone 4 esta aquì :)

leave a comment »

https://launchpad.net/plone/+milestone/4.0

Muchas novedades, mucha gana de comprobar la nueva release final!

Written by vito80ba

agosto 30, 2010 at 7:53 am

Publicado en plone

Gestionar los idiomas en un producto propio Archetypes

with 2 comments

Cuando se crea un producto nuevo en Plone es necesario gestionar ficheros “po” y “pot” para garantizar la correcta maquetación de idiomas, incluido el proprio (sí, incluso si no quieres traducir las etiquetas).

Para tener exito tenemos que utilizar “i18ndude”. Es una pequeña aplicacion desarrollada en python que permite obtener ficheros/diccionario elaborando los archivos de eggs.

Lee el resto de esta entrada »

Written by vito80ba

mayo 10, 2010 at 4:25 pm

Publicado en plone

Tagged with , ,

Agregar una imagen descriptiva como atributo de una página

leave a comment »

Muchas veces nos gustaría poner una imagen descriptiva de un objeto como atributo para obtener un listado con título e imágenes.

Utilizo el verbo condicional porque cuando se usa la vista “folder summary view” se consigue un listado de objetos+imágenes sólo si los objetos son de tipo “noticia” o “evento”. Pero existe una solución para agregar una imagen descriptiva como atributo de un objeto diferente de “noticia” o “evento”: collective.contentleadimage 🙂

Lee el resto de esta entrada »

Written by vito80ba

marzo 31, 2010 at 10:25 am

Publicado en plone

Tagged with ,

Plone4 por paster!

with 3 comments

¡Instalar Plone 4 por paster ahora esta posible!

Plone 4 tiene muchas novedades que merece la pena ver y probar, y además creo que la cosa más importante a considerar es la velocidad: ¡es 4 vez más rápido! Sin embargo, ¡un plonista debe mantener obligatoriamente plone4 instalado en su ordenador! 😉 Lee el resto de esta entrada »

Written by vito80ba

marzo 22, 2010 at 8:41 am

Publicado en plone

Tagged with

Cómo gestionar los templates dentro de Plone4

with 2 comments

Gracias a Denys Mishunov para sus valiosos consejos.

Plone 4 será una pequeña revolución para el mundo de nuestro CMS preferido, trayendo muchímas mejorías y una reforma del código fuente (también gracias a python 2.6). Tenemos no obstante que recordar que un cambio así de grande significa un cambio de nuestro enfoque al desarollo dentro de plone.

En primer lugar lo que ha sido prácticamente reinventado es el main_template.pt, el template de los templates, por eso tienes que ser muy claro que si has construido un portal modificando (argh!) este fichero te esperan muchas horas de trabajo más para una migración plone3 -> plone4.

Lee el resto de esta entrada »

Written by vito80ba

febrero 15, 2010 at 11:06 am

Publicado en plone

Tagged with