Plone CMS en el Proyecto
   CANAIMA GNU/Linux

  “Experiencias reales hechas por
miembros comunitarios y través de la
        organización social”
Licencia


Copyright (c) 2010 Leonardo J. Caballero G.
Permission is granted to copy, distribute and/or modify
this document under the terms of the GNU Free
Documentation License, Version 1.2 or any later version
published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-
Cover Texts.   A copy of the license is included in the
section entitled "GNU Free Documentation License".
Agenda


¿Qué es Plone?, ¿Porque usar Plone?
Inicios del proyecto CANAIMA
Selección de plataformas
Plone como solución de CMS en CANAIMA GNU/Linux
Apropiación y transferencia tecnológica de Plone CMS.
Estado del arte actual.
Nuevas funcionalidades.
Próximas actividades, cayapas.
¿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.
• Es código abierto.
• Su nombre proviene de banda inglesa de musica, “The
 Plones”.
¿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.
Estado de Plone


• Versión 4,0, estable, liberada en 2010.

• Licencia: GNU General Public License (GPL).

• Es multiplataforma.

• Disponible en varios idiomas: inglés, español, entre

 otros.
¿Qué es Zope?


• Significa “Z Object Publishing Environment”
• Servidor de aplicaciones orientado a objetos.
• 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 con ZMI.
Zope Management Interface - ZMI
Zope Management Interface - 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.
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.

• Lo recomendado, es usar el Instalador Unificado y la

 herramienta buildout.
Tecnología de Plone


• Basado en el servidor de aplicaciones Zope.
• Extiende un producto de Zope llamado CMF (Content
 Management Framework).
• Desarrollado en el lenguaje Python.
• Amplia utilización de estándares, como XHTML y CSS.
Fuente: http://2007.oscms-summit.org/node/264




                                  Arquitectura de Plone
Usabilidad
Accesibilidad
Declaración de Accesibilidad



 “Nos hemos comprometido a utilizar nuestro
conocimiento y comprensión de las formas en que
distinta gente accede a Internet, para desarrollar
un sitio web que es claro y simple para que todo
              el mundo lo utilice”
Accesibilidad



• Plone cumple un nivel de accesibilidad AA de las
  Directrices de Accesibilidad para el Contenido Web
  del W3C-WAI en su versión 1.0. Para validaciones
  consulte http://www.tawdis.net/
• Soporte a aplicar contraste de colores para
  daltónicos(as).
Estándares
Estándares


• Soporte a Nivel de accesibilidad AA de las
 Directrices de Accesibilidad para el Contenido
 Web del W3C-WAI en su versión 1.0.
• Soporte a XHTML 1.0 y CSS valido, según lo
 indicado por el W3C.
• Soporte a Dublin Core como meta-etiquetas
 XHTML.
Seguridad
Problemas comunes de Seguridad

“Datos sin validar”

¿Cómo Plone lo soluciona?:
Los campos son validados
Problemas comunes de Seguridad

“Problemas de control de acceso”

¿Cómo Plone lo soluciona?:
Se basa en el modelo de seguridad de Zope.
ACL (Access Control List) y roles.
Seguridad basada en flujos de trabajos.
Perfiles predefinidos.
Problemas comunes de Seguridad

“Problemas de control de acceso”
Problemas comunes de Seguridad

“Problemas de control de acceso”
Problemas comunes de Seguridad

“Problemas de control de acceso”
Problemas comunes de Seguridad
Problemas comunes de Seguridad

“Problemas con el manejo de sesiones y autenticación”

¿Cómo Plone lo soluciona?:
Autenticación se realiza en su propia base de datos.
Utiliza hash SHA-1 para las contraseñas.
Autenticación externa, se genera una sesión cifrada.


“Código desde sitio remoto”

¿Cómo Plone lo soluciona?:

Filtros para que no pueda introducirse código malicioso.
Las operaciones con posibles riesgos se chequean de
manera extra.
Problemas comunes de Seguridad

“Inyección SQL”

¿Cómo Plone lo soluciona?:
Plone no usa SQL.
Si lo usara, la comunicación se realiza por medio de un
conector que neutraliza ataques de este tipo.

“Incorrecto manejo de errores”
¿Cómo Plone lo soluciona?:
Plone no le presenta al usuario información interna.
Los errores son registrados en los archivos logs.
Un código de error se le entrega al usuario final.
Problemas comunes de Seguridad

“Ataque de denegación de servicio”

¿Cómo Plone lo soluciona?:

Configuración común en producción: Servidor proxy.
Squid, Varnish, Apache.

“Configuración insegura”

¿Cómo Plone lo soluciona?:

Estricta seguridad por defecto.
Corre sin privilegios en el servidor.
Usuarios web no tienen acceso al sistema de archivo.
Reporte de errores criticos


• Conjunto de tecnologías Plone/Zope/Python:
  – Entradas CVE relacionadas con Plone: 10 (10)
  – Entradas CVE relacionadas con Zope: 19 (4)
  – Entradas CVE relacionadas con Python: 68 (46)

• Otras tecnologías basadas en PHP / Perl:
  – Entradas CVE relacionadas con Drupal: 197 (183)
  – Entradas CVE relacionadas con Joomla: 327 (314)
  – Entradas CVE relacionadas con MySQL: 233 (136)
  – Entradas CVE relacionadas con PostgreSQL: 66 (32)
  – Entradas CVE relacionadas con PHP: 9,989 (7,276)
  – Entradas CVE relacionadas con Perl: 2,544 (1,092)
Asistentes
Plone Form Generator
SQL Plone Form Generator Adapter
Workflowed
uwosh.northstar
 Generic Plone Content 
 Generic Plone Content 
 Generic Plone Content 
Desempeño
Fuera de la caja, Plone 4.0 sirvió 15.1 paginas/segundo. 




http://jstahl.org/archives/2010/01/19/plone­4­three­times­faster­than­drupal­joomla­or­wordpress/
Comparando las evaluaciones de la velocidad 
          entre Plone y Drupal




http://ccomb.gorfou.fr/2010/10/8/comparing­plone­and­drupal­speed­evolutions
WebGUI
Apropiación y transferencia tecnológica



Formación “Desarrollo en Plone”




     Sector Gobierno     Sector Gobierno   Sector Gobierno   Comunidades locales
http://canaima.softwarelibre.gob.ve/




  Realizado por Carlos D. Marrero
http://canaima.softwarelibre.gob.ve/




Mejoras realizadas por Leonardo J. Caballero G.
Propuesta por Luis A. Martinez F.
CANAIMA Aponwao
Cayapa
Evangelización, asesorías y talleres
Evangelización, asesorías y talleres

http://wiki.canaima.softwarelibre.gob.ve/wiki/index.php/Cayapa_plone
Propuesta por Xavier Arrague
http://canaima.softwarelibre.gob.ve/
http://gitorious.org/plataforma-canaima/sitio-web/
Soporte
Actores de la comunidad
¿Soporte local?




http://www.plone.org.ve/
Experiencias




Sector Gobierno   Sector Gobierno                        Sector Privado
                                      Sector Educativo




                                      Sector Privado
                  Sector Educativo
Sector Gobierno                                          Comunidades
                                                            locales




                   Sector Educativo   Sector Privado     Comunidades
Sector Gobierno                                             locales
http://comunidades.cenditel.gob.ve/
http://ocw.ucv.ve/
Sitio web actual del IUTE




http://www.iute.tec.ve/
Comunidades de usuarios de Plone


• Sitio Web
   – http://www.plone.org/
• Listas de correo con tráfico constante:
   – http://www.coactivate.org/projects/ploneve/lists
   – http://lists.plone.org/mailman/listinfo/plone-conosur
   – http://lists.sf.net/mailman/listinfo/plone-users
• Presencia mayor en IRC (Internet Relay Chat) en:
   – http://webchat.freenode.net/?channels=plone-conosur
   – http://webchat.freenode.net/?channels=plone
Comunidades de usuarios de Zope


• Sitio Web:
   – http://www.zope.org/
• Listas de correo con tráfico constante:
   – http://mail.zope.org/mailman/listinfo/zope
   – http://mail.zope.org/mailman/listinfo/zope-dev
• Presencia mayor en IRC (Internet Relay Chat) en:
   – http://webchat.freenode.net/?channels=zope
   – http://webchat.freenode.net/?channels=zope-es
Comunidades de usuarios de Python


Sitio Web
    – http://www.python.org/
Listas de correo con tráfico constante:
    – http://www.coactivate.org/projects/pyve/lists
    – http://mail.python.org/mailman/listinfo/python-list
Presencia mayor en IRC (Internet Relay Chat) en:
   – http://webchat.freenode.net/?channels=python-ve
   – http://webchat.freenode.net/?channels=python-es
¡Gracias por su atención!
      ¡Visita mis sitios Web!
    http://www.cenditel.gob.ve/
      http://www.plone.org.ve/
  http://lcaballero.wordpress.com/
  ¡Visita y descarga este trabajo!
http://www.slideshare.net/lcaballero/

            ¡Escribeme!
       lcaballero@cenditel.gob.ve
     leonardocaballero@gmail.com

Plone CMS en el Proyecto CANAIMA GNU/Linux

  • 1.
    Plone CMS enel Proyecto CANAIMA GNU/Linux “Experiencias reales hechas por miembros comunitarios y través de la organización social”
  • 2.
    Licencia Copyright (c) 2010Leonardo J. Caballero G. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back- Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
  • 3.
    Agenda ¿Qué es Plone?,¿Porque usar Plone? Inicios del proyecto CANAIMA Selección de plataformas Plone como solución de CMS en CANAIMA GNU/Linux Apropiación y transferencia tecnológica de Plone CMS. Estado del arte actual. Nuevas funcionalidades. Próximas actividades, cayapas.
  • 4.
    ¿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. • Es código abierto. • Su nombre proviene de banda inglesa de musica, “The Plones”.
  • 6.
    ¿Por qué usarPlone? • 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.
  • 7.
    Estado de Plone •Versión 4,0, estable, liberada en 2010. • Licencia: GNU General Public License (GPL). • Es multiplataforma. • Disponible en varios idiomas: inglés, español, entre otros.
  • 8.
    ¿Qué es Zope? •Significa “Z Object Publishing Environment” • Servidor de aplicaciones orientado a objetos. • 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 con ZMI.
  • 9.
  • 10.
    Zope Management Interface- 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.
  • 11.
    Instalación de Zopey 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. • Lo recomendado, es usar el Instalador Unificado y la herramienta buildout.
  • 12.
    Tecnología de Plone •Basado en el servidor de aplicaciones Zope. • Extiende un producto de Zope llamado CMF (Content Management Framework). • Desarrollado en el lenguaje Python. • Amplia utilización de estándares, como XHTML y CSS.
  • 13.
  • 14.
  • 19.
  • 20.
    Declaración de Accesibilidad “Nos hemos comprometido a utilizar nuestro conocimiento y comprensión de las formas en que distinta gente accede a Internet, para desarrollar un sitio web que es claro y simple para que todo el mundo lo utilice”
  • 21.
    Accesibilidad • Plone cumpleun nivel de accesibilidad AA de las Directrices de Accesibilidad para el Contenido Web del W3C-WAI en su versión 1.0. Para validaciones consulte http://www.tawdis.net/ • Soporte a aplicar contraste de colores para daltónicos(as).
  • 24.
  • 25.
    Estándares • Soporte aNivel de accesibilidad AA de las Directrices de Accesibilidad para el Contenido Web del W3C-WAI en su versión 1.0. • Soporte a XHTML 1.0 y CSS valido, según lo indicado por el W3C. • Soporte a Dublin Core como meta-etiquetas XHTML.
  • 26.
  • 27.
    Problemas comunes deSeguridad “Datos sin validar” ¿Cómo Plone lo soluciona?: Los campos son validados
  • 28.
    Problemas comunes deSeguridad “Problemas de control de acceso” ¿Cómo Plone lo soluciona?: Se basa en el modelo de seguridad de Zope. ACL (Access Control List) y roles. Seguridad basada en flujos de trabajos. Perfiles predefinidos.
  • 29.
    Problemas comunes deSeguridad “Problemas de control de acceso”
  • 30.
    Problemas comunes deSeguridad “Problemas de control de acceso”
  • 31.
    Problemas comunes deSeguridad “Problemas de control de acceso”
  • 32.
  • 33.
    Problemas comunes deSeguridad “Problemas con el manejo de sesiones y autenticación” ¿Cómo Plone lo soluciona?: Autenticación se realiza en su propia base de datos. Utiliza hash SHA-1 para las contraseñas. Autenticación externa, se genera una sesión cifrada. “Código desde sitio remoto” ¿Cómo Plone lo soluciona?: Filtros para que no pueda introducirse código malicioso. Las operaciones con posibles riesgos se chequean de manera extra.
  • 34.
    Problemas comunes deSeguridad “Inyección SQL” ¿Cómo Plone lo soluciona?: Plone no usa SQL. Si lo usara, la comunicación se realiza por medio de un conector que neutraliza ataques de este tipo. “Incorrecto manejo de errores” ¿Cómo Plone lo soluciona?: Plone no le presenta al usuario información interna. Los errores son registrados en los archivos logs. Un código de error se le entrega al usuario final.
  • 35.
    Problemas comunes deSeguridad “Ataque de denegación de servicio” ¿Cómo Plone lo soluciona?: Configuración común en producción: Servidor proxy. Squid, Varnish, Apache. “Configuración insegura” ¿Cómo Plone lo soluciona?: Estricta seguridad por defecto. Corre sin privilegios en el servidor. Usuarios web no tienen acceso al sistema de archivo.
  • 36.
    Reporte de errorescriticos • Conjunto de tecnologías Plone/Zope/Python: – Entradas CVE relacionadas con Plone: 10 (10) – Entradas CVE relacionadas con Zope: 19 (4) – Entradas CVE relacionadas con Python: 68 (46) • Otras tecnologías basadas en PHP / Perl: – Entradas CVE relacionadas con Drupal: 197 (183) – Entradas CVE relacionadas con Joomla: 327 (314) – Entradas CVE relacionadas con MySQL: 233 (136) – Entradas CVE relacionadas con PostgreSQL: 66 (32) – Entradas CVE relacionadas con PHP: 9,989 (7,276) – Entradas CVE relacionadas con Perl: 2,544 (1,092)
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
    Comparando las evaluaciones de la velocidad  entre Plone y Drupal http://ccomb.gorfou.fr/2010/10/8/comparing­plone­and­drupal­speed­evolutions
  • 49.
  • 50.
    Apropiación y transferenciatecnológica Formación “Desarrollo en Plone” Sector Gobierno Sector Gobierno Sector Gobierno Comunidades locales
  • 51.
  • 53.
  • 54.
    Propuesta por LuisA. Martinez F.
  • 55.
  • 56.
  • 57.
  • 58.
    Evangelización, asesorías ytalleres http://wiki.canaima.softwarelibre.gob.ve/wiki/index.php/Cayapa_plone
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
    Actores de lacomunidad
  • 64.
  • 65.
    Experiencias Sector Gobierno Sector Gobierno Sector Privado Sector Educativo Sector Privado Sector Educativo Sector Gobierno Comunidades locales Sector Educativo Sector Privado Comunidades Sector Gobierno locales
  • 66.
  • 67.
  • 68.
    Sitio web actualdel IUTE http://www.iute.tec.ve/
  • 69.
    Comunidades de usuariosde Plone • Sitio Web – http://www.plone.org/ • Listas de correo con tráfico constante: – http://www.coactivate.org/projects/ploneve/lists – http://lists.plone.org/mailman/listinfo/plone-conosur – http://lists.sf.net/mailman/listinfo/plone-users • Presencia mayor en IRC (Internet Relay Chat) en: – http://webchat.freenode.net/?channels=plone-conosur – http://webchat.freenode.net/?channels=plone
  • 70.
    Comunidades de usuariosde Zope • Sitio Web: – http://www.zope.org/ • Listas de correo con tráfico constante: – http://mail.zope.org/mailman/listinfo/zope – http://mail.zope.org/mailman/listinfo/zope-dev • Presencia mayor en IRC (Internet Relay Chat) en: – http://webchat.freenode.net/?channels=zope – http://webchat.freenode.net/?channels=zope-es
  • 71.
    Comunidades de usuariosde Python Sitio Web – http://www.python.org/ Listas de correo con tráfico constante: – http://www.coactivate.org/projects/pyve/lists – http://mail.python.org/mailman/listinfo/python-list Presencia mayor en IRC (Internet Relay Chat) en: – http://webchat.freenode.net/?channels=python-ve – http://webchat.freenode.net/?channels=python-es
  • 72.
    ¡Gracias por suatención! ¡Visita mis sitios Web! http://www.cenditel.gob.ve/ http://www.plone.org.ve/ http://lcaballero.wordpress.com/ ¡Visita y descarga este trabajo! http://www.slideshare.net/lcaballero/ ¡Escribeme! lcaballero@cenditel.gob.ve leonardocaballero@gmail.com