Introduccion a Plone y Zope
by
Carlos de la Guardia
—
last modified
Jul 27, 2009 07:29 AM
Presentación introductoria sobre Plone y las tecnologías utilizadas, como Zope y Python.
Qué es Plone
- Sistema de administración de contenido.
- Permite a usuarios no técnicos crear, editar y administrar un sitio web.
- Fácil de instalar y utilizar.
- Prácticamente listo para producción desde la instalación.
- Open Source.
Plone detrás de bambalinas
- Mantiene una presentación y navegación homogenea.
- Indexa automáticamente y permite búsquedas sobre el contenido.
- Maneja seguridad, usuarios y flujos de edición.
- Más...
Desarrollo de sitios web utilizando Plone
- Para desarrolladores ofrece una plataforma poderosa para crear aplicaciones orientadas a contenido.
- Para integradores permite fácil personalización y extensibilidad. Gran cantidad de productos de terceros disponibles.
Estado de Plone
- Versión 3.3 casi liberada (Agosto 2009).
- Muchos sitios aún utilizan 2.5 (liberada en Junio de 2006).
- Algunos productos de terceros para 2.5 no son directamente compatibles con 3.0.
- Versión actual es 3.2.3.
- 3.5 se espera en los próximos meses.
- Plone 4.0 a mediados de 2010.
Qué ofrece Plone
- LiveSearch.
- Soporta diversos idiomas.
- Publicación basada en fechas.
- Poderoso editor gráfico.
- URLs entendibles.
- Navegación flexible, mapas de sitio dinámicos.
- CSS y javascript comprimidos.
Qué ofrece Plone (2)
- Integración con herramientas de cacheo.
- Configuración de sitio exportable a XML.
- Flujos de publicación ajustables.
- Tipos de contenido bien definidos.
- Vistas variables para los tipos de contenido.
- Contenido fácilmente formateado para imprimir.
Qué hay de nuevo en Plone 3
- Versiones y copias de trabajo.
- Reglas de contenido.
- Mejoras en el editor visual.
- Nuevos flujos de publicación incluidos.
- Mejoras en la forma de compartir contenido.
- Colecciones.
- Edición "en el lugar".
Qué hay de nuevo en Plone 3 (2)
- Indexación de documentos Word y PDF.
- Nuevo mecanismo de autenticación.
- Revisión automática de integridad de ligas.
- Nuevo motor de portlets.
- Lock y unlock de contenido en edición.
- Modo de presentación.
Tecnología de Plone
- Basado en el servidor de aplicaciones conocido como Zope.
- Extiende un producto de Zope conocido como CMF (Content Management Framework).
- Desarrollado en el lenguaje Python.
- Amplia utilización de estándares, como XHTML y CSS.
Zope
- Servidor de aplicaciones orientado a objetos, Open Source.
- Utiliza el concepto de publicación de objetos.
- Larga historia, raíces desde 1995.
- Extensible a través de un mecanismo de productos (plug-ins).
- Administrable a través del web.
ZMI
- Interfaz de administración de Zope.
- Muchas de las opciones de configuración de Zope y Plone son a través de este mecanismo.
- Una de las grandes atracciones de Zope.
Tecnologías dentro de Zope
- Base de datos orientada a objetos (ZODB).
- Motor de búsqueda incluido (ZCatalog).
- Sistema de templates para HTML (ZPT).
- Modelo de seguridad por permisos y roles.
- Adaptadores para bases de datos relacionales.
- Adquisición de propiedades por niveles.
- Mapeo automático del request de HTTP a Python.
Arquitectura de Zope

ZODB
- Soporta transacciones, con control de concurrencia y resolución de conflictos.
- Subtransacciones.
- "Undo".
- Envuelve en una transacción a todos los participantes de un request, incluyendo llamadas a SQL.
- Optimizada para lectura.
- Escalabilidad con ZEO.
ZEO

Zope 3
- Nueva implementación de Zope 2, no compatible directamente.
- Intenta corregir errores y agregar lecciones aprendidas en 10 años de Zope 2.
- Utiliza una arquitectura de componentes.
- Para desarrolladores, conceptos mucho más formales y complicados que Zope 2.
- Incluido en Zope 2 como librerías a través de un producto llamado "five"
Estado de Zope
- Versión 2.10.6, liberada en 2008.
- Plone 2.5 no es compatible, requiere zope 2.9.8.
- Zope 3.4, liberado en 2008.
- Zope 2.11 ya está en desarrollo.
- Zope 3 se convierte en el Zope Tool Kit (ZTK).
- Múltiples versiones confunden a usuarios potenciales, pero Zope 2 seguirá por mucho tiempo.
Python
- Lenguaje orientado a objetos.
- Interpretado, dinámico.
- Sintaxis simple, fácil de aprender.
- Utiliza espacio para determinar flujo del programa.
- Librería estándar muy completa (baterías incluídas).
Estado de Python
- Versión actual, 2.6.2.
- Zope aún no es compatible, requiere 2.4.4 o superior.
- Versión 3.0 existe, pero rompe compatibilidad.
Mecanismos de desarrollo con Plone
- Personalización con CSS y configuraciones.
- Integración con productos de terceros.
- Personalización y adición de templates.
- Personalización y adición de scripts de Python.
- Productos de tipo skin.
- Creación de tipos con Archetypes y UML.
- Creación de tipos con Archetypes y Python.
- Desarrollo de productos con Python.
Comunidades de usuarios de Plone y Zope
- Sumamente activas.
- Listas de correo con tráfico constante: zope, zope-dev, plone-users.
- Presencia mayor en IRC (Internet Relay Chat) en #plone y #zope.
- Amigables y con gran nivel de respuesta, sobre todo la de Plone.
Instalación de Zope y Plone
- Binarios disponibles para Windows y Mac.
- Varias distribuciones de Linux incluyen paquetes.
- Para Linux o Unix, es más común compilar el propio.
- Para desarrollo, la tendecia nueva es utilizar buildout.
¿Por qué usar Plone?
- Uno de los CMS Open Source más populares
- Excelente plataforma para desarrollar aplicaciones de contenido
- En desarrollo constante y muy activo
- Comunidad abierta y muy participativa
- Respaldado por una fundación independiente