• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Curso Plone   Secundo Sesion
 

Curso Plone Secundo Sesion

on

  • 2,349 views

 

Statistics

Views

Total Views
2,349
Views on SlideShare
2,343
Embed Views
6

Actions

Likes
0
Downloads
45
Comments
0

1 Embed 6

http://www.slideshare.net 6

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Curso Plone   Secundo Sesion Curso Plone Secundo Sesion Presentation Transcript

    • Curso sobre Plone para las entidades gubernamentales
    • 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!
    • 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
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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 
    • 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!
    • 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
    • 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
    • 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
    • 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)
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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)
    • Recursos para Buildout  Más recursos sobre buildout  http://plone.org/countries/mx/buildout  http://plone.org/documentation/tutorial/buildout
    • 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)
    • 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”
    • 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
    • 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)
    • 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?
    • 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/
    • 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 = ...
    • 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
    • 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
    • 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
    • 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
    • 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'
    • 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
    • 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