Agregando complementos adicionales a Plone

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

Introducción

Una de las principales características de un Sistema de Gestión de Contenido es la modularización. Es decir, la posibilidad de agregación nueva funcionalidad mediante la instalación de módulos / componentes / complementos / plugins / adds-on construidos por comunidad de programadores que apoyan estas herramientas libre.

En Plone tiene un gran número de módulos para ampliar aún más sus funcionalidades, éstos se llaman Productos.

Nota

En Plone se utiliza el termino Producto a cualquier módulos / componentes / complementos que amplia las funcionalidades por defecto del CMS. La razón es la mayoría de los Productos son desarrollado por empresas de terceros que personalizan a Plone a nichos de mercado especifico y estas los liberan esos complementos para reutilizarlos por el resto de la comunidad de usuarios.

Con el objetivo de satisfacer las principales demandas de tus usuarios debe aprender a instalar, activar y configurar productos para que estén disponibles para habilitados en sus diversos sitios Plone que hospede en esa instalación.

Advertencia

Sin embargo, son productos de terceros, la fundación Plone no se responsable de los productos de terceros.

Productos adicionales

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.

Después de haber iniciado sesión de usuario, vaya a la opción Configuración del Sitio, en Plone 4 acceda al menú Personal en la esquina superior derecha con el nombre real o el nombre de usuario y luego hace clic en Configuración del sitio.

Configuración del sitio

Configuración del sitio

Truco

Para ver la lista de productos disponibles y usted debe ser el usuario Administrador del sitio Web y haber iniciado sesión de usuario.

En el panel Configuración del sitio, haga clic en el panel de control Complementos.

panel de control Complementos

Panel de control Complementos

Estando en la ruta Configuración del sitio ‣ Complementos, le aparecerá en la parte superior sección de Complementos disponibles a Activar en la siguiente pantalla:

Complementos disponibles a Activar

Complementos disponibles a Activar

Truco

Desde esa sección no se puede agregar nuevos productos a través de la Web, más allá de los que se enumeran en la página.

En la sección Complementos disponibles, seleccione las casillas de los productos deseados a utilizar en su sitio Web Plone y luego haga clic en el botón Activar, que se encuentra al final de los productos disponibles.

Los Complementos activos se enumeran en la sección ubicada al final de página. De forma predeterminada, todos los sitios cuentan con algunos productos ya instalados, como se muestra a continuación:

Complementos disponibles a Desactivar

Complementos disponibles a Desactivar

Para desactivar algún producto en especifico en el sitio Plone, seleccione la casilla al lado del producto que desea desactivar en la sección Complementos activos, y luego haga clic en el botón Desactivar.

Truco

Si necesita instalar la integración con LDAP por favor, no active el producto LDAP User Folder. Este producto es estándar para Plone, pero su instalación produce errores que impiden el acceso a la área administrativa del sitio.


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

Hay que entender varios conceptos antes de continuar tales como:

Tipos de productos

Teniendo en cuenta los conceptos previos, entonces existen muchos Productos distribuidos disponibles como Producto Zope o Producto Plone en formato 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 Diazo o Theme product.
  • Tipos de contenidos.
  • Portlets.
  • Plugin PAS.
  • Reglas de contenidos.
  • Enlaces de acción de contenido.
  • Contenido multimedia.
  • Herramientas para depuración y desarrollo.
  • Etc.

Recomendaciones para agregar productos

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

  1. 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”.

    Nota

    Hasta Marzo de 2015 hay más de 2188 proyectos de productos de terceros con 8030 publicaciones disponibles en el sitio Web de Plone.

  2. Si quiere gestionar con su buildout la instalación de los paquetes Egg puede usar como referencia el sitio Python Package Index (PyPI) seleccionar los nombres de paquetes Egg y agregarlo en la sección eggs y zcml respectivamente.

  3. Si no esta disponible ni Add-on Product Releases del sitio Plone.org ni en el sitio Python Package Index (PyPI), consulte los repositorios de código fuente Collective y gestionar la descarga del código fuente manualmente o automáticamente.

Funcionamiento

La herramienta zc.buildout funciona en base a los siguientes pasos ilustrados e descritos a continuación:

Como instalar Add-ons en Plone

Como instalar Add-ons en Plone

  1. Las configuraciones se efectúan en el archivo buildout.cfg.
  2. Luego de editar sus configuraciones ejecute el comando bin/buildout.
  3. Entonces zc.buildout consulta dentro Python Package Index para comprobar la existencia del paquetes a descargar.
  4. Descarga los paquetes Egg (archivos .egg / .tar.gz) y sus dependencias que estén publicados en PyPI.
  5. Finalmente se encarga de instalar como producto / paquete disponible para ser Activar / Desactivar en su Instancia de Zope en cualquier de sus sitios Plone.

Ejemplo de uso

Para ejemplificar estos conceptos previos, agregue el siguiente producto:

El producto plonetheme.onegov

El producto plonetheme.onegov

plonetheme.onegov, es un tema se distribuye 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 plonetheme.onegov debajo de la directivas eggs en parte [buildout].

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

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 plonetheme.onegov por debajo de la lista de paquetes Egg, dejando cuatro espacios en blanco antes del nombre del paquete.

    Truco

    En algunos paquetes Egg es necesario el nombre del paquete en la directiva: zcml =.

  5. Guarde su archivo de configuración buildout.cfg.

  6. Ejecute el comando buildout, de la siguiente forma: ./bin/buildout -vN.

  7. Inicie de nuevo Plone, de la siguiente forma: ./bin/instance fg.

  8. Ir a la Configuración del sitio al panel de control de Complementos y marque la casilla justo al lado del producto plonetheme.onegov y luego haga clic en el botón Activar.

  9. Hasta este punto solo debe aparecer en la lista de los Complementos activos, 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 =
    plonetheme.onegov

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 Git, SVN, 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.

Truco

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 https://github.com/CanaimaGNULinux/canaima.aponwaotheme.git

Truco

Repositorios Subversion

Debe realizar un comando 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”.

Luego reconstruye el el sitio con el siguiente comando:

$ ./bin/buildout -vN

Este es un tema para Plone el cual estas usando sus configuraciones para entornos de desarrollo:

El producto Canaima Aponwao Theme

El producto Canaima Aponwao Theme

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

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.

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 programadores. 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.

parts =
    productdistros

[productdistros]
recipe = plone.recipe.distros
urls =
    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 Egg 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.

Descarga código fuente

Usted puede obtener el código fuente usado en estas configuraciones buildout para este ejemplo, ejecutando el siguiente comando:

$ git clone https://github.com/plone-ve/plonedemos.suite.git

Luego de descargar este código fuente, es recomendable leer el archivo README.rst y siga las instrucciones descrita en ese archivo.

los comentarios son proporcionados por Disqus

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. Vaya hacia el articulo Agregando 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 haya 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 serán consultados por 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.