Agregando módulos y complementos adicionales a Plone

Autor(es):Leonardo J. Caballero G.
Correo(s):leonardocaballero@gmail.com
Lanzamiento:0.1
Fecha:16 de Feb del 2013

En esta articulo busca explicar la instalación de módulos y complementos adicionales a Plone 3 y Plone 4, además de no ser una guía paso a paso simplemente es una referencias sobre las diversas formas de hacer esto.

¿Cómo agrego productos específicos al sitio Plone?

Para la mayor comprensión de este manual cada vez que nos refiramos a un producto estaremos hablando de plugins para los que usen WordPress o módulos para los que usen Joomla o Drupal, también debemos tomar en cuenta que los temas o pieles en Plone los tratamos como un producto. dicho esto bienvenidos a la magia de personalizar su sitio Plone

Usted probablemente quiere agregar productos en su sitio Plone, como un apariencia visual o temas distinto a la predeterminada, o agregar un foro de discusión, integrar con otros servicios como Bases de Datos, LDAP, Lista de correo, entre otros.

Terminología

Hay que entender varios conceptos antes de continuar tales como Paquete Python, Productos, Producto Zope, Producto Plone, paquetes Egg y Collective.

Tipos de productos disponibles

Teniendo en cuenta los conceptos previos, entonces existen muchos Productos distribuidos como Productos Zope o paquetes Egg, pero ahora hay que saber que tipo de producto están disponibles para instalar y ampliar las funcionalidades de Zope/Plone, a continuación se describe una lista de estos:

Temas / Apariencias
Por lo general si un producto de Tema esta bien diseñado y implementado debe aplicarse de una ves al momento de instalarlo. En caso que no se aplique de una puede acceder a la sección Configuración de Temas y cambiar el Tema predeterminado por el de su gusto.
Tipos de contenidos
Los tipos de contenidos son productos que extienden la funcionalidad de Agregar elemento que permite agregar nuevos tipos de registros (Contenidos) a tu sitio. Esto quiere decir que si instala un tipo de contenido exitosamente debería poder acceder a usarlo desde el menú de Agregar elemento en el sitio Plone. Opcionalmente algunos productos instalan un panel de control del producto que puede acceder a este en la sección Configuración de Productos Adicionales.
Productos Zope
Este tipo de productos esta disponibles desde la interfaz administrativa de Zope (ZMI) de su instalación donde deben acceder con las credenciales del usuario Administrador de Zope. Muchas veces el producto simplemente no hay que instalarlo por que se agregar automáticamente.

Recomendaciones para agregar productos

Al momento de buscar que producto a instalar, proceda de la siguiente forma:

  • Consulte la sección llamada Add-on Product Releases del sitio Plone.org, donde podrá conseguir información de los productos adicionales realizados por terceros o miembros de la comunidad, muchos de los productos disponibles en esta sección son productos “al viejo estilo” así que debe configurar la dirección de descarga en la sección [productdistros] como previamente se explico. Hasta Febrero de 2001 hay más de 1503 proyectos de productos de terceros con 4755 publicaciones disponibles en el sitio Web de Plone.
  • Si quiere gestionar con su buildout la instalación de los paquetes eggs puede usar como referencia el sitio Python Package Index (PyPI) seleccionar los nombres de paquetes eggs y agregarlo en la sección eggs y zcml respectivamente.
  • Si no esta disponible ni Add-on Product Releases del sitio Plone.org ni en el sitio Python Package Index (PyPI), consulte el repositorio SVN Collective y debe realizar un svn checkout al directorio trunk/ o al directorio tags/ del producto de la versión estable que necesita utilizar dentro del directorio ./src/ y luego configurarlo como se describe previamente en la sección llamada Agregando un paquete “desarrollo”.

Ejemplo de uso

Para ejemplificar estos conceptos previos, agregue el siguiente producto:

El producto heddex.tranquility-theme

heddex.tranquility theme, es un tema se empaqueta como un paquete egg Python y en la página del producto en plone.org tiene buenas instrucciones de instalación. Esta documentación dice añadir el nombre de producto heddex.tranquility debajo de la directivas eggs y zcml en parte [buildout].

Antes de seguir seria bueno que entiendas que es buildout y sus hiervas, para esto recomiendo leer el manual sobre Gestión de proyectos con Buildout.

