Plone

Plone
Información sobre la plantilla
Plone-logo-256.png
Sistema de gestión de contenidos
CreadorAlan Runyan, Alexander Limi, Vidar Andersen
Última versión estable3.3.5. 17 de marzo de 2010
GéneroCMS
Sistemas Operativos compatiblesMultiplataforma, Mac OS X, GNU/Linux, Windows, BSD, Solaris
Idioma60
LicenciaGPL
Sitio web
http://plone.org/

Plone. Es un sistema de gestión de contenidos o CMS por sus siglas en inglés (Content Management System), basado en Zope (que tiene miles de desarrolladores en todo el mundo) y programado en Python. Es un desarrollo basado en código abierto. Plone puede utilizarse para construir portales, sitios webs corporativos, sitios de noticias, servidor de extranet o intranet, como sistema de publicación, repositorio de documentos, herramienta colaborativa, comercio en línea entre otros.

Características

  • Producción muy rápida
  • Enfocado en los contenidos/documentos
  • La utilización adecuada de carpetas virtuales y "flujos de trabajo" le permiten adaptarse a múltiples funciones (p.ej, como CRM).
  • Entorno gráfico tipo "web".
  • Gestión de contenido deslocalizado
  • Edición de las páginas en tiempo real
  • Colaboración fácil
  • Localización de la interfaz en modo nativo
  • Uso limitado de las imágenes (con la utilización masiva de CSS)
  • Enfocado a la usabilidad
  • Apropiación de los usuarios estimulando la producción de contenidos
  • Gestión del histórico y de la anulación (undo)
  • Plantillas (templates) con estándares de la industria
  • Motor de búsqueda completo, indexación en tiempo real
  • Modulable, evolutivo y fácilmente personalizable
  • Motor de workflow integrado

Arquitectura abierta

Plone es construido sobre una arquitectura de componentes reutilizables. Más de 80 programadores han desarrollado 60 plug-ins para Plone. Numerosas extensiones (ArcheType por ejemplo) permiten desplegar los componentes de oficio específicos.

El modelo de desarrollo de Plone (Zope en realidad) sigue un diseño orientado a aspectos muy bien implementado. Esto posibilita que aspectos como la seguridad, la presentación, la gestión de errores, workflow o transacciones sean tratados "ortogonalmente" sin estorbarse. Incluso los mejores frameworks existentes hoy en día para Java (Spring) no consiguen una implementación tan limpia. El modelo de plantillas utilizado para la capa de presentación es también extraordinario y de hecho JSP copió varias ideas del diseño a la hora de crear los "taglib" para desarrollo web en Java .

Gran parte del mérito de Zope/Plone lo tuvo la arriesgada decisión de fundar los pilares de la aplicación en una base de datos de objetos enlazados (en contraposición a una base de datos relacional). Esta decisión a largo plazo se mostró altamente acertada y permite un desarrollo mucho más natural ya que el modelo relacional falla cuando el esquema es "difuso", algo común en un sistema documental donde el objeto base, el documento, no tiene un esquema sólido y definido. Para que todo pueda funcionar en la práctica se requería sin embargo un sistema de indexación muy potente para poder ejecutar búsquedas o recorrer la "red de objetos" rápidamente.

El sistema de indexación fue implementado de nuevo con gran éxito hasta el punto que el mismo permite hacer "búsquedas en tiempo real" aún en bases de datos con decenas de Gigabytes y crear carpetas inteligentes (búsquedas almacenadas que el usuario ve como una carpeta de contenido) con un tiempo de respuesta extremadamente rápido (décimas de segundo en bases de datos de más de un Giga).

El despliege de una aplicación Plone es fácil por la independencia al sistema operativo (Linux, Windows, Mac OS X, BSD, Solaris) y con scripts de instalaciones (Customization Policies) permitiendo el embalaje de la aplicación.

El motor de Flujo de trabajo (workflow) reproduce los procesos de oficio, permite los Flujos de trabajo en los documentos (Entity-based workflows) y en las acciones (Action-based workflows). Todos los elementos del sistema de información pueden tener flujo de trabajo, incluyendo los usuarios.

La integración a los sistemas existentes es fácil, ya sea la autentificación (LDAP, SQL, sistema operativo) o la salvaguardia de los datos (base de datos integrada o SGBD externa - PostgreSQL, Oracle, MS SQL, Sybase, MySQL).

Un sistema basado en los usuarios. El acento es puesto en una interfaz de usuarios agradable e intuitiva: numerosas pruebas de usabilidad fueron efectuados. Sobre el principio de la autentificación única del usuario, el usuario accede al conjunto de los servicios del sitio después de su identificación. Plone se centra en el contenido (o documento) como unidad central de trabajo ofreciendo una alta productividad a sus usuarios, que no se ven distraídos por menús y barras de herramientas "laberínticas" como en herramientas ofimáticas convencionales.

La interfaz de Plone es compatible con los estándares de CSS y de XHTML. EL uso intensivo de CSS permite de beneficiar de una interfaz ligera. En nativo, cada página del sitio es optimizada para la impresión. También cada página tiene su propio modo de visualización.

Sobre la seguridad, Plone pone a disposición de los usuarios roles y grupos con mucha flexibilidad. También es posible manejar localmente la seguridad y no solamente al nivel del conjunto del sistema. Es decir un usuario puede ser administrador de la zona "/financiero" al tiempo que sólo es miembro restringido de "/soporte".

Lenguajes usados

Plone es principalmente desarrollado en Python. Como siempre, se usan otros lenguajes en el proyecto. A continuación una tabla que resume los lenguajes usados en Plone, como esta aparece en el sitio de ohloh del proyecto Plone:

  • Python 58%
  • JavaScript 28%
  • XML 12%
  • Otros 2%

En la categoría de "Otros" se incluyen HTML, Perl, AWK, Make y otras más.

Fuentes

Enlaces externos