Curso sobre Plone

para las entidades gubernamentales
Sobre el Curso


    Presentación del grupo

    Objetivos de cada institución

    Presentación del contenido
     
 ...
Primer sesión


    Agenda de hoy
    
        La historia de Plone
    
        La comunidad: donde encontrar ayuda?
 ...
Historía de Zope y Plone


    Historia de Plone
     
         Su posición de “solo un otro CMS” en 2001 a uno de
     ...
Más sobre Zope


    Zope es un servidor de aplicaciones web escrito lenguaje de
    programación Python
     
         ...
Que es Zope?

    Otra iniciativa importante de la comunidad Python es WSGI (Python
    Web Services Gateway Interface)
 ...
Que es Plone?


    Plone es un sistema de gestión de contenidos (del inglés,
    CMS) que puede emplearse para construir...
La comunidad?


    Se dice que la comunidad Plone es activa?
    
        Varios nuevos productos cada semana
    
   ...
Manejo del proyecto


    Varios metodos
    
        Los proyectos Plone soportan frecuentemente
        principios Agi...
Requirimientos


    Recursos:
     
         http://plone.org/documentation/how-to/plone-system-requirements

    Soft...
Instalación de Plone


    Recursos y manuales:
    
        http://www.coactivate.org/projects/traducciones-plone/u
   ...
Plone Manualmente


    Manejo de Plone “manualmente”
    
        Los pasos para configurar un entorno de desarrollo:
 ...
Plone Manualmente

   Hacer este manualmente causa problemas:
       Lento para crear nuevos entornos de desarrollo
    ...
Buildout

   Opción preferida: Buildout
       Conjunto de partes y software para crear y
        ensamblar esas partes
...
La instalación con UnifiedInstaller


    Manual de instalación (en inglés)
    
        http://plone.org/documentation/...
UnifiedInstaller


    Unified Installer es un paquete para instalar Zope,
    Plone y Python
    
        También inclu...
UnifiedInstaller


    Zeo o Standalone?
    
        UnifiedInstaller ofrece dos diferentes tipos de
        instalacio...
Instalación


    Bajamos UnifiedInstaller
     
         tar -zxf Plone-3.VERSION-UnifiedInstaller.tar.gz
     
      ...
Más instancias de Zope

    Ubicación de la Instalación
    
        Si instalado con root, por defecto Zope root situa ...
Buildout


    Desde Plone 3.1 UnifiedInstaller utiliza Buildout
    por defecto

    Manejamos la configuración y insta...
buildout.cfg


    Contiene varias secciones
    
        [buildout]
                  
                      Opciones ...
buildout.cfg

   [productdistros]
      –   Manejo de productos Zope del estilo viejo - “old-style Zope products”
      –...
Buildout.cfg en práctica

   En terminos prácticos, más que todo se
    necesita modificar solo tres secciones en
    bui...
buildout.cfg


    Para implementar cualquier cambio que se ha
    hecho a buildout.cfg, es necesario correr
    buildout...
Las carpetas de Buildout


    ./bin/
     
         Script “instance” para iniciar / parar la instancia de Zope,
      ...
Las carpetas de Buildout


    ./products/
     
         Para instalar productos estilo Zope, se desempaca los
        ...
Recursos para Buildout


    Más recursos sobre buildout
    
        http://plone.org/countries/mx/buildout
    
     ...
Productos Adicionales

    Componentes reusables que aumentan los funciones de Plone
    Core
     
         Foros, gale...
Productos adicionales


    Se puede instalar productos a Plone con dos
    diferentes tecnologías
    
        “Old-sty...
Productos estilo Zope 2

   Productos de Zope 2 (hasta Plone 3 mayoría
    de los productos eran así)
       Se encuentr...
Python eggs


    Python eggs
    
        Paquetes de Python
                
                    Carpeta raíz tiene u...
Evaluación de Productos


    Como saber si el producto sirve?
    
        Cual es el estado? Release candidate, beta,
...
Evaluación de Productos


    Instalación
    
        Nunca debe instalar los productos directamente a
        una inst...
Instalación de un Skin

   Entramos a PYPI: http://pypi.python.org
   Buscamos a un producto que se llama
    Plonetheme...
Configuración del Sitio

   Para entrar a configuración del sitio
       http://localhost:8080/Plone/plone_control_panel...
Busqueda

   Entramos a Busqueda
   “Habilita la característica LiveSearch, que
    muestra resultados en tiempo real si...