Para empezar, es una buena idea hacer una copia de seguridad del archivo original buildout.cfg, sólo en caso de que accidentalmente dañe la configuración respectivamente.

  1. Abra el archivo buildout.cfg en su editor de texto de elección.
  2. Buscar la sección etiquetada: [buildout].
  3. Buscar la linea que tenga la directiva: eggs =.
  4. Agregar “heddex.tranquility” por debajo de la lista de paquetes eggs, dejando cuatro espacios en blanco antes del nombre del paquete.
  5. Buscar la linea que tenga la directiva: zcml =.
  6. Agregar “heddex.tranquility” por debajo de esa línea, dejando cuatro espacios en blanco antes del nombre del paquete.
  7. Guarde su archivo de configuración buildout.cfg.
  8. Ejecute el script buildout, de la siguiente forma: ./bin/buildout -vN
  9. Inicie de nuevo Plone, de la siguiente forma: ./bin/instance fg.
  10. Abra el navegador web de su preferencia, acceda a su dirección del sitio Plone, por defecto es Agregar/Quitar Productos y justo al lado del producto heddex.tranquility y luego haga clic en el botón Instalar . Hasta este punto solo debe aparecer en la lista de los Productos instalados, si hasta este punto no ha cambiado la apariencia del sitio de Plone debe ir a la sección Configuración de Temas y cambiar el Tema predeterminado por el de su gusto.

Nota

Es necesario respetar los 4 espacios de izquierda a derecha como se describen a continuación:

eggs =
    heddex.tranquility
...
zcml =
    heddex.tranquility

Agregando un producto tradicional Zope 2

La forma más sencilla de probar un producto tradicional de Zope 2 es para extraerlo en dentro de la carpeta products/ de instalación. Si ves documentación referente a la carpeta Products/ en una instancia de Zope, esta es la misma cosa.

Sin embargo, este enfoque hace que sea más difícil para redistribuir su proyecto y compartirlo con otros desarrolladores. A menudo es más predecible dejar que buildout descargue e instale el paquete por usted. Puede hacer esto con la sección [productdistros] del archivo buildout.cfg.

...

[productdistros]
recipe = plone.recipe.distros
urls =
    http://plone.org/products/docfindertab/releases/1.0.4/Products.DocFinderTab-1.0.4.zip
    http://plone.org/products/windowz/releases/1.2/windowZ-1.2.tgz
nested-packages =
version-suffix-packages =

...

Este método también es conocido como “al viejo estilo de Zope” y la razón de este mecanismo es por que algunos productos no están aun empaquetado como paquetes eggs de Python. Estos productos necesitan ser instalados usando sus enlaces de descargas como se demostrado previamente. Su usted busca un producto que usted quiere usar que no este empaquetado como egg, usted necesita buscar el enlace de descargas en la página de productos en plone.org y coloque la dirección URL.

Agregando un paquete “desarrollo”

A veces usted tiene que existen algunos productos que no están empaquetados en egg ni al viejo estilo de Zope, pero estos están disponibles desde un repositorio de control de versiones como SVN, Git, o simplemente son varios productos locales en desarrollo. Usted puede hacer dos cosas para instalar entonces. Lo primero que hay que hacer es construirlo y colocarlo al directorio ./src/ de su instalación Plone. Esto también es muy útil cuando usted modifica un producto existente. Antes de ejecutar el comando buildout usted tiene que agregar los productos a las secciones eggs y zcml (si es necesario) de archivo buildout.cfg:

...
eggs  =
    ...
    canaima.aponwaotheme
    ...
zcml =
    ...
    canaima.aponwaotheme
    ...
develop =
    ...
    src/canaima.aponwaotheme
    ...

Luego ejecuta el siguiente comando dentro del directorio ./src/:

$ git clone git://gitorious.org/~macagua/canaima-aponwao-plone-theme/canaima-aponwaotheme.git canaima.aponwaotheme

Luego reconstruye el el sitio con el siguiente comando:

$ ./bin/buildout -vN

Este es un tema para Plone 3 y Plone 4 que aun esta en desarrollo:

Canaima Aponwao Theme

El paquete canaima.aponwaotheme, es un tema para sitios Plone 3.

Nota

Cabe destacar que ya existente extensiones de Buildout que gestión descargas desde repositorios de control de versiones como mr.developer y infrae.subversion que con unas simples configuraciones adicionales en tu archivo buildout.cfg puede automatizar la descarga de los códigos fuentes del los respectivos repositorios.

Algunos productos adicionales útiles

Una serie de productos útiles que sirven de ejemplo para poner en practica las configuraciones en su archivo buildout.cfg

Nota

Los tres puntos suspensivos ... son la indicar que tienes una serie de configuraciones antes o después de la sección, así que NO se copian ;)

Editor de texto enriquecido

Existe varios editores de texto enriquecido como TinyMCE y Products.FCKeditor, adicionalmente al editor por defecto que ofrece Plone como es Kupu.

Editor de texto enriquecido

TinyMCE
Products.FCKeditor

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    Products.FCKeditor
    Products.TinyMCE

Foros de discusión

Ploneboard, es uno de los más usados en la mayoría de sitios Plone. Si usted necesita realmente un foro avanzado usted más bien debe buscar fuera del sitio de Plone y tratarte de integrarlo a su sitio.

Foro de discusión con el producto Ploneboard

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    Products.Ploneboard

Calificaciones

plone.contentratings, es un producto que permite definir categorías de calificaciones, tipo de calificación y aplicarla a los diversos tipos de contenidos de tu sitio Plone. Un ejemplo del uso este sitio que usa este producto en la sección Editor’s rating la cual posee 4 categorías y el tipo de calificación esta basado por Estrellas.

eggs =
    ...
    plone.contentratings
    ...
zcml =
    ...
    plone.contentratings

Bitácoras

Yo he probado los productos Quills y Scrawl, el primero es muy parecido a las características que ofrece Wordpress y el segundo es muy minimalista.

Bitácoras/Blogs con el producto Quills
Bitácoras/Blogs con el producto Scrawl

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    Products.Quills
    Products.Scrawl

Sistema de noticias

Altamente recomendada es el producto Singing and Dancing.

Sistema de correo de noticias con el producto Singing and Dancing

Agregue la siguiente configuración del producto al archivo buildout.cfg

extends =
    ...
    https://svn.plone.org/svn/collective/collective.dancing/buildout-extends/0.9.0.cfg
    ...
[instance]
 ...
 eggs =
     ...
     collective.dancing
     ...
 zcml =
     ...
      collective.dancing
     ...

Etiquetas

quintagroup.portlet.cumulus, es un portlet de nubes de etiquetas que rotan usando una animación de Flash 3D.

Nube de etiquetas con el producto quintagroup.portlet.cumulus

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    quintagroup.portlet.cumulus
    ...
zcml =
    ...
    quintagroup.portlet.cumulus
    ...

Media

ATGoogleVideo, agrega un tipo de contenido que hace referencias a vídeos almacenados en Google Video o YouTube dentro de un sitio Plone

ATGoogleVideo

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    Products.ATGoogleVideo

Gallery portlet, un portlet para presentar galerías fotográficas.

portlet de Galería de imágenes Gallery portlet

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    se.portlet.gallery
zcml =
    ...
    se.portlet.gallery

plone.app.imaging, le habilita declarativamente definir adicionales tamaños de imágenes inicialmente generadas cuando usted agrega imágenes en su portal.

plone.app.imaging

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    plone.app.imaging
    ...
zcml =
    ...
    plone.app.imaging
    ...

Seguridad

Plone Captchas, agrega mecanismos de captcha para si sitio Plone.

eggs =
    ...
    quintagroup.plonecaptchas
    ...
zcml =
    ...
    quintagroup.plonecaptchas
    ...

Administración

Anonymous view, es bastante útil porque le permite a usted mostrar ciertas páginas que estarán disponibles a usuarios anónimos.

eggs =
    ...
    collective.anonymousview
    ...
zcml =
    ...
    collective.anonymousview
    ...

collective.uploadify, si usted le gustaría subir varios archivos de una ves usted tiene que instalarlo.

collective.uploadify

Agregue la siguiente configuración del producto al archivo buildout.cfg

eggs =
    ...
    collective.uploadify



Editar este documento

El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.

  1. Valla a Agregando módulos y complementos adicionales a Plone en GitHub.
  2. Presione el botón Fork. Este creara su propia copia personal de la documentación.
  3. Edite los archivos usando el editor de texto de GitHub desde su navegador Web
  4. Rellene en la caja de texto Commit message al final de la pagina indicando por que usted realizo estos cambios. Presione el botón Propose file change próximo a ese cuando allá finalizado.
  5. Luego diríjase a la página Send a pull request (no será necesario rellenar ningún texto adicional). Sólo tiene que pulsar el botón Send pull request.
  6. Sus cambios ahora sera consultados para un revisor dentro de la pestaña Pull requests del proyecto en Github.

Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.