Calendario y Correo

   Calendario
       Eligir el primer día de semana
       Y que estados de los elementos se muest...
Errores y Etiquetado

   Errores
       “Esta página lista las excepciones que han ocurrido
        en este sitio recien...
Filtrado HTML

   Se filtra las etiquetas de HTML que son
    consideradas como un riesgo de seguridad
   Debe cuidarse ...
ZMI y mantenimiento

   Interfaz de Administración de Zope
       La configuración de sitio desde Plone
                ...
Navegación

   Como se construye la navegación
   Generar pestañas automáticamente
   Generar pestañas para elementos q...
Upcoming SlideShare
Loading in …5
×

Curso Plone Secundo Sesion

1,765 views
1,725 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,765
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
48
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Curso Plone Secundo Sesion

  1. 1. Curso sobre Plone para las entidades gubernamentales
  2. 2. Sobre el Curso  Presentación del grupo  Objetivos de cada institución  Presentación del contenido  Temas grandes  Instalación de Zope y Plone, Configuración de Zope, Mantenimiento Zope y Plone, Seguridad (roles, permisos y flujo de trabajo, respaldos), Tipos de Contenido, Funciones adicionales  Agenda  Dos veces a la semana  Jueves y Viernes 2-5 PM  Manera del trabajo  Interactiva, hacemos ejercicios todo el tiempo desde... hoy!
  3. 3. Primer sesión  Agenda de hoy  La historia de Plone  La comunidad: donde encontrar ayuda?  La relación entre Plone y Zope  Los requirimientos del sistema o hardware  La instalación del sistema usando UnifiedInstaller y Buildout  Manejo de Plone a través de Buildout  Caracteristicas de buildout.cfg  Productos adicionales  Instalación de productos adicionales a través de buildout.cfg
  4. 4. Historía de Zope y Plone  Historia de Plone  Su posición de “solo un otro CMS” en 2001 a uno de los más serios en el mercado  Grande actualizacaión desde 2.5 a 3 en 2007  http://plone.org/countries/conosur/articulos/8-cosas-v  Ahora la ultima versión es 3.2.2  Grandes actualizaciones desde 2.1 (2005) y desde 2.5 (2006)  Todo empieza de Zope (el primer open-source “servidor de aplicaciones”)  Plone corre sobre Zope 2 a través de un marco (framework) de Zope = CMF (Content Management Framework)
  5. 5. Más sobre Zope  Zope es un servidor de aplicaciones web escrito lenguaje de programación Python  http://es.wikipedia.org/wiki/Zope  La última versión es Zope 3  Su objetivo es fomentar el desarrollo de pegueños y reutilizables componentes  A través de un código de integración se llama Five se puede usar Zope 3 componentes en Plone  Además de productos de Zope, la comunidad Python ha creado herramientas que usuarios de Zope estan adoptando  Lo más importante es “eggs” - manera para empacar, manejar y distribuir productos Python
  6. 6. Que es Zope?  Otra iniciativa importante de la comunidad Python es WSGI (Python Web Services Gateway Interface)  Para posiblitar que diferentes aplicaciones web pueden intercambiar  En el principio en 1999 Zope casi no tenía competención  La situación ha cambiado y se ha introducido por ejemplo  Ruby-on-Rails,  Django  TurboGears y Pylons  El desarrollo de Zope y Plone esta todo el tiempo afectado con otros iniciativas  Por ejemplo un servidor web Twisted utiliza zope.interface para su interfaz, y Zope 3 esta utilizando códigos de Twister para proveer soporte WSGI
  7. 7. Que es Plone?  Plone es un sistema de gestión de contenidos (del inglés, CMS) que puede emplearse para construir un sitio web  Empleando Plone, personas sin conocimientos de programación o sin ser expertos pueden contribuir al contenido de un sitio web.  Además se usa Plone para sitios de intranet y DMS (Sistema de Manejo de Documentos)  Los competidores de Plone son CMS de “upper-mid tier”  También tiene competencia entre los CMS comerciales como Microsoft Office Sharepoint Server
  8. 8. La comunidad?  Se dice que la comunidad Plone es activa?  Varios nuevos productos cada semana  Desarrollo del base de sistema avanzando todo el tiempo (ahora la versión actual es 3.3.1)  Próxima actualización grande: Plone 4 en el principio del año 2009  Es Plone para mi organización?  Apoyo para la evaluación:  http://plone.org/documentation/faq/is-plone-for-me  Plone entre otros CMS  http://www.idealware.org/comparing_os_cms/download.p
  9. 9. Manejo del proyecto  Varios metodos  Los proyectos Plone soportan frecuentemente principios Agile: prototipos rapidos y iteraciones cortos  Como un CMS Plone es rapido listo “out-of-the- box”, se puedo rapido mostrar algo para el cliente  Utilizando p.ej. un “issue tracker” Products.Poi se involucran clientes y usuarios finales al proyecto para reportar incidencias, errores y sugerencias durante el desarrollo
  10. 10. Requirimientos  Recursos:  http://plone.org/documentation/how-to/plone-system-requirements  Software  Sistema operativo  Windows XP, OSX 10.4, Linux 2.6.x  Python 2.4  Hardware  Mínimo:  256MB RAM, 512MB espacio swap  512MB espacio en el disco  Recomendable:  512MB RAM  2GB espacio en el disco
  11. 11. Instalación de Plone  Recursos y manuales:  http://www.coactivate.org/projects/traducciones-plone/u  http://labs.menttes.com/plone/material-de-charlas/zc-bu  http://plone.org/documentation/tutorial/installing-plone-3  http://plone.org/countries/mx/buildout  http://blog.jazkarta.com/2009/08/25/best-practices-in-de
  12. 12. Plone Manualmente  Manejo de Plone “manualmente”  Los pasos para configurar un entorno de desarrollo: • Descargar, compilar y instalar Zope • Crear una instancia Zope y configurarla • Descargar y instalar Plone • Instalar productos y eggs adicionales • Agregar a la instancia productos que estoy desarrollando
  13. 13. Plone Manualmente  Hacer este manualmente causa problemas:  Lento para crear nuevos entornos de desarrollo  Cada desarrollador hace su propio entorno: diferencias en las configuraciones pueden desembocar en errores  Implementar actualizaciones y manejar dependencias de los productos adicionales lento  TODO ESTE SE PUEDE HACER AUTOMATICALMENTE CON BUILDOUT 
  14. 14. Buildout  Opción preferida: Buildout  Conjunto de partes y software para crear y ensamblar esas partes  Colección de configuraciones y aplicaciones específicas  Sistema de Python Eggs (productos adicionales) y setuptools para manejar la configuración de Zope & Plone  Manejo de configuración y paquetes adicionales desde solo un fichero de texto  Pero antes de Buildout... instalamos Zope y Plone!
  15. 15. La instalación con UnifiedInstaller  Manual de instalación (en inglés)  http://plone.org/documentation/tutorial/installing-plone-3  Root vs. User instalación  Root: instalación (preferible para producción)  /usr/local/Plone  Se crea un usuario “plone”, poner el como un dueño de los ficheros, y configura para que Zope corre como un usuario “plone”  User: instalación  Instalación $HOME/Plone  Zope corre como un usuario quien ha hecho la instalación
  16. 16. UnifiedInstaller  Unified Installer es un paquete para instalar Zope, Plone y Python  También incluye un script de instalación que fomenta las buenas prácticas según la comunidad Plone  En caso de las problemas, si se ha usado Unified Installer es más probable encontrar solución del foro de discusió  Instrucciones para la instalación:  http://tinyurl.com/yj3rlmr
  17. 17. UnifiedInstaller  Zeo o Standalone?  UnifiedInstaller ofrece dos diferentes tipos de instalaciones  ZEO (Zope Enterprise Objects)  Puede tener varios procesos de clientes de Zope cuales comparten el mismo base de datos  Standalone  Más facil para implementar, integrar y controlar. La opción mejor para ambiente de pruebas y sitios que son muy grandes  Correr UnifiedInstaller  Requirimientos: gcc (GNU Compiler Collection), g++ (C++ extensions para gcc), GNU Make, GNU tar, bzip2 y gzip para compresión
  18. 18. Instalación  Bajamos UnifiedInstaller  tar -zxf Plone-3.VERSION-UnifiedInstaller.tar.gz  cd Plone-3.VERSION-UnifiedInstaller  ./install.sh standalone  Después de la instalación se muestra instrucciones para iniciar Plone  Contraseña temporal de Admin situa el fichero adminPassword  Problemas para iniciar Zope son raras  Muchas veces la problema es que un otro proceso esta ocupando el puerto 8080 que Zope utiliza por defecto  Si todo fue bien se puede acceder:  http://localhost:8080 : mensaje de bienvenida  http://localhost:8080/Plone : sitio Plone  http://localhost:8080/manage : interfaz del administrador para Zope (busca la contraseña en el archivo adminPassword.txt)
  19. 19. Más instancias de Zope  Ubicación de la Instalación  Si instalado con root, por defecto Zope root situa en • /usr/local/Plone/  Instancia de Zope por defecto situa en • /usr/local/Plone/zinstance/  Para cambiarla: ./install.sh target=UBICACION  Como crear nuevas instancias?  ./install.sh standalone – instance=INSTANCIA_NOMBRE  Cada instancia de Zope necesita un propio puerto  Cambiar el puerto y muchas otros configuraciones: a través de buildout.cfg
  20. 20. Buildout  Desde Plone 3.1 UnifiedInstaller utiliza Buildout por defecto  Manejamos la configuración y instalación automaticalmente usando  Fichero de configuración: buildout.cfg (situa en la raíz de nuestra instancia, por defecto la carpeta llama zinstance)  Un script para construir la instancia según la información encontrado en dicho fichero de configuración: bin/buildout
  21. 21. buildout.cfg  Contiene varias secciones  [buildout]  Opciones para todo el buildout  Parts: se escribe los siguientes partes del buildout.cfg  Find-links: se puede definir enlaces a los diferentes repositorios para los eggs (por defecto se siempre busca tambien pypi)  extends = http://dist.plone.org/release/3.3/versions.cfg  Eggs: Python eggs (productos adicionales) que se instala – sqlalchemy>=0.3,<0.4dev  [zope2]  Descarga el base de Zope / Plone  Instalar una versión especifica:  recipe = plone.recipe.plone==3.0.1
  22. 22. buildout.cfg  [productdistros] – Manejo de productos Zope del estilo viejo - “old-style Zope products” – urls = http://example.com/dist/ExampleProduct-1.0.tgz – Nested packaged = ExampleProductBundle-1.0.tgz – Version-suffix-packages = AnotherExampleProduct-2.0.tgz  [instance]  Crea nueva instancia de Zope, y define configuraciones de el  Recipe = plone.recipe.zope2instance
  23. 23. Buildout.cfg en práctica  En terminos prácticos, más que todo se necesita modificar solo tres secciones en buildout.cfg  [buildlout]  eggs = instalar Python eggs  [productdistros]  urls = instalar Zope 2 productos  [instance]  zcml = información de configuración de Python eggs
  24. 24. buildout.cfg  Para implementar cualquier cambio que se ha hecho a buildout.cfg, es necesario correr buildout en otra vez – bin/buildout – Por defecto hay que correr el script buildout en la carpeta zinstance (esta buscando buildout.cfg en la carpeta actual) – Más información sobre los opciones para el script buildout: buildout --help
  25. 25. Las carpetas de Buildout  ./bin/  Script “instance” para iniciar / parar la instancia de Zope, zopepy interpreter para hacer debug, y buildout  ./eggs/  Paquetes eggs que buildout ha descargado automaticalmente  ./develop-eggs/  Espceficación de los eggs que se estan desarrollando, se los definen en buildout.cfg  ./downloads/  Ciertos recetas definido en buildout.cfg crear esta carpeta y trae los productos automaticalmente de los repositorios
  26. 26. Las carpetas de Buildout  ./products/  Para instalar productos estilo Zope, se desempaca los paquetes en esta carpeta y recorre buildout  ./src/  Codígo fuente de los paquetes customizados  ./var/  Base de Datos (data.fs), logs  ./parts/  Una area manejado automaticalmente por Buildout  No debería hacer cambios a esta carpeta (buildout sobreescribe mayoría del contenido siempre cuando se lo recorre)
  27. 27. Recursos para Buildout  Más recursos sobre buildout  http://plone.org/countries/mx/buildout  http://plone.org/documentation/tutorial/buildout
  28. 28. Productos Adicionales  Componentes reusables que aumentan los funciones de Plone Core  Foros, galerias, blogs, herramientas de integración de base de datos, sistemas de contactos y formularios, etc. etc.  Repositorios y directorios para  www.plone.org/products  www.contentmanagementsoftware.info  Python Package Index: http://pypi.python.org  El desarrollo relativamente activa  14.-15.9.2009 10 nuevos productos adicionales (en total plone.org/products esta listando 3000 productos)
  29. 29. Productos adicionales  Se puede instalar productos a Plone con dos diferentes tecnologías  “Old-style Zope 2 Products”  Python eggs  Cuando Zope encuentra un producto, se lo agrega a ZMI Control_Panel/Products  Los productos instalados a Zope son disponibles para instalar en Plone a través de “Site setup” o “Configuración del sitio”
  30. 30. Productos estilo Zope 2  Productos de Zope 2 (hasta Plone 3 mayoría de los productos eran así)  Se encuentran en paquetes de .tar.gz o .zip  Instalación:  Agrega el URL del paquete a buildout.cfg (productdistros - urls)  desempaca el archivo a la carpeta /INSTANCE_HOME/Products/  Reinicia Zope y instala el producto a través de Configuración de Plone
  31. 31. Python eggs  Python eggs  Paquetes de Python  Carpeta raíz tiene un fichero setup.py  Nombre de productos es “namespace”.”nombreDeProducto”,  p.ej. plonetheme.mytheme  Productos creados por Paster  Cheese Shop: Indicé de paquetes de Python (repositorio central) (estilo p.ej. Dpgk de Debian)
  32. 32. Evaluación de Productos  Como saber si el producto sirve?  Cual es el estado? Release candidate, beta, alfa...??  Cual es el ciclo de actualizaciones? Cuando fue la ultima actualización?  Ver discusión en el foro de discusión  Se puede encontrar problemas que usuarios han tenido?  Existe documentación?
  33. 33. Evaluación de Productos  Instalación  Nunca debe instalar los productos directamente a una instancia de Zope en producción  Aún después probando que todo funciona en una instancia de desarrollo:  Siempre debe tomar un respaldo de Data.fs  Prueba de instalar un skin  http://plone.org/products/plonetheme-stylized/
  34. 34. Instalación de un Skin  Entramos a PYPI: http://pypi.python.org  Buscamos a un producto que se llama Plonetheme.Stylized  Veremos las instrucciones para la instalación  Entramos a buildout.cfg  Entramos la información necesario a sus propios lugares  [buildout] eggs = ...  [instance] zcml = ...
  35. 35. Configuración del Sitio  Para entrar a configuración del sitio  http://localhost:8080/Plone/plone_control_panel  O a través del enlace “Site Setup” o “Configuración del sitio”  Primero cambiamos la lengua:  Entra a Language  Elige Spanish  Haga clic en Save
  36. 36. Busqueda  Entramos a Busqueda  “Habilita la característica LiveSearch, que muestra resultados en tiempo real si el navegador soporta JavaScript.”  Opciones para eligir que tipos de contenido se muestra en los resultados del busqueda  Se puede agregar nuevos tipos de contenido  Productos adicionales frecuentemente tiene sus propios tipos
  37. 37. Calendario y Correo  Calendario  Eligir el primer día de semana  Y que estados de los elementos se muestra en el calendario  Correo  Indica Servidor SMTP  Puerto, Usuario, contraseña  Nombre y dirección del remitente  El formulario general de contacto envia correos a esta dirección
  38. 38. Errores y Etiquetado  Errores  “Esta página lista las excepciones que han ocurrido en este sitio recientemente. Puede configurar cuántas excepciones deberían guardarse y cuáles deberían ser copiadas al/a los archivo(s) de eventos de Zope.”  Enlaces a los error logs  Decidir que tipo de etiquetado (o markup) los usuarios pueden utilizar  Permite / prohibe el comportamiento wiki
  39. 39. Filtrado HTML  Se filtra las etiquetas de HTML que son consideradas como un riesgo de seguridad  Debe cuidarse en haciendo cambios  Por defecto, sólo están permitidas las etiquetas definidas en XHTML  En particular, para permitir 'embed' como etiqueta debe de eliminarla de 'Etiquetas no deseadas' y agregarla como 'Etiquetas personalizadas'
  40. 40. ZMI y mantenimiento  Interfaz de Administración de Zope  La configuración de sitio desde Plone  Por ejemplo, cambios a flujo de trabajo, CSS, xhtml / page templates, vistas  Mantenimiento  Cerrar / reiniciar el servidor Zope  Tamaño de base de datos  Días del histórico de un objeto a mantener tras la compactación
  41. 41. Navegación  Como se construye la navegación  Generar pestañas automáticamente  Generar pestañas para elementos que no sean carpetas  Tipo de contenido mostrados  Que tipos de contenido mostramos en la navegación  Filtro sobre el estado del flujo de trabajo

